use std; fn asSendfn( f : fn~()->uint ) -> uint { ret f(); } fn asLambda( f : fn@()->uint ) -> uint { ret f(); } fn asBlock( f : fn&()->uint ) -> uint { ret f(); } fn asAny( f : fn()->uint ) -> uint { 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); }