error[E0308]: `if` and `else` have incompatible types --> $DIR/issue-82361.rs:10:9 | LL | / if true { LL | | a | | - expected because of this LL | | } else { LL | | b | | ^ expected `usize`, found `&usize` LL | | }; | |_____- `if` and `else` have incompatible types | help: consider dereferencing the borrow | LL | *b | + error[E0308]: `if` and `else` have incompatible types --> $DIR/issue-82361.rs:16:9 | LL | / if true { LL | | 1 | | - expected because of this LL | | } else { LL | | &1 | | ^^ expected integer, found `&{integer}` LL | | }; | |_____- `if` and `else` have incompatible types | help: consider removing the borrow | LL - &1 LL + 1 | error[E0308]: `if` and `else` have incompatible types --> $DIR/issue-82361.rs:22:9 | LL | / if true { LL | | 1 | | - expected because of this LL | | } else { LL | | &mut 1 | | ^^^^^^ expected integer, found `&mut {integer}` LL | | }; | |_____- `if` and `else` have incompatible types | help: consider removing the borrow | LL - &mut 1 LL + 1 | error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.