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