error[E0308]: mismatched types --> $DIR/equality2.rs:35:18 | LL | let _: u32 = hide(0_u32); | ^^^^^^^^^^^ expected u32, found opaque type | = note: expected type `u32` found type `impl Foo` error[E0308]: mismatched types --> $DIR/equality2.rs:41:18 | LL | let _: i32 = Leak::leak(hide(0_i32)); | ^^^^^^^^^^^^^^^^^^^^^^^ expected i32, found associated type | = note: expected type `i32` found type `::T` error[E0308]: mismatched types --> $DIR/equality2.rs:48:10 | LL | x = (x.1, | ^^^ expected u32, found i32 | = note: expected type `impl Foo` (u32) found type `impl Foo` (i32) error[E0308]: mismatched types --> $DIR/equality2.rs:51:10 | LL | x.0); | ^^^ expected i32, found u32 | = note: expected type `impl Foo` (i32) found type `impl Foo` (u32) error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0308`.