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