error[E0317]: `if` may be missing an `else` clause
  --> $DIR/if-without-else-as-fn-expr.rs:2:5
   |
LL |   fn foo(bar: usize) -> usize {
   |                         ----- expected `usize` because of this return type
LL | /     if bar % 5 == 0 {
LL | |         return 3;
LL | |     }
   | |_____^ expected `usize`, found `()`
   |
   = note: `if` expressions without `else` evaluate to `()`
   = help: consider adding an `else` block that evaluates to the expected type

error[E0317]: `if` may be missing an `else` clause
  --> $DIR/if-without-else-as-fn-expr.rs:9:20
   |
LL |       let x: usize = if bar % 5 == 0 {
   |  _________-__________^
   | |         |
   | |         expected because of this assignment
LL | |         return 3;
LL | |     };
   | |_____^ expected `usize`, found `()`
   |
   = note: `if` expressions without `else` evaluate to `()`
   = help: consider adding an `else` block that evaluates to the expected type

error[E0317]: `if` may be missing an `else` clause
  --> $DIR/if-without-else-as-fn-expr.rs:17:5
   |
LL |   fn foo3(bar: usize) -> usize {
   |                          ----- expected `usize` because of this return type
LL | /     if bar % 5 == 0 {
LL | |         3
LL | |     }
   | |_____^ expected `usize`, found `()`
   |
   = note: `if` expressions without `else` evaluate to `()`
   = help: consider adding an `else` block that evaluates to the expected type

error[E0317]: `if` may be missing an `else` clause
  --> $DIR/if-without-else-as-fn-expr.rs:24:5
   |
LL |   fn foo_let(bar: usize) -> usize {
   |                             ----- expected `usize` because of this return type
LL | /     if let 0 = 1 {
LL | |         return 3;
LL | |     }
   | |_____^ expected `usize`, found `()`
   |
   = note: `if` expressions without `else` evaluate to `()`
   = help: consider adding an `else` block that evaluates to the expected type

error[E0317]: `if` may be missing an `else` clause
  --> $DIR/if-without-else-as-fn-expr.rs:31:20
   |
LL |       let x: usize = if let 0 = 1 {
   |  _________-__________^
   | |         |
   | |         expected because of this assignment
LL | |         return 3;
LL | |     };
   | |_____^ expected `usize`, found `()`
   |
   = note: `if` expressions without `else` evaluate to `()`
   = help: consider adding an `else` block that evaluates to the expected type

error[E0317]: `if` may be missing an `else` clause
  --> $DIR/if-without-else-as-fn-expr.rs:39:5
   |
LL |   fn foo3_let(bar: usize) -> usize {
   |                              ----- expected `usize` because of this return type
LL | /     if let 0 = 1 {
LL | |         3
LL | |     }
   | |_____^ expected `usize`, found `()`
   |
   = note: `if` expressions without `else` evaluate to `()`
   = help: consider adding an `else` block that evaluates to the expected type

error: aborting due to 6 previous errors

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