Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #![feature(unboxed_closures)]
- #![feature(fn_traits)]
- struct Adder;
- impl FnOnce<(i32, i32)> for Adder {
- type Output = i32;
- extern "rust-call" fn call_once(self, args: (i32, i32)) -> i32 {
- args.0 + args.1
- }
- }
- impl FnOnce<(f32, f32)> for Adder {
- type Output = f32;
- extern "rust-call" fn call_once(self, args: (f32, f32)) -> f32 {
- args.0 + args.1
- }
- }
- impl FnOnce<(f64, f64)> for Adder {
- type Output = f64;
- extern "rust-call" fn call_once(self, args: (f64, f64)) -> f64 {
- args.0 + args.1
- }
- }
- fn main() {
- // let adder = Adder{};
- println!("{}", Adder{}(4, 3));
- println!("{}", Adder{}(4.2_f32, 3.1_f32));
- println!("{}", Adder{}(4.2, 3.1));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement