fn_traits
The tracking issue for this feature is #29625
See Also: unboxed_closures
The fn_traits
feature allows for implementation of the Fn*
traits
for creating custom closure-like types.
#![feature(unboxed_closures)]
#![feature(fn_traits)]
struct Adder {
a: u32
}
impl FnOnce<(u32, )> for Adder {
type Output = u32;
extern "rust-call" fn call_once(self, b: (u32, )) -> Self::Output {
self.a + b.0
}
}
fn main() {
let adder = Adder { a: 3 };
assert_eq!(adder(2), 5);
}