error[E0308]: mismatched types
  --> $DIR/dont-suggest-break-thru-item.rs:7:17
   |
LL | /             if true {
LL | |                 Err(1)
   | |                 ^^^^^^ expected `()`, found `Result<_, {integer}>`
LL | |
LL | |
LL | |             }
   | |_____________- expected this to be `()`
   |
   = note: expected unit type `()`
                   found enum `Result<_, {integer}>`
help: you might have meant to return this value
   |
LL |                 return Err(1);
   |                 ++++++       +

error[E0308]: mismatched types
  --> $DIR/dont-suggest-break-thru-item.rs:21:17
   |
LL | /             if true {
LL | |                 Err(1)
   | |                 ^^^^^^ expected `()`, found `Result<_, {integer}>`
LL | |
LL | |
LL | |             }
   | |_____________- expected this to be `()`
   |
   = note: expected unit type `()`
                   found enum `Result<_, {integer}>`
help: you might have meant to return this value
   |
LL |                 return Err(1);
   |                 ++++++       +

error[E0308]: mismatched types
  --> $DIR/dont-suggest-break-thru-item.rs:35:17
   |
LL | /             if true {
LL | |                 Err(1)
   | |                 ^^^^^^ expected `()`, found `Result<_, {integer}>`
LL | |
LL | |             }
   | |_____________- expected this to be `()`
   |
   = note: expected unit type `()`
                   found enum `Result<_, {integer}>`

error[E0308]: mismatched types
  --> $DIR/dont-suggest-break-thru-item.rs:47:17
   |
LL | /             if true {
LL | |                 Err(1)
   | |                 ^^^^^^ expected `()`, found `Result<_, {integer}>`
LL | |
LL | |             }
   | |_____________- expected this to be `()`
   |
   = note: expected unit type `()`
                   found enum `Result<_, {integer}>`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0308`.
