2 // compile-flags: -Z borrowck=migrate
3 // ignore-compare-mode-nll
4 #![feature(const_in_array_repeat_expressions)]
7 // Some type that is not copyable.
13 fn no_impl_copy_empty_value_no_elements() {
14 const FOO: Option<Bar> = None;
15 const ARR: [Option<Bar>; 0] = [FOO; 0];
18 fn no_impl_copy_empty_value_single_element() {
19 const FOO: Option<Bar> = None;
20 const ARR: [Option<Bar>; 1] = [FOO; 1];
23 fn no_impl_copy_empty_value_multiple_elements() {
24 const FOO: Option<Bar> = None;
25 const ARR: [Option<Bar>; 2] = [FOO; 2];
28 fn no_impl_copy_value_no_elements() {
29 const FOO: Option<Bar> = Some(Bar);
30 const ARR: [Option<Bar>; 0] = [FOO; 0];
33 fn no_impl_copy_value_single_element() {
34 const FOO: Option<Bar> = Some(Bar);
35 const ARR: [Option<Bar>; 1] = [FOO; 1];
38 fn no_impl_copy_value_multiple_elements() {
39 const FOO: Option<Bar> = Some(Bar);
40 const ARR: [Option<Bar>; 2] = [FOO; 2];
43 fn impl_copy_empty_value_no_elements() {
44 const FOO: Option<u32> = None;
45 const ARR: [Option<u32>; 0] = [FOO; 0];
48 fn impl_copy_empty_value_one_element() {
49 const FOO: Option<u32> = None;
50 const ARR: [Option<u32>; 1] = [FOO; 1];
53 fn impl_copy_empty_value_multiple_elements() {
54 const FOO: Option<u32> = None;
55 const ARR: [Option<u32>; 2] = [FOO; 2];
58 fn impl_copy_value_no_elements() {
59 const FOO: Option<u32> = Some(4);
60 const ARR: [Option<u32>; 0] = [FOO; 0];
63 fn impl_copy_value_one_element() {
64 const FOO: Option<u32> = Some(4);
65 const ARR: [Option<u32>; 1] = [FOO; 1];
68 fn impl_copy_value_multiple_elements() {
69 const FOO: Option<u32> = Some(4);
70 const ARR: [Option<u32>; 2] = [FOO; 2];
77 fn no_impl_copy_empty_value_no_elements() {
79 let arr: [Option<Bar>; 0] = [x; 0];
82 fn no_impl_copy_empty_value_single_element() {
84 let arr: [Option<Bar>; 1] = [x; 1];
87 fn no_impl_copy_value_no_elements() {
89 let arr: [Option<Bar>; 0] = [x; 0];
92 fn no_impl_copy_value_single_element() {
94 let arr: [Option<Bar>; 1] = [x; 1];
97 fn impl_copy_empty_value_no_elements() {
98 let x: Option<u32> = None;
99 let arr: [Option<u32>; 0] = [x; 0];
102 fn impl_copy_empty_value_one_element() {
103 let x: Option<u32> = None;
104 let arr: [Option<u32>; 1] = [x; 1];
107 fn impl_copy_empty_value_multiple_elements() {
108 let x: Option<u32> = None;
109 let arr: [Option<u32>; 2] = [x; 2];
112 fn impl_copy_value_no_elements() {
113 let x: Option<u32> = Some(4);
114 let arr: [Option<u32>; 0] = [x; 0];
117 fn impl_copy_value_one_element() {
118 let x: Option<u32> = Some(4);
119 let arr: [Option<u32>; 1] = [x; 1];
122 fn impl_copy_value_multiple_elements() {
123 let x: Option<u32> = Some(4);
124 let arr: [Option<u32>; 2] = [x; 2];