summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-types/associated-type-struct-construction.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/associated-types/associated-type-struct-construction.rs')
-rw-r--r--src/test/ui/associated-types/associated-type-struct-construction.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/associated-type-struct-construction.rs b/src/test/ui/associated-types/associated-type-struct-construction.rs
new file mode 100644
index 000000000..f8f8048fb
--- /dev/null
+++ b/src/test/ui/associated-types/associated-type-struct-construction.rs
@@ -0,0 +1,24 @@
+// Make sure that users can construct structs through associated types
+// in both expressions and patterns
+
+#![feature(more_qualified_paths)]
+
+// check-pass
+fn main() {
+ let <Foo as A>::Assoc { br } = <Foo as A>::Assoc { br: 2 };
+ assert!(br == 2);
+}
+
+struct StructStruct {
+ br: i8,
+}
+
+struct Foo;
+
+trait A {
+ type Assoc;
+}
+
+impl A for Foo {
+ type Assoc = StructStruct;
+}