// run-pass #![allow(non_camel_case_types)] #![allow(dead_code)] // pretty-expanded FIXME #23616 fn p_foo(_pinned: T) { } fn s_foo(_shared: T) { } fn u_foo(_unique: T) { } struct r { i: isize, } impl Drop for r { fn drop(&mut self) {} } fn r(i:isize) -> r { r { i: i } } pub fn main() { p_foo(r(10)); p_foo::>(Box::new(r(10))); p_foo::>(Box::new(10)); p_foo(10); s_foo::>(Box::new(10)); s_foo(10); u_foo::>(Box::new(10)); u_foo(10); }