diff options
Diffstat (limited to 'src/test/ui/regions/region-object-lifetime-in-coercion.rs')
-rw-r--r-- | src/test/ui/regions/region-object-lifetime-in-coercion.rs | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/test/ui/regions/region-object-lifetime-in-coercion.rs b/src/test/ui/regions/region-object-lifetime-in-coercion.rs deleted file mode 100644 index 95708de04..000000000 --- a/src/test/ui/regions/region-object-lifetime-in-coercion.rs +++ /dev/null @@ -1,34 +0,0 @@ -// Test that attempts to implicitly coerce a value into an -// object respect the lifetime bound on the object type. - -trait Foo {} -impl<'a> Foo for &'a [u8] {} - -fn a(v: &[u8]) -> Box<dyn Foo + 'static> { - let x: Box<dyn Foo + 'static> = Box::new(v); - //~^ ERROR lifetime may not live long enough - x -} - -fn b(v: &[u8]) -> Box<dyn Foo + 'static> { - Box::new(v) - //~^ ERROR lifetime may not live long enough -} - -fn c(v: &[u8]) -> Box<dyn Foo> { - // same as previous case due to RFC 599 - - Box::new(v) - //~^ ERROR lifetime may not live long enough -} - -fn d<'a,'b>(v: &'a [u8]) -> Box<dyn Foo+'b> { - Box::new(v) - //~^ ERROR lifetime may not live long enough -} - -fn e<'a:'b,'b>(v: &'a [u8]) -> Box<dyn Foo+'b> { - Box::new(v) // OK, thanks to 'a:'b -} - -fn main() { } |