From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/self/elision/lt-ref-self.rs | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/test/ui/self/elision/lt-ref-self.rs (limited to 'src/test/ui/self/elision/lt-ref-self.rs') diff --git a/src/test/ui/self/elision/lt-ref-self.rs b/src/test/ui/self/elision/lt-ref-self.rs new file mode 100644 index 000000000..d37ed5acb --- /dev/null +++ b/src/test/ui/self/elision/lt-ref-self.rs @@ -0,0 +1,43 @@ +#![allow(non_snake_case)] + +use std::pin::Pin; + +struct Struct<'a> { data: &'a u32 } + +impl<'a> Struct<'a> { + // Test using `&self` sugar: + + fn ref_self(&self, f: &u32) -> &u32 { + f + //~^ ERROR lifetime may not live long enough + } + + // Test using `&Self` explicitly: + + fn ref_Self(self: &Self, f: &u32) -> &u32 { + f + //~^ ERROR lifetime may not live long enough + } + + fn box_ref_Self(self: Box<&Self>, f: &u32) -> &u32 { + f + //~^ ERROR lifetime may not live long enough + } + + fn pin_ref_Self(self: Pin<&Self>, f: &u32) -> &u32 { + f + //~^ ERROR lifetime may not live long enough + } + + fn box_box_ref_Self(self: Box>, f: &u32) -> &u32 { + f + //~^ ERROR lifetime may not live long enough + } + + fn box_pin_Self(self: Box>, f: &u32) -> &u32 { + f + //~^ ERROR lifetime may not live long enough + } +} + +fn main() { } -- cgit v1.2.3