error[E0308]: mismatched types --> $DIR/issue-46302.rs:3:27 | LL | let u: &str = if true { s[..2] } else { s }; | ^^^^^^ expected `&str`, found `str` | help: consider borrowing here | LL | let u: &str = if true { &s[..2] } else { s }; | + error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0308`.