error[E0308]: mismatched types --> $DIR/return-mismatches.rs:5:5 | LL | become _g0(); | ^^^^^^^^^^^^ expected `&[u8]`, found `&[u8; 1]` | = note: expected reference `&'static [u8]` found reference `&'static [u8; 1]` error[E0308]: mismatched types --> $DIR/return-mismatches.rs:13:5 | LL | become _g1(); | ^^^^^^^^^^^^ expected `()`, found `!` | = note: expected unit type `()` found type `!` error[E0308]: mismatched types --> $DIR/return-mismatches.rs:21:5 | LL | become _g2(); | ^^^^^^^^^^^^ expected `u32`, found `u16` warning: function cannot return without recursing --> $DIR/return-mismatches.rs:16:1 | LL | fn _g1() -> ! { | ^^^^^^^^^^^^^ cannot return without recursing LL | become _g1(); | ----- recursive call site | = help: a `loop` may express intention better if this is on purpose = note: `#[warn(unconditional_recursion)]` on by default error: aborting due to 3 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0308`.