Closed
Description
This fails:
fn foo(f: fn() -> !) {}
fn main() {
foo(|| {fail });
}
with
foo.rs:4:7: 4:18 error: mismatched types: expected `fn&() -> !` but found `fn&() -> _|_` (expected non-returning function, found non-returning function)
foo.rs:4 foo(|| {fail });
^~~~~~~~~~~
While this works:
fn foo(f: fn() -> !) {}
fn main() {
foo(fn() -> ! { fail });
}
I don't know what is going on there but I feel the first snippet should work too.