1 #![feature(unsized_tuple_coercion, unsized_fn_params)]
3 struct A<X: ?Sized>(X);
5 fn udrop<T: ?Sized>(_x: T) {}
6 fn foo() -> Box<[u8]> {
9 fn tfoo() -> Box<(i32, [u8])> {
10 Box::new((42, *b"foo"))
12 fn afoo() -> Box<A<[u8]>> {
16 impl std::ops::Add<i32> for A<[u8]> {
18 fn add(self, _rhs: i32) -> Self::Output {}
22 udrop::<(i32, [u8])>((42, *foo()));
24 udrop::<A<[u8]>>(A { 0: *foo() });
26 udrop::<A<[u8]>>(A(*foo()));