Skip to content

Commit

Permalink
Add error code for unnecessary visibility qualifier
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Sep 9, 2015
1 parent bda7ec0 commit 6090cea
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
22 changes: 22 additions & 0 deletions src/librustc_privacy/diagnostics.rs
Expand Up @@ -103,4 +103,26 @@ pub enum Foo {
```
"##,

E0449: r##"
A visibility qualifier was used when it was unnecessary. Erroneous code
examples:
```
struct Bar;
trait Foo {
fn foo();
}
pub impl Bar {} // error: unnecessary visibility qualifier
pub impl Foo for Bar { // error: unnecessary visibility qualifier
pub fn foo() {} // error: unnecessary visibility qualifier
}
```
To fix this error, please remove the visibility qualifier when it is not
required.
"##,

}
3 changes: 2 additions & 1 deletion src/librustc_privacy/lib.rs
Expand Up @@ -1045,7 +1045,8 @@ impl<'a, 'tcx> SanePrivacyVisitor<'a, 'tcx> {
let tcx = self.tcx;
let check_inherited = |sp: Span, vis: hir::Visibility, note: &str| {
if vis != hir::Inherited {
tcx.sess.span_err(sp, "unnecessary visibility qualifier");
span_err!(tcx.sess, sp, E0449,
"unnecessary visibility qualifier");
if !note.is_empty() {
tcx.sess.span_note(sp, note);
}
Expand Down

0 comments on commit 6090cea

Please sign in to comment.