about summary refs log tree commit diff
path: root/tests/ui/issues/issue-8783.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-8783.rs')
-rw-r--r--tests/ui/issues/issue-8783.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-8783.rs b/tests/ui/issues/issue-8783.rs
new file mode 100644
index 00000000000..4eb49c82161
--- /dev/null
+++ b/tests/ui/issues/issue-8783.rs
@@ -0,0 +1,24 @@
+// run-pass
+#![allow(unused_variables)]
+// pretty-expanded FIXME #23616
+
+use std::default::Default;
+
+struct X { pub x: usize }
+impl Default for X {
+    fn default() -> X {
+        X { x: 42 }
+    }
+}
+
+struct Y<T> { pub y: T }
+impl<T: Default> Default for Y<T> {
+    fn default() -> Y<T> {
+        Y { y: Default::default() }
+    }
+}
+
+fn main() {
+    let X { x: _ } = Default::default();
+    let Y { y: X { x } } = Default::default();
+}