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`.