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