1 #![feature(negative_impls)]
2 
3 pub trait Tr {
f()4     fn f();
5     const C: u8;
6     type T;
7 }
8 pub struct S {
9     pub a: u8
10 }
11 struct Ts(pub u8);
12 
13 pub impl Tr for S {  //~ ERROR unnecessary visibility qualifier
f()14     pub fn f() {} //~ ERROR unnecessary visibility qualifier
15     pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier
16     pub type T = u8; //~ ERROR unnecessary visibility qualifier
17 }
18 pub impl S { //~ ERROR unnecessary visibility qualifier
f()19     pub fn f() {}
20     pub const C: u8 = 0;
21     // pub type T = u8;
22 }
23 pub extern "C" { //~ ERROR unnecessary visibility qualifier
f()24     pub fn f();
25     pub static St: u8;
26 }
27 
28 const MAIN: u8 = {
29     pub trait Tr {
f()30         fn f();
31         const C: u8;
32         type T;
33     }
34     pub struct S {
35         pub a: u8
36     }
37     struct Ts(pub u8);
38 
39     pub impl Tr for S {  //~ ERROR unnecessary visibility qualifier
f()40         pub fn f() {} //~ ERROR unnecessary visibility qualifier
41         pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier
42         pub type T = u8; //~ ERROR unnecessary visibility qualifier
43     }
44     pub impl S { //~ ERROR unnecessary visibility qualifier
f()45         pub fn f() {}
46         pub const C: u8 = 0;
47         // pub type T = u8;
48     }
49     pub extern "C" { //~ ERROR unnecessary visibility qualifier
f()50         pub fn f();
51         pub static St: u8;
52     }
53 
54     0
55 };
56 
main()57 fn main() {
58     pub trait Tr {
59         fn f();
60         const C: u8;
61         type T;
62     }
63     pub struct S {
64         pub a: u8
65     }
66     struct Ts(pub u8);
67 
68     pub impl Tr for S {  //~ ERROR unnecessary visibility qualifier
69         pub fn f() {} //~ ERROR unnecessary visibility qualifier
70         pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier
71         pub type T = u8; //~ ERROR unnecessary visibility qualifier
72     }
73     pub impl S { //~ ERROR unnecessary visibility qualifier
74         pub fn f() {}
75         pub const C: u8 = 0;
76         // pub type T = u8;
77     }
78     pub extern "C" { //~ ERROR unnecessary visibility qualifier
79         pub fn f();
80         pub static St: u8;
81     }
82 }
83