summaryrefslogtreecommitdiffstats
path: root/src/test/ui/type-alias-impl-trait/issue-58887.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/type-alias-impl-trait/issue-58887.rs')
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-58887.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/issue-58887.rs b/src/test/ui/type-alias-impl-trait/issue-58887.rs
new file mode 100644
index 000000000..96ac78602
--- /dev/null
+++ b/src/test/ui/type-alias-impl-trait/issue-58887.rs
@@ -0,0 +1,22 @@
+// run-pass
+
+#![feature(type_alias_impl_trait)]
+
+trait UnwrapItemsExt {
+ type Iter;
+ fn unwrap_items(self) -> Self::Iter;
+}
+
+impl<I, T, E> UnwrapItemsExt for I
+where
+ I: Iterator<Item = Result<T, E>>,
+ E: std::fmt::Debug,
+{
+ type Iter = impl Iterator<Item = T>;
+
+ fn unwrap_items(self) -> Self::Iter {
+ self.map(|x| x.unwrap())
+ }
+}
+
+fn main() {}