# 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() {
    }