2011-12-29 22:07:55 -06:00
|
|
|
use std;
|
|
|
|
|
2012-01-11 11:58:05 -06:00
|
|
|
fn asSendfn( f : fn~()->uint ) -> uint {
|
2011-12-29 22:07:55 -06:00
|
|
|
ret f();
|
|
|
|
}
|
|
|
|
|
2012-01-09 18:12:37 -06:00
|
|
|
fn asLambda( f : fn@()->uint ) -> uint {
|
2011-12-29 22:07:55 -06:00
|
|
|
ret f();
|
|
|
|
}
|
|
|
|
|
2012-01-23 16:59:00 -06:00
|
|
|
fn asBlock( f : fn&()->uint ) -> uint {
|
|
|
|
ret f();
|
|
|
|
}
|
|
|
|
|
|
|
|
fn asAny( f : fn()->uint ) -> uint {
|
2011-12-29 22:07:55 -06:00
|
|
|
ret f();
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let x = asSendfn({|| 22u});
|
|
|
|
assert(x == 22u);
|
|
|
|
let x = asLambda({|| 22u});
|
|
|
|
assert(x == 22u);
|
|
|
|
let x = asBlock({|| 22u});
|
|
|
|
assert(x == 22u);
|
|
|
|
}
|