error[E0308]: mismatched types --> $DIR/unsize_adt.rs:8:30 | LL | fn hello() -> Foo<[impl Sized; 2]> { | ---------- the found opaque type ... LL | let _: &Foo<[i32]> = &x; | ----------- ^^ expected `&Foo<[i32]>`, found `&Foo<[impl Sized; 2]>` | | | expected due to this | = note: expected reference `&Foo<[i32]>` found reference `&Foo<[impl Sized; 2]>` error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0308`.