| error[E0308]: mismatched types |
| --> $DIR/liveness-forgot-ret.rs:4:19 |
| | |
| LL | fn f(a: isize) -> isize { if god_exists(a) { return 5; }; } |
| | - ^^^^^ expected `isize`, found `()` |
| | | |
| | implicitly returns `()` as its body has no tail or `return` expression |
| | |
| help: consider returning the local binding `a` |
| | |
| LL | fn f(a: isize) -> isize { if god_exists(a) { return 5; }; a } |
| | + |
| |
| warning: function cannot return without recursing |
| --> $DIR/liveness-forgot-ret.rs:1:1 |
| | |
| LL | fn god_exists(a: isize) -> bool { return god_exists(a); } |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------------- recursive call site |
| | | |
| | cannot return without recursing |
| | |
| = help: a `loop` may express intention better if this is on purpose |
| = note: `#[warn(unconditional_recursion)]` on by default |
| |
| error: aborting due to 1 previous error; 1 warning emitted |
| |
| For more information about this error, try `rustc --explain E0308`. |