summaryrefslogtreecommitdiffstats
path: root/tests/ui/type-alias-impl-trait/nested-impl-trait-in-tait.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/type-alias-impl-trait/nested-impl-trait-in-tait.stderr')
-rw-r--r--tests/ui/type-alias-impl-trait/nested-impl-trait-in-tait.stderr47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/ui/type-alias-impl-trait/nested-impl-trait-in-tait.stderr b/tests/ui/type-alias-impl-trait/nested-impl-trait-in-tait.stderr
new file mode 100644
index 000000000..d4aeace4a
--- /dev/null
+++ b/tests/ui/type-alias-impl-trait/nested-impl-trait-in-tait.stderr
@@ -0,0 +1,47 @@
+error[E0261]: use of undeclared lifetime name `'db`
+ --> $DIR/nested-impl-trait-in-tait.rs:3:40
+ |
+LL | pub type Tait = impl Iterator<Item = (&'db Key, 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<Item = (&'db Key, impl Iterator)>;
+ | ++++++++
+help: consider introducing lifetime `'db` here
+ |
+LL | pub type Tait<'db> = impl Iterator<Item = (&'db Key, 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<Item = (&'db Key, 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<Item = (&'db Key, 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<Item = (&'db Key, 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`.