error[E0308]: mismatched types --> $DIR/issue-59819.rs:28:18 | LL | let y: i32 = x; | --- ^ expected `i32`, found struct `Foo` | | | expected due to this | help: consider dereferencing the type | LL | let y: i32 = *x; | + error[E0308]: mismatched types --> $DIR/issue-59819.rs:30:18 | LL | let b: i32 = a; | --- ^ expected `i32`, found `&{integer}` | | | expected due to this | help: consider dereferencing the borrow | LL | let b: i32 = *a; | + error[E0308]: mismatched types --> $DIR/issue-59819.rs:34:21 | LL | let g: String = f; | ------ ^- help: try using a conversion method: `.to_string()` | | | | | expected struct `String`, found struct `Bar` | expected due to this error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.