mirror of
https://github.com/rust-lang/rust
synced 2024-09-15 22:50:55 +00:00
37 lines
712 B
Rust
37 lines
712 B
Rust
|
#![feature(type_alias_impl_trait)]
|
||
|
|
||
|
type Foo = impl for<'a> FnOnce(&'a str) -> usize;
|
||
|
type Bar = impl FnOnce(&'static str) -> usize;
|
||
|
|
||
|
fn foo() -> Foo {
|
||
|
if true {
|
||
|
|s| s.len() //~ ERROR type annotations needed
|
||
|
} else {
|
||
|
panic!()
|
||
|
}
|
||
|
}
|
||
|
fn bar() -> Bar {
|
||
|
if true {
|
||
|
|s| s.len() //~ ERROR type annotations needed
|
||
|
} else {
|
||
|
panic!()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn foo2() -> impl for<'a> FnOnce(&'a str) -> usize {
|
||
|
if true {
|
||
|
|s| s.len() //~ ERROR type annotations needed
|
||
|
} else {
|
||
|
panic!()
|
||
|
}
|
||
|
}
|
||
|
fn bar2() -> impl FnOnce(&'static str) -> usize {
|
||
|
if true {
|
||
|
|s| s.len() //~ ERROR type annotations needed
|
||
|
} else {
|
||
|
panic!()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {}
|