error[E0308]: mismatched types --> $DIR/coerce-suggestions.rs:17:20 | 17 | let x: usize = String::new(); | ^^^^^^^^^^^^^ expected usize, found struct `std::string::String` | = note: expected type `usize` found type `std::string::String` = help: here are some functions which might fulfill your needs: - .capacity() - .len() error[E0308]: mismatched types --> $DIR/coerce-suggestions.rs:23:19 | 23 | let x: &str = String::new(); | ^^^^^^^^^^^^^ expected &str, found struct `std::string::String` | = note: expected type `&str` found type `std::string::String` = help: try with `&String::new()` error[E0308]: mismatched types --> $DIR/coerce-suggestions.rs:30:10 | 30 | test(&y); | ^^ types differ in mutability | = note: expected type `&mut std::string::String` found type `&std::string::String` error[E0308]: mismatched types --> $DIR/coerce-suggestions.rs:35:11 | 35 | test2(&y); | ^^ types differ in mutability | = note: expected type `&mut i32` found type `&std::string::String` error[E0308]: mismatched types --> $DIR/coerce-suggestions.rs:41:9 | 41 | f = box f; | ^^^^^ cyclic type of infinite size | = note: expected type `_` found type `std::boxed::Box<_>` error: aborting due to previous error(s)