summaryrefslogtreecommitdiffstats
path: root/src/test/ui/pattern/usefulness/stable-gated-fields.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/pattern/usefulness/stable-gated-fields.rs')
-rw-r--r--src/test/ui/pattern/usefulness/stable-gated-fields.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/pattern/usefulness/stable-gated-fields.rs b/src/test/ui/pattern/usefulness/stable-gated-fields.rs
new file mode 100644
index 000000000..90f40a8d6
--- /dev/null
+++ b/src/test/ui/pattern/usefulness/stable-gated-fields.rs
@@ -0,0 +1,16 @@
+// aux-build:unstable.rs
+
+extern crate unstable;
+
+use unstable::UnstableStruct;
+
+fn main() {
+ let UnstableStruct { stable } = UnstableStruct::default();
+ //~^ pattern does not mention field `stable2` and inaccessible fields
+
+ let UnstableStruct { stable, stable2 } = UnstableStruct::default();
+ //~^ pattern requires `..` due to inaccessible fields
+
+ // OK: stable field is matched
+ let UnstableStruct { stable, stable2, .. } = UnstableStruct::default();
+}