summaryrefslogtreecommitdiffstats
path: root/src/test/ui/pattern/usefulness/doc-hidden-fields.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/pattern/usefulness/doc-hidden-fields.rs')
-rw-r--r--src/test/ui/pattern/usefulness/doc-hidden-fields.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/pattern/usefulness/doc-hidden-fields.rs b/src/test/ui/pattern/usefulness/doc-hidden-fields.rs
new file mode 100644
index 000000000..4163b87dc
--- /dev/null
+++ b/src/test/ui/pattern/usefulness/doc-hidden-fields.rs
@@ -0,0 +1,26 @@
+// aux-build:hidden.rs
+
+extern crate hidden;
+
+use hidden::HiddenStruct;
+
+struct InCrate {
+ a: usize,
+ b: bool,
+ #[doc(hidden)]
+ im_hidden: u8
+}
+
+fn main() {
+ let HiddenStruct { one, two } = HiddenStruct::default();
+ //~^ pattern requires `..` due to inaccessible fields
+
+ let HiddenStruct { one } = HiddenStruct::default();
+ //~^ pattern does not mention field `two` and inaccessible fields
+
+ let HiddenStruct { one, hide } = HiddenStruct::default();
+ //~^ pattern does not mention field `two`
+
+ let InCrate { a, b } = InCrate { a: 0, b: false, im_hidden: 0 };
+ //~^ pattern does not mention field `im_hidden`
+}