| error[E0308]: mismatched types |
| --> $DIR/equality.rs:15:5 |
| | |
| LL | fn two(x: bool) -> impl Foo { |
| | -------- expected because this return type... |
| LL | if x { |
| LL | return 1_i32; |
| | ----- ...is found to be `i32` here |
| LL | } |
| LL | 0_u32 |
| | ^^^^^ expected i32, found u32 |
| | |
| = note: expected type `i32` |
| found type `u32` |
| |
| error[E0277]: cannot add `impl Foo` to `u32` |
| --> $DIR/equality.rs:24:11 |
| | |
| LL | n + sum_to(n - 1) |
| | ^ no implementation for `u32 + impl Foo` |
| | |
| = help: the trait `std::ops::Add<impl Foo>` is not implemented for `u32` |
| |
| error: aborting due to 2 previous errors |
| |
| Some errors have detailed explanations: E0277, E0308. |
| For more information about an error, try `rustc --explain E0277`. |