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