summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-8783.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/issues/issue-8783.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-8783.rs b/src/test/ui/issues/issue-8783.rs
new file mode 100644
index 000000000..4eb49c821
--- /dev/null
+++ b/src/test/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();
+}