rust/tests/ui/explicit-tail-calls/return-mismatches.rs

29 lines
435 B
Rust

#![allow(incomplete_features)]
#![feature(explicit_tail_calls)]
fn _f0<'a>() -> &'static [u8] {
become _g0(); //~ error: mismatched types
}
fn _g0() -> &'static [u8; 1] {
&[0]
}
fn _f1() {
become _g1(); //~ error: mismatched types
}
fn _g1() -> ! { //~ WARN: cannot return without recursing
become _g1();
}
fn _f2() -> u32 {
become _g2(); //~ error: mismatched types
}
fn _g2() -> u16 {
0
}
fn main() {}