]> git.lizzy.rs Git - rust.git/blob - src/test/compile-fail/self_type_keyword.rs
6f5aeead57ecbff5b0a3adf153a94841b05598fc
[rust.git] / src / test / compile-fail / self_type_keyword.rs
1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 struct Self;
12 //~^ ERROR expected identifier, found keyword `Self`
13
14 struct Bar<'Self>;
15 //~^ ERROR invalid lifetime name
16
17 pub fn main() {
18     let Self = 5;
19     //~^ ERROR expected identifier, found keyword `Self`
20
21     match 15 {
22         Self => (),
23         //~^ ERROR expected identifier, found keyword `Self`
24         ref Self => (),
25         //~^ ERROR expected identifier, found keyword `Self`
26         mut Self => (),
27         //~^ ERROR expected identifier, found keyword `Self`
28         ref mut Self => (),
29         //~^ ERROR expected identifier, found keyword `Self`
30         Self!() => (),
31         //~^ ERROR expected identifier, found keyword `Self`
32         Foo { x: Self } => (),
33         //~^ ERROR expected identifier, found keyword `Self`
34         Foo { Self } => (),
35         //~^ ERROR expected identifier, found keyword `Self`
36     }
37 }
38
39 use self::Self as Foo;
40 //~^ ERROR expected identifier, found keyword `Self`
41
42 use std::option::Option as Self;
43 //~^ ERROR expected identifier, found keyword `Self`
44
45 extern crate Self;
46 //~^ ERROR expected identifier, found keyword `Self`
47
48 trait Self {}
49 //~^ ERROR expected identifier, found keyword `Self`