error[E0261]: use of undeclared lifetime name `'b` --> $DIR/regions-name-undeclared.rs:16:24 | LL | fn m4(&self, arg: &'b isize) { } | ^^ undeclared lifetime | help: consider introducing lifetime `'b` here | LL | fn m4<'b>(&self, arg: &'b isize) { } | ++++ help: consider introducing lifetime `'b` here | LL | impl<'b, 'a> Foo<'a> { | +++ error[E0261]: use of undeclared lifetime name `'b` --> $DIR/regions-name-undeclared.rs:17:12 | LL | fn m5(&'b self) { } | ^^ undeclared lifetime | help: consider introducing lifetime `'b` here | LL | fn m5<'b>(&'b self) { } | ++++ help: consider introducing lifetime `'b` here | LL | impl<'b, 'a> Foo<'a> { | +++ error[E0261]: use of undeclared lifetime name `'b` --> $DIR/regions-name-undeclared.rs:18:27 | LL | fn m6(&self, arg: Foo<'b>) { } | ^^ undeclared lifetime | help: consider introducing lifetime `'b` here | LL | fn m6<'b>(&self, arg: Foo<'b>) { } | ++++ help: consider introducing lifetime `'b` here | LL | impl<'b, 'a> Foo<'a> { | +++ error[E0401]: can't use generic parameters from outer item --> $DIR/regions-name-undeclared.rs:26:22 | LL | fn bar<'a>(x: &'a isize) { | -- lifetime parameter from outer item ... LL | type X = Option<&'a isize>; | - ^^ use of generic parameter from outer item | | | help: consider introducing lifetime `'a` here: `<'a>` error[E0401]: can't use generic parameters from outer item --> $DIR/regions-name-undeclared.rs:28:13 | LL | fn bar<'a>(x: &'a isize) { | -- lifetime parameter from outer item ... LL | enum E { | - help: consider introducing lifetime `'a` here: `<'a>` LL | E1(&'a isize) | ^^ use of generic parameter from outer item error[E0401]: can't use generic parameters from outer item --> $DIR/regions-name-undeclared.rs:31:13 | LL | fn bar<'a>(x: &'a isize) { | -- lifetime parameter from outer item ... LL | struct S { | - help: consider introducing lifetime `'a` here: `<'a>` LL | f: &'a isize | ^^ use of generic parameter from outer item error[E0401]: can't use generic parameters from outer item --> $DIR/regions-name-undeclared.rs:33:14 | LL | fn bar<'a>(x: &'a isize) { | -- lifetime parameter from outer item ... LL | fn f(a: &'a isize) { } | - ^^ use of generic parameter from outer item | | | help: consider introducing lifetime `'a` here: `<'a>` error[E0261]: use of undeclared lifetime name `'a` --> $DIR/regions-name-undeclared.rs:41:17 | LL | fn fn_types(a: &'a isize, | - ^^ undeclared lifetime | | | help: consider introducing lifetime `'a` here: `<'a>` error[E0261]: use of undeclared lifetime name `'b` --> $DIR/regions-name-undeclared.rs:43:36 | LL | ... &'b isize, | ^^ undeclared lifetime | = note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html help: consider making the bound lifetime-generic with a new `'b` lifetime | LL | b: Box FnOnce(&'a isize, | +++ help: consider introducing lifetime `'b` here | LL | fn fn_types<'b>(a: &'a isize, | ++++ error[E0261]: use of undeclared lifetime name `'b` --> $DIR/regions-name-undeclared.rs:46:36 | LL | ... &'b isize)>, | ^^ undeclared lifetime | help: consider making the bound lifetime-generic with a new `'b` lifetime | LL | b: Box FnOnce(&'a isize, | +++ help: consider introducing lifetime `'b` here | LL | fn fn_types<'b>(a: &'a isize, | ++++ error[E0261]: use of undeclared lifetime name `'a` --> $DIR/regions-name-undeclared.rs:47:17 | LL | fn fn_types(a: &'a isize, | - help: consider introducing lifetime `'a` here: `<'a>` ... LL | c: &'a isize) | ^^ undeclared lifetime error[E0261]: use of undeclared lifetime name `'a` --> $DIR/regions-name-undeclared.rs:53:31 | LL | async fn buggy(&self) -> &'a str { | ^^ undeclared lifetime | help: consider introducing lifetime `'a` here | LL | async fn buggy<'a>(&self) -> &'a str { | ++++ help: consider introducing lifetime `'a` here | LL | impl<'a> Bug { | ++++ error: aborting due to 12 previous errors Some errors have detailed explanations: E0261, E0401. For more information about an error, try `rustc --explain E0261`.