]> git.proxmox.com Git - rustc.git/blob - src/test/ui/nll/user-annotations/fns.rs
Update unsuspicious file list
[rustc.git] / src / test / ui / nll / user-annotations / fns.rs
1 // Unit test for the "user substitutions" that are annotated on each
2 // node.
3
4 fn some_fn<T>(arg: T) { }
5
6 fn no_annot() {
7 let c = 66;
8 some_fn(&c); // OK
9 }
10
11 fn annot_underscore() {
12 let c = 66;
13 some_fn::<_>(&c); // OK
14 }
15
16 fn annot_reference_any_lifetime() {
17 let c = 66;
18 some_fn::<&u32>(&c); // OK
19 }
20
21 fn annot_reference_static_lifetime() {
22 let c = 66;
23 some_fn::<&'static u32>(&c); //~ ERROR
24 }
25
26 fn annot_reference_named_lifetime<'a>(_d: &'a u32) {
27 let c = 66;
28 some_fn::<&'a u32>(&c); //~ ERROR
29 }
30
31 fn annot_reference_named_lifetime_ok<'a>(c: &'a u32) {
32 some_fn::<&'a u32>(c);
33 }
34
35 fn annot_reference_named_lifetime_in_closure<'a>(_: &'a u32) {
36 let _closure = || {
37 let c = 66;
38 some_fn::<&'a u32>(&c); //~ ERROR
39 };
40 }
41
42 fn annot_reference_named_lifetime_in_closure_ok<'a>(c: &'a u32) {
43 let _closure = || {
44 some_fn::<&'a u32>(c);
45 };
46 }
47
48 fn main() { }