diff options
Diffstat (limited to 'src/test/ui/type-param-constraints.rs')
-rw-r--r-- | src/test/ui/type-param-constraints.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/test/ui/type-param-constraints.rs b/src/test/ui/type-param-constraints.rs new file mode 100644 index 000000000..3d87a089f --- /dev/null +++ b/src/test/ui/type-param-constraints.rs @@ -0,0 +1,37 @@ +// run-pass + +#![allow(non_camel_case_types)] +#![allow(dead_code)] +// pretty-expanded FIXME #23616 + +fn p_foo<T>(_pinned: T) { } +fn s_foo<T>(_shared: T) { } +fn u_foo<T:Send>(_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<_>>(Box::new(r(10))); + p_foo::<Box<_>>(Box::new(10)); + p_foo(10); + + s_foo::<Box<_>>(Box::new(10)); + s_foo(10); + + u_foo::<Box<_>>(Box::new(10)); + u_foo(10); +} |