1 // run-pass 2 main()3 pub fn main() { 4 fn as_buf<T, F>(s: String, f: F) -> T where F: FnOnce(String) -> T { f(s) } 5 as_buf("foo".to_string(), |foo: String| -> () { println!("{}", foo) }); 6 } 7