2 // ignore-compare-mode-nll
4 #![feature(const_in_array_repeat_expressions, nll)]
6 // Some type that is not copyable.
12 fn no_impl_copy_empty_value_no_elements() {
13 const FOO: Option<Bar> = None;
14 const ARR: [Option<Bar>; 0] = [FOO; 0];
17 fn no_impl_copy_empty_value_single_element() {
18 const FOO: Option<Bar> = None;
19 const ARR: [Option<Bar>; 1] = [FOO; 1];
22 fn no_impl_copy_empty_value_multiple_elements() {
23 const FOO: Option<Bar> = None;
24 const ARR: [Option<Bar>; 2] = [FOO; 2];
27 fn no_impl_copy_value_no_elements() {
28 const FOO: Option<Bar> = Some(Bar);
29 const ARR: [Option<Bar>; 0] = [FOO; 0];
32 fn no_impl_copy_value_single_element() {
33 const FOO: Option<Bar> = Some(Bar);
34 const ARR: [Option<Bar>; 1] = [FOO; 1];
37 fn no_impl_copy_value_multiple_elements() {
38 const FOO: Option<Bar> = Some(Bar);
39 const ARR: [Option<Bar>; 2] = [FOO; 2];
42 fn impl_copy_empty_value_no_elements() {
43 const FOO: Option<u32> = None;
44 const ARR: [Option<u32>; 0] = [FOO; 0];
47 fn impl_copy_empty_value_one_element() {
48 const FOO: Option<u32> = None;
49 const ARR: [Option<u32>; 1] = [FOO; 1];
52 fn impl_copy_empty_value_multiple_elements() {
53 const FOO: Option<u32> = None;
54 const ARR: [Option<u32>; 2] = [FOO; 2];
57 fn impl_copy_value_no_elements() {
58 const FOO: Option<u32> = Some(4);
59 const ARR: [Option<u32>; 0] = [FOO; 0];
62 fn impl_copy_value_one_element() {
63 const FOO: Option<u32> = Some(4);
64 const ARR: [Option<u32>; 1] = [FOO; 1];
67 fn impl_copy_value_multiple_elements() {
68 const FOO: Option<u32> = Some(4);
69 const ARR: [Option<u32>; 2] = [FOO; 2];
76 fn no_impl_copy_empty_value_no_elements() {
78 let arr: [Option<Bar>; 0] = [x; 0];
81 fn no_impl_copy_empty_value_single_element() {
83 let arr: [Option<Bar>; 1] = [x; 1];
86 fn no_impl_copy_value_no_elements() {
88 let arr: [Option<Bar>; 0] = [x; 0];
91 fn no_impl_copy_value_single_element() {
93 let arr: [Option<Bar>; 1] = [x; 1];
96 fn impl_copy_empty_value_no_elements() {
97 let x: Option<u32> = None;
98 let arr: [Option<u32>; 0] = [x; 0];
101 fn impl_copy_empty_value_one_element() {
102 let x: Option<u32> = None;
103 let arr: [Option<u32>; 1] = [x; 1];
106 fn impl_copy_empty_value_multiple_elements() {
107 let x: Option<u32> = None;
108 let arr: [Option<u32>; 2] = [x; 2];
111 fn impl_copy_value_no_elements() {
112 let x: Option<u32> = Some(4);
113 let arr: [Option<u32>; 0] = [x; 0];
116 fn impl_copy_value_one_element() {
117 let x: Option<u32> = Some(4);
118 let arr: [Option<u32>; 1] = [x; 1];
121 fn impl_copy_value_multiple_elements() {
122 let x: Option<u32> = Some(4);
123 let arr: [Option<u32>; 2] = [x; 2];