rust/src/test/compile-fail/block-coerce-no.rs

17 lines
453 B
Rust
Raw Normal View History

2011-07-25 18:57:27 -05:00
// Make sure that fn-to-block coercion isn't incorrectly lifted over
// other tycons.
fn coerce(b: fn()) -> native fn() {
2012-01-23 16:59:00 -06:00
fn lol(f: native fn(fn()) -> native fn(),
g: fn()) -> native fn() { ret f(g); }
fn fn_id(f: native fn()) -> native fn() { ret f }
2011-07-25 18:57:27 -05:00
ret lol(fn_id, b);
//!^ ERROR mismatched types: expected `extern fn(fn()) -> extern fn()`
2011-07-25 18:57:27 -05:00
}
fn main() {
let i = 8;
let f = coerce({|| log(error, i); });
f();
}