49 lines
902 B
Rust
49 lines
902 B
Rust
//@ edition:2021
|
|
|
|
fn foo(b: bool) -> impl std::fmt::Debug {
|
|
if b {
|
|
return vec![42]
|
|
}
|
|
[].into_iter().collect()
|
|
}
|
|
|
|
fn bar(b: bool) -> impl std::fmt::Debug {
|
|
if b {
|
|
return [].into_iter().collect()
|
|
}
|
|
vec![42]
|
|
}
|
|
|
|
fn bak(b: bool) -> impl std::fmt::Debug {
|
|
if b {
|
|
return std::iter::empty().collect()
|
|
}
|
|
vec![42]
|
|
}
|
|
|
|
fn baa(b: bool) -> impl std::fmt::Debug {
|
|
if b {
|
|
return [42].into_iter().collect()
|
|
}
|
|
vec![]
|
|
}
|
|
|
|
fn muh() -> Result<(), impl std::fmt::Debug> {
|
|
Err("whoops")?;
|
|
Ok(())
|
|
//~^ ERROR type annotations needed
|
|
}
|
|
|
|
fn muh2() -> Result<(), impl std::fmt::Debug> {
|
|
return Err(From::from("foo"));
|
|
//~^ ERROR cannot call associated function on trait
|
|
Ok(())
|
|
}
|
|
|
|
fn muh3() -> Result<(), impl std::fmt::Debug> {
|
|
Err(From::from("foo"))
|
|
//~^ ERROR cannot call associated function on trait
|
|
}
|
|
|
|
fn main() {}
|