error[E0261]: use of undeclared lifetime name `'db` --> $DIR/nested-impl-trait-in-tait.rs:3:40 | LL | pub type Tait = impl Iterator; | ^^^ 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 `'db` lifetime | LL | pub type Tait = impl for<'db> Iterator; | ++++++++ help: consider introducing lifetime `'db` here | LL | pub type Tait<'db> = impl Iterator; | +++++ error[E0412]: cannot find type `Key` in this scope --> $DIR/nested-impl-trait-in-tait.rs:3:44 | LL | pub type Tait = impl Iterator; | ^^^ not found in this scope | help: consider importing this struct | LL + use std::thread::local_impl::Key; | error: unconstrained opaque type --> $DIR/nested-impl-trait-in-tait.rs:3:17 | LL | pub type Tait = impl Iterator; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `Tait` must be used in combination with a concrete type within the same module error: unconstrained opaque type --> $DIR/nested-impl-trait-in-tait.rs:3:49 | LL | pub type Tait = impl Iterator; | ^^^^^^^^^^^^^ | = note: `Tait` must be used in combination with a concrete type within the same module error: aborting due to 4 previous errors Some errors have detailed explanations: E0261, E0412. For more information about an error, try `rustc --explain E0261`.