diff options
Diffstat (limited to 'src/test/ui/regions/regions-name-undeclared.rs')
-rw-r--r-- | src/test/ui/regions/regions-name-undeclared.rs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/src/test/ui/regions/regions-name-undeclared.rs b/src/test/ui/regions/regions-name-undeclared.rs deleted file mode 100644 index 7b6ede193..000000000 --- a/src/test/ui/regions/regions-name-undeclared.rs +++ /dev/null @@ -1,58 +0,0 @@ -// edition:2018 -// Check that lifetime resolver enforces the lifetime name scoping -// rules correctly in various scenarios. - -struct Foo<'a> { - x: &'a isize -} - -impl<'a> Foo<'a> { - // &'a is inherited: - fn m1(&self, arg: &'a isize) { } - fn m2(&'a self) { } - fn m3(&self, arg: Foo<'a>) { } - - // &'b is not: - fn m4(&self, arg: &'b isize) { } //~ ERROR undeclared lifetime - fn m5(&'b self) { } //~ ERROR undeclared lifetime - fn m6(&self, arg: Foo<'b>) { } //~ ERROR undeclared lifetime -} - -fn bar<'a>(x: &'a isize) { - // &'a is visible to code: - let y: &'a isize = x; - - // &'a is not visible to *items*: - type X = Option<&'a isize>; //~ ERROR can't use generic parameters from outer item - enum E { - E1(&'a isize) //~ ERROR can't use generic parameters from outer item - } - struct S { - f: &'a isize //~ ERROR can't use generic parameters from outer item - } - fn f(a: &'a isize) { } //~ ERROR can't use generic parameters from outer item - - // &'a CAN be declared on functions and used then: - fn g<'a>(a: &'a isize) { } // OK - fn h(a: Box<dyn for<'a> FnOnce(&'a isize)>) { } // OK -} - -// Test nesting of lifetimes in fn type declarations -fn fn_types(a: &'a isize, //~ ERROR undeclared lifetime - b: Box<dyn for<'a> FnOnce(&'a isize, - &'b isize, //~ ERROR undeclared lifetime - Box<dyn for<'b> FnOnce(&'a isize, - &'b isize)>, - &'b isize)>, //~ ERROR undeclared lifetime - c: &'a isize) //~ ERROR undeclared lifetime -{ -} - -struct Bug {} -impl Bug { - async fn buggy(&self) -> &'a str { //~ ERROR use of undeclared lifetime name `'a` - todo!() - } -} - -pub fn main() {} |