2 // pretty-expanded FIXME #23616
6 trait Foo { fn dummy(&self) { } }
8 fn foo(_: [&dyn Foo; 2]) {}
9 fn foos(_: &[&dyn Foo]) {}
10 fn foog<T>(_: &[T], _: &[T]) {}
12 fn bar(_: [Box<dyn Foo>; 2]) {}
13 fn bars(_: &[Box<dyn Foo+'static>]) {}
16 let x: [&dyn Foo; 2] = [&1, &2];
21 let x: [&dyn Foo; 2] = [r; 2];
25 let x: &[&dyn Foo] = &[&1, &2];
29 let x: &[&dyn Foo] = &[&1, &2];
33 let x: [Box<dyn Foo>; 2] = [Box::new(1), Box::new(2)];
35 bar([Box::new(1), Box::new(2)]);
37 let x: &[Box<dyn Foo+'static>] = &[Box::new(1), Box::new(2)];
39 bars(&[Box::new(1), Box::new(2)]);
41 let x: &[Box<dyn Foo+'static>] = &[Box::new(1), Box::new(2)];
42 foog(x, &[Box::new(1)]);
45 t: [&'a (dyn Foo+'a); 2]
54 let x: [&dyn Foo; 2] = [&1, &2];
60 t: &'b [&'b (dyn Foo+'b)]
66 let r: [&dyn Foo; 2] = [r; 2];
70 let x: [&dyn Foo; 2] = [&1, &2];
76 t: &'a [Box<dyn Foo+'static>]
79 t: &[Box::new(1), Box::new(2)]
81 let x: [Box<dyn Foo>; 2] = [Box::new(1), Box::new(2)];