]> git.lizzy.rs Git - rust.git/blob - src/test/ui/parser/self-param-syntactic-pass.rs
Add 'compiler/rustc_codegen_cranelift/' from commit '793d26047f994e23415f8f6bb5686ff2...
[rust.git] / src / test / ui / parser / self-param-syntactic-pass.rs
1 // This test ensures that `self` is syntactically accepted in all places an `FnDecl` is parsed.
2 // FIXME(Centril): For now closures are an exception.
3
4 // check-pass
5
6 fn main() {}
7
8 #[cfg(FALSE)]
9 fn free() {
10     fn f(self) {}
11     fn f(mut self) {}
12     fn f(&self) {}
13     fn f(&mut self) {}
14     fn f(&'a self) {}
15     fn f(&'a mut self) {}
16     fn f(self: u8) {}
17     fn f(mut self: u8) {}
18 }
19
20 #[cfg(FALSE)]
21 extern {
22     fn f(self);
23     fn f(mut self);
24     fn f(&self);
25     fn f(&mut self);
26     fn f(&'a self);
27     fn f(&'a mut self);
28     fn f(self: u8);
29     fn f(mut self: u8);
30 }
31
32 #[cfg(FALSE)]
33 trait X {
34     fn f(self) {}
35     fn f(mut self) {}
36     fn f(&self) {}
37     fn f(&mut self) {}
38     fn f(&'a self) {}
39     fn f(&'a mut self) {}
40     fn f(self: u8) {}
41     fn f(mut self: u8) {}
42 }
43
44 #[cfg(FALSE)]
45 impl X for Y {
46     fn f(self) {}
47     fn f(mut self) {}
48     fn f(&self) {}
49     fn f(&mut self) {}
50     fn f(&'a self) {}
51     fn f(&'a mut self) {}
52     fn f(self: u8) {}
53     fn f(mut self: u8) {}
54 }
55
56 #[cfg(FALSE)]
57 impl X for Y {
58     type X = fn(self);
59     type X = fn(mut self);
60     type X = fn(&self);
61     type X = fn(&mut self);
62     type X = fn(&'a self);
63     type X = fn(&'a mut self);
64     type X = fn(self: u8);
65     type X = fn(mut self: u8);
66 }