diff options
Diffstat (limited to 'src/test/ui/regions/regions-early-bound-error-method.rs')
-rw-r--r-- | src/test/ui/regions/regions-early-bound-error-method.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/regions/regions-early-bound-error-method.rs b/src/test/ui/regions/regions-early-bound-error-method.rs new file mode 100644 index 000000000..7edcc677d --- /dev/null +++ b/src/test/ui/regions/regions-early-bound-error-method.rs @@ -0,0 +1,26 @@ +// Tests that you can use a fn lifetime parameter as part of +// the value for a type parameter in a bound. + +trait GetRef<'a> { + fn get(&self) -> &'a isize; +} + +struct Box<'a> { + t: &'a isize +} + +impl<'a> GetRef<'a> for Box<'a> { + fn get(&self) -> &'a isize { + self.t + } +} + +impl<'a> Box<'a> { + fn or<'b,G:GetRef<'b>>(&self, g2: G) -> &'a isize { + g2.get() + //~^ ERROR lifetime may not live long enough + } +} + +fn main() { +} |