summaryrefslogtreecommitdiffstats
path: root/src/test/ui/unsized/param-mentioned-by-different-field.rs
blob: cda94b306d333e477b9fdd8d46cedf25b93d0eb6 (plain)
1
2
3
4
5
6
7
8
9
10
// 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);
}