]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-28561.rs
Auto merge of #54624 - arielb1:evaluate-outlives, r=nikomatsakis
[rust.git] / src / test / ui / issues / issue-28561.rs
1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // compile-pass
12 #[derive(Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
13 struct Array<T> {
14     f00: [T; 00],
15     f01: [T; 01],
16     f02: [T; 02],
17     f03: [T; 03],
18     f04: [T; 04],
19     f05: [T; 05],
20     f06: [T; 06],
21     f07: [T; 07],
22     f08: [T; 08],
23     f09: [T; 09],
24     f10: [T; 10],
25     f11: [T; 11],
26     f12: [T; 12],
27     f13: [T; 13],
28     f14: [T; 14],
29     f15: [T; 15],
30     f16: [T; 16],
31     f17: [T; 17],
32     f18: [T; 18],
33     f19: [T; 19],
34     f20: [T; 20],
35     f21: [T; 21],
36     f22: [T; 22],
37     f23: [T; 23],
38     f24: [T; 24],
39     f25: [T; 25],
40     f26: [T; 26],
41     f27: [T; 27],
42     f28: [T; 28],
43     f29: [T; 29],
44     f30: [T; 30],
45     f31: [T; 31],
46     f32: [T; 32],
47 }
48
49 // FIXME(#44580): merge with `Array` once `[T; N]: Clone` where `T: Clone`
50 #[derive(Clone, Copy)]
51 struct CopyArray<T: Copy> {
52     f00: [T; 00],
53     f01: [T; 01],
54     f02: [T; 02],
55     f03: [T; 03],
56     f04: [T; 04],
57     f05: [T; 05],
58     f06: [T; 06],
59     f07: [T; 07],
60     f08: [T; 08],
61     f09: [T; 09],
62     f10: [T; 10],
63     f11: [T; 11],
64     f12: [T; 12],
65     f13: [T; 13],
66     f14: [T; 14],
67     f15: [T; 15],
68     f16: [T; 16],
69     f17: [T; 17],
70     f18: [T; 18],
71     f19: [T; 19],
72     f20: [T; 20],
73     f21: [T; 21],
74     f22: [T; 22],
75     f23: [T; 23],
76     f24: [T; 24],
77     f25: [T; 25],
78     f26: [T; 26],
79     f27: [T; 27],
80     f28: [T; 28],
81     f29: [T; 29],
82     f30: [T; 30],
83     f31: [T; 31],
84     f32: [T; 32],
85 }
86
87 #[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
88 struct Fn<A, B, C, D, E, F, G, H, I, J, K, L> {
89     f00: fn(),
90     f01: fn(A),
91     f02: fn(A, B),
92     f03: fn(A, B, C),
93     f04: fn(A, B, C, D),
94     f05: fn(A, B, C, D, E),
95     f06: fn(A, B, C, D, E, F),
96     f07: fn(A, B, C, D, E, F, G),
97     f08: fn(A, B, C, D, E, F, G, H),
98     f09: fn(A, B, C, D, E, F, G, H, I),
99     f10: fn(A, B, C, D, E, F, G, H, I, J),
100     f11: fn(A, B, C, D, E, F, G, H, I, J, K),
101     f12: fn(A, B, C, D, E, F, G, H, I, J, K, L),
102 }
103
104 #[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
105 struct Tuple<A, B, C, D, E, F, G, H, I, J, K, L> {
106     f00: (),
107     f01: (A),
108     f02: (A, B),
109     f03: (A, B, C),
110     f04: (A, B, C, D),
111     f05: (A, B, C, D, E),
112     f06: (A, B, C, D, E, F),
113     f07: (A, B, C, D, E, F, G),
114     f08: (A, B, C, D, E, F, G, H),
115     f09: (A, B, C, D, E, F, G, H, I),
116     f10: (A, B, C, D, E, F, G, H, I, J),
117     f11: (A, B, C, D, E, F, G, H, I, J, K),
118     f12: (A, B, C, D, E, F, G, H, I, J, K, L),
119 }
120
121 fn main() {}