about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/issues/issue-57399-self-return-impl-trait.rs22
-rw-r--r--src/test/ui/issues/issue-57399-self-return-impl-trait.stderr8
2 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-57399-self-return-impl-trait.rs b/src/test/ui/issues/issue-57399-self-return-impl-trait.rs
new file mode 100644
index 00000000000..23d68263b3a
--- /dev/null
+++ b/src/test/ui/issues/issue-57399-self-return-impl-trait.rs
@@ -0,0 +1,22 @@
+// run-pass
+
+trait T {
+    type T;
+}
+
+impl T for i32 {
+    type T = u32;
+}
+
+struct S<A> {
+    a: A,
+}
+
+
+impl From<u32> for S<<i32 as T>::T> {
+    fn from(a: u32) -> Self {
+        Self { a }
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/issues/issue-57399-self-return-impl-trait.stderr b/src/test/ui/issues/issue-57399-self-return-impl-trait.stderr
new file mode 100644
index 00000000000..5c71410a827
--- /dev/null
+++ b/src/test/ui/issues/issue-57399-self-return-impl-trait.stderr
@@ -0,0 +1,8 @@
+warning: field is never used: `a`
+  --> $DIR/issue-57399-self-return-impl-trait.rs:12:5
+   |
+LL |     a: A,
+   |     ^^^^
+   |
+   = note: `#[warn(dead_code)]` on by default
+