2024-02-16 20:02:50 +00:00
|
|
|
//@ run-pass
|
2018-01-12 16:41:25 -05:00
|
|
|
// Tests that the re-exports of `FnOnce` et al from the prelude work.
|
2014-08-19 13:56:38 -07:00
|
|
|
|
2015-03-22 13:13:15 -07:00
|
|
|
|
2014-08-19 13:56:38 -07:00
|
|
|
fn main() {
|
2019-05-28 14:47:21 -04:00
|
|
|
let task: Box<dyn Fn(isize) -> isize> = Box::new(|x| x);
|
2015-12-02 17:31:49 -08:00
|
|
|
task(0);
|
2014-11-20 12:12:38 -05:00
|
|
|
|
2019-05-28 14:47:21 -04:00
|
|
|
let mut task: Box<dyn FnMut(isize) -> isize> = Box::new(|x| x);
|
2015-01-25 22:05:03 +01:00
|
|
|
task(0);
|
2014-11-20 12:12:38 -05:00
|
|
|
|
2015-02-01 12:44:15 -05:00
|
|
|
call(|x| x, 22);
|
2014-11-20 12:12:38 -05:00
|
|
|
}
|
|
|
|
|
|
2015-03-25 17:06:52 -07:00
|
|
|
fn call<F:FnOnce(isize) -> isize>(f: F, x: isize) -> isize {
|
2015-01-05 14:07:10 -05:00
|
|
|
f(x)
|
2014-08-19 13:56:38 -07:00
|
|
|
}
|