]> git.lizzy.rs Git - rust.git/blob - src/test/ui/type-param-constraints.rs
Rollup merge of #61207 - taiki-e:arbitrary_self_types-lifetime-elision-2, r=Centril
[rust.git] / src / test / ui / type-param-constraints.rs
1 // run-pass
2
3 #![allow(non_camel_case_types)]
4 #![allow(dead_code)]
5 // pretty-expanded FIXME #23616
6
7 #![feature(box_syntax)]
8
9 fn p_foo<T>(_pinned: T) { }
10 fn s_foo<T>(_shared: T) { }
11 fn u_foo<T:Send>(_unique: T) { }
12
13 struct r {
14   i: isize,
15 }
16
17 impl Drop for r {
18     fn drop(&mut self) {}
19 }
20
21 fn r(i:isize) -> r {
22     r {
23         i: i
24     }
25 }
26
27 pub fn main() {
28     p_foo(r(10));
29
30     p_foo::<Box<_>>(box r(10));
31     p_foo::<Box<_>>(box 10);
32     p_foo(10);
33
34     s_foo::<Box<_>>(box 10);
35     s_foo(10);
36
37     u_foo::<Box<_>>(box 10);
38     u_foo(10);
39 }