Add error code for unnecessary visibility qualifier

This commit is contained in:
Guillaume Gomez 2015-09-09 11:58:27 +02:00
parent bda7ec0755
commit 6090cea184
2 changed files with 24 additions and 1 deletions

View file

@ -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.
"##,
}

View file

@ -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);
}