blob: 772625fb53e94ff17ce4d6c8efdbf3697ef78509 [file] [log] [blame]
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#[cfg(feature = "use_core")]
extern crate core;
#[macro_use]
extern crate derivative;
#[derive(Derivative)]
#[derivative(Debug, Default, Eq, Hash, PartialEq)]
// TODO: Ord, PartialOrd
struct Array<T> {
f00: [T; 00],
f01: [T; 01],
f02: [T; 02],
f03: [T; 03],
f04: [T; 04],
f05: [T; 05],
f06: [T; 06],
f07: [T; 07],
f08: [T; 08],
f09: [T; 09],
f10: [T; 10],
f11: [T; 11],
f12: [T; 12],
f13: [T; 13],
f14: [T; 14],
f15: [T; 15],
f16: [T; 16],
f17: [T; 17],
f18: [T; 18],
f19: [T; 19],
f20: [T; 20],
f21: [T; 21],
f22: [T; 22],
f23: [T; 23],
f24: [T; 24],
f25: [T; 25],
f26: [T; 26],
f27: [T; 27],
f28: [T; 28],
f29: [T; 29],
f30: [T; 30],
f31: [T; 31],
f32: [T; 32],
}
// FIXME(#7622): merge with `Array` once `[T; N]: Clone` where `T: Clone`
#[derive(Derivative)]
#[derivative(Clone, Copy)]
struct CopyArray<T: Copy> {
f00: [T; 00],
f01: [T; 01],
f02: [T; 02],
f03: [T; 03],
f04: [T; 04],
f05: [T; 05],
f06: [T; 06],
f07: [T; 07],
f08: [T; 08],
f09: [T; 09],
f10: [T; 10],
f11: [T; 11],
f12: [T; 12],
f13: [T; 13],
f14: [T; 14],
f15: [T; 15],
f16: [T; 16],
f17: [T; 17],
f18: [T; 18],
f19: [T; 19],
f20: [T; 20],
f21: [T; 21],
f22: [T; 22],
f23: [T; 23],
f24: [T; 24],
f25: [T; 25],
f26: [T; 26],
f27: [T; 27],
f28: [T; 28],
f29: [T; 29],
f30: [T; 30],
f31: [T; 31],
f32: [T; 32],
}
#[derive(Derivative)]
#[derivative(Clone, Copy, Debug, Eq, Hash, PartialEq)]
// TODO: Ord, PartialOrd
struct Fn<A, B, C, D, E, F, G, H, I, J, K, L> {
f00: fn(),
f01: fn(A),
f02: fn(A, B),
f03: fn(A, B, C),
f04: fn(A, B, C, D),
f05: fn(A, B, C, D, E),
f06: fn(A, B, C, D, E, F),
f07: fn(A, B, C, D, E, F, G),
f08: fn(A, B, C, D, E, F, G, H),
f09: fn(A, B, C, D, E, F, G, H, I),
f10: fn(A, B, C, D, E, F, G, H, I, J),
f11: fn(A, B, C, D, E, F, G, H, I, J, K),
f12: fn(A, B, C, D, E, F, G, H, I, J, K, L),
}
#[derive(Derivative)]
#[derivative(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
// TODO: Ord, PartialOrd
struct Tuple<A, B, C, D, E, F, G, H, I, J, K, L> {
f00: (),
f01: (A,),
f02: (A, B),
f03: (A, B, C),
f04: (A, B, C, D),
f05: (A, B, C, D, E),
f06: (A, B, C, D, E, F),
f07: (A, B, C, D, E, F, G),
f08: (A, B, C, D, E, F, G, H),
f09: (A, B, C, D, E, F, G, H, I),
f10: (A, B, C, D, E, F, G, H, I, J),
f11: (A, B, C, D, E, F, G, H, I, J, K),
f12: (A, B, C, D, E, F, G, H, I, J, K, L),
}
#[test]
fn main() {}