Skip to content

Commit 6090cea

Browse files
Add error code for unnecessary visibility qualifier
1 parent bda7ec0 commit 6090cea

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/librustc_privacy/diagnostics.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,26 @@ pub enum Foo {
103103
```
104104
"##,
105105

106+
E0449: r##"
107+
A visibility qualifier was used when it was unnecessary. Erroneous code
108+
examples:
109+
110+
```
111+
struct Bar;
112+
113+
trait Foo {
114+
fn foo();
115+
}
116+
117+
pub impl Bar {} // error: unnecessary visibility qualifier
118+
119+
pub impl Foo for Bar { // error: unnecessary visibility qualifier
120+
pub fn foo() {} // error: unnecessary visibility qualifier
121+
}
122+
```
123+
124+
To fix this error, please remove the visibility qualifier when it is not
125+
required.
126+
"##,
127+
106128
}

src/librustc_privacy/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1045,7 +1045,8 @@ impl<'a, 'tcx> SanePrivacyVisitor<'a, 'tcx> {
10451045
let tcx = self.tcx;
10461046
let check_inherited = |sp: Span, vis: hir::Visibility, note: &str| {
10471047
if vis != hir::Inherited {
1048-
tcx.sess.span_err(sp, "unnecessary visibility qualifier");
1048+
span_err!(tcx.sess, sp, E0449,
1049+
"unnecessary visibility qualifier");
10491050
if !note.is_empty() {
10501051
tcx.sess.span_note(sp, note);
10511052
}

0 commit comments

Comments
 (0)