error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:24:17 | LL | let y: &S = x; //~ ERROR mismatched types | ^ expected &S, found *-ptr | = note: expected type `&S` found type `*const S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:25:17 | LL | let y: &T = x; //~ ERROR mismatched types | ^ | | | expected &dyn T, found *-ptr | help: consider borrowing here: `&x` | = note: expected type `&dyn T` found type `*const S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:29:17 | LL | let y: &S = x; //~ ERROR mismatched types | ^ expected &S, found *-ptr | = note: expected type `&S` found type `*mut S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:30:17 | LL | let y: &T = x; //~ ERROR mismatched types | ^ | | | expected &dyn T, found *-ptr | help: consider borrowing here: `&x` | = note: expected type `&dyn T` found type `*mut S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:33:21 | LL | let x: &mut T = &S; //~ ERROR mismatched types | ^^ types differ in mutability | = note: expected type `&mut dyn T` found type `&S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:34:21 | LL | let x: *mut T = &S; //~ ERROR mismatched types | ^^ types differ in mutability | = note: expected type `*mut dyn T` found type `&S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:35:21 | LL | let x: *mut S = &S; //~ ERROR mismatched types | ^^ types differ in mutability | = note: expected type `*mut S` found type `&S` error: aborting due to 7 previous errors For more information about this error, try `rustc --explain E0308`.