diff options
| author | bors <bors@rust-lang.org> | 2016-06-13 07:38:40 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-13 07:38:40 -0700 |
| commit | c0df44708e09187ca5e76fe4b832815ff562e8ea (patch) | |
| tree | ba56296dc381506b607c1dbf6ceba3d971519dd3 /src | |
| parent | 5e3136def7b10515e06f87c4153d4660775753cd (diff) | |
| parent | e4c566ccefacfac4f5883b1719e400c3a239c742 (diff) | |
| download | rust-c0df44708e09187ca5e76fe4b832815ff562e8ea.tar.gz rust-c0df44708e09187ca5e76fe4b832815ff562e8ea.zip | |
Auto merge of #34242 - zackmdavis:explain_E0453, r=GuillaumeGomez
add long explanation for E0453, lint attribute overruled by outer forbid This is a subtask of #32777. ----- r? @GuillaumeGomez
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/diagnostics.rs | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/src/librustc/diagnostics.rs b/src/librustc/diagnostics.rs index 30dcca833f8..eb51043fcd0 100644 --- a/src/librustc/diagnostics.rs +++ b/src/librustc/diagnostics.rs @@ -1444,6 +1444,51 @@ lint name). Ensure the attribute is of this form: ``` "##, +E0453: r##" +A lint check attribute was overruled by a `forbid` directive set as an +attribute on an enclosing scope, or on the command line with the `-F` option. + +Example of erroneous code: + +```compile_fail +#![forbid(non_snake_case)] + +#[allow(non_snake_case)] +fn main() { + let MyNumber = 2; // error: allow(non_snake_case) overruled by outer + // forbid(non_snake_case) +} +``` + +The `forbid` lint setting, like `deny`, turns the corresponding compiler +warning into a hard error. Unlike `deny`, `forbid` prevents itself from being +overridden by inner attributes. + +If you're sure you want to override the lint check, you can change `forbid` to +`deny` (or use `-D` instead of `-F` if the `forbid` setting was given as a +command-line option) to allow the inner lint check attribute: + +``` +#![deny(non_snake_case)] + +#[allow(non_snake_case)] +fn main() { + let MyNumber = 2; // ok! +} +``` + +Otherwise, edit the code to pass the lint check, and remove the overruled +attribute: + +``` +#![forbid(non_snake_case)] + +fn main() { + let my_number = 2; +} +``` +"##, + E0496: r##" A lifetime name is shadowing another lifetime name. Erroneous code example: @@ -1628,7 +1673,6 @@ register_diagnostics! { E0314, // closure outlives stack frame E0315, // cannot invoke closure outside of its lifetime E0316, // nested quantification of lifetimes - E0453, // overruled by outer forbid E0473, // dereference of reference outside its lifetime E0474, // captured variable `..` does not outlive the enclosing closure E0475, // index of slice outside its lifetime |
