Error code E0496

A lifetime name is shadowing another lifetime name.

Erroneous code example:

#![allow(unused)] fn main() { 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() { }