# Error code E0227

This error indicates that the compiler is unable to determine whether there is exactly one unique region in the set of derived region bounds.

Example of erroneous code:

    #![allow(unused)]
    fn main() {
    trait Foo<'foo>: 'foo {}
    trait Bar<'bar>: 'bar {}

    trait FooBar<'foo, 'bar>: Foo<'foo> + Bar<'bar> {}

    struct Baz<'foo, 'bar> {
        baz: dyn FooBar<'foo, 'bar>,
    }
    }

Here, `baz` can have either `'foo` or `'bar` lifetimes.

To resolve this error, provide an explicit lifetime:

    #![allow(unused)]
    fn main() {
    trait Foo<'foo>: 'foo {}
    trait Bar<'bar>: 'bar {}

    trait FooBar<'foo, 'bar>: Foo<'foo> + Bar<'bar> {}

    struct Baz<'foo, 'bar, 'baz>
    where
        'baz: 'foo + 'bar,
    {
        obj: dyn FooBar<'foo, 'bar> + 'baz,
    }
    }