// We must not allow this with our current setup as `T` | |
// is mentioned both in the tail of `Foo` and by another | |
// field. | |
struct Foo<T: ?Sized>(Box<T>, T); | |
fn main() { | |
let x: Foo<[u8; 1]> = Foo(Box::new([2]), [3]); | |
let y: &Foo<[u8]> = &x; //~ ERROR mismatched types | |
assert_eq!(y.0.len(), 1); | |
} |