error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:14:17 | LL | let y: &S = x; | ^ expected &S, found *-ptr | = note: expected type `&S` found type `*const S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:15:21 | LL | let y: &dyn T = x; | ^ | | | 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:19:17 | LL | let y: &S = x; | ^ expected &S, found *-ptr | = note: expected type `&S` found type `*mut S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:20:21 | LL | let y: &dyn T = x; | ^ | | | 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:23:25 | LL | let x: &mut dyn T = &S; | ^^ types differ in mutability | = note: expected type `&mut dyn T` found type `&S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:24:25 | LL | let x: *mut dyn T = &S; | ^^ types differ in mutability | = note: expected type `*mut dyn T` found type `&S` error[E0308]: mismatched types --> $DIR/dst-bad-coercions.rs:25:21 | LL | let x: *mut S = &S; | ^^ 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`.