2 // All 3 expressions should work in that the argument gets
3 // coerced to a trait object
5 // pretty-expanded FIXME #23616
8 send::<Box<dyn Foo>>(Box::new(Output(0)));
9 Test::<Box<dyn Foo>>::foo(Box::new(Output(0)));
10 Test::<Box<dyn Foo>>::new().send(Box::new(Output(0)));
15 struct Test<T> { marker: std::marker::PhantomData<T> }
17 fn new() -> Test<T> { Test { marker: ::std::marker::PhantomData } }
19 fn send(&self, _: T) {}
22 trait Foo { fn dummy(&self) { }}
23 struct Output(#[allow(unused_tuple_struct_fields)] isize);
24 impl Foo for Output {}