1 // run-pass 2 use std::ops::FnMut; 3 make_adder(x: isize) -> Box<dyn FnMut(isize)->isize + 'static>4fn make_adder(x: isize) -> Box<dyn FnMut(isize)->isize + 'static> { 5 Box::new(move |y| { x + y }) 6 } 7 main()8pub fn main() { 9 let mut adder = make_adder(3); 10 let z = (*adder)(2); 11 println!("{}", z); 12 assert_eq!(z, 5); 13 } 14