// run-pass #![feature(unsized_tuple_coercion)] struct Test(T); fn main() { let x = Test([1,2,3]); let x : &Test<[i32]> = &x; let & ref _y = x; // Make sure binding to a fat pointer behind a reference // still works let slice = &[1,2,3]; let x = Test(&slice); let Test(&_slice) = x; let x = (10, [1,2,3]); let x : &(i32, [i32]) = &x; let & ref _y = x; let slice = &[1,2,3]; let x = (10, &slice); let (_, &_slice) = x; }