From df7d3b916d4fd2290940c8db36d80bc58b80399a Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Tue, 6 Oct 2015 18:04:09 +0200 Subject: [PATCH] Add error explanation for E0496 --- src/librustc/diagnostics.rs | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/librustc/diagnostics.rs b/src/librustc/diagnostics.rs index 5ed7f4113ec..7cb2de78e2c 100644 --- a/src/librustc/diagnostics.rs +++ b/src/librustc/diagnostics.rs @@ -1992,6 +1992,39 @@ static A : &'static u32 = &S.a; // ok! ``` "##, +E0496: r##" +A lifetime name is shadowing another lifetime name. Erroneous code example: + +``` +struct Foo<'a> { + a: &'a i32, +} + +impl<'a> Foo<'a> { + fn f<'a>(x: &'a i32) { // error: lifetime name `'a` shadows a lifetime + // name that is already in scope + } +} +``` + +Please change the name of one of the lifetimes to remove this error. Example: + + +``` +struct Foo<'a> { + a: &'a i32, +} + +impl<'a> Foo<'a> { + fn f<'b>(x: &'b i32) { // ok! + } +} + +fn main() { +} +``` +"##, + E0497: r##" A stability attribute was used outside of the standard library. Erroneous code example: @@ -2072,7 +2105,6 @@ register_diagnostics! { E0491, // in type `..`, reference has a longer lifetime than the data it... E0492, // cannot borrow a constant which contains interior mutability E0495, // cannot infer an appropriate lifetime due to conflicting requirements - E0496, // .. name `..` shadows a .. name that is already in scope E0498, // malformed plugin attribute E0514, // metadata version mismatch }