rust/tests/ui/closures/issue-868.rs

20 lines
453 B
Rust

//@ run-pass
#![allow(unused_parens)]
#![allow(unit_bindings)]
//@ pretty-expanded FIXME #23616
fn f<T, F>(g: F) -> T where F: FnOnce() -> T { g() }
pub fn main() {
let _x = f( | | { 10 });
// used to be: cannot determine a type for this expression
f(| | { });
// ditto
f( | | { ()});
// always worked
let _: () = f(| | { });
// empty block with no type info should compile too
let _ = f(||{});
let _ = (||{});
}