diff options
| author | Devin Ragotzy <devin.ragotzy@gmail.com> | 2021-10-27 20:57:47 -0400 |
|---|---|---|
| committer | Devin Ragotzy <devin.ragotzy@gmail.com> | 2022-03-12 15:15:22 -0500 |
| commit | ef0d99d8d43dccf5f20e49826fc0c0126012390f (patch) | |
| tree | ce657fbf5a68f328e03b51f9198dc7472f5e2140 /src | |
| parent | f481dba3d4745b87b4d19f14b7592687d9afb90e (diff) | |
| download | rust-ef0d99d8d43dccf5f20e49826fc0c0126012390f.tar.gz rust-ef0d99d8d43dccf5f20e49826fc0c0126012390f.zip | |
Add struct to doc hidden usefulness ui tests
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/pattern/usefulness/auxiliary/hidden.rs | 10 | ||||
| -rw-r--r-- | src/test/ui/pattern/usefulness/doc-hidden-fields.rs | 16 | ||||
| -rw-r--r-- | src/test/ui/pattern/usefulness/doc-hidden-non-exhaustive.rs | 20 |
3 files changed, 35 insertions, 11 deletions
diff --git a/src/test/ui/pattern/usefulness/auxiliary/hidden.rs b/src/test/ui/pattern/usefulness/auxiliary/hidden.rs index 742b7e82c16..364514ba1d3 100644 --- a/src/test/ui/pattern/usefulness/auxiliary/hidden.rs +++ b/src/test/ui/pattern/usefulness/auxiliary/hidden.rs @@ -1,6 +1,14 @@ -pub enum Foo { +pub enum HiddenEnum { A, B, #[doc(hidden)] C, } + +#[derive(Default)] +pub struct HiddenStruct { + pub one: u8, + pub two: bool, + #[doc(hidden)] + pub hide: usize, +} 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 00000000000..e947c223ede --- /dev/null +++ b/src/test/ui/pattern/usefulness/doc-hidden-fields.rs @@ -0,0 +1,16 @@ +// aux-build:hidden.rs + +extern crate hidden; + +use hidden::HiddenStruct; + +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` +} diff --git a/src/test/ui/pattern/usefulness/doc-hidden-non-exhaustive.rs b/src/test/ui/pattern/usefulness/doc-hidden-non-exhaustive.rs index a1dcab09314..23c57f2bc6a 100644 --- a/src/test/ui/pattern/usefulness/doc-hidden-non-exhaustive.rs +++ b/src/test/ui/pattern/usefulness/doc-hidden-non-exhaustive.rs @@ -2,29 +2,29 @@ extern crate hidden; -use hidden::Foo; +use hidden::HiddenEnum; fn main() { - match Foo::A { - Foo::A => {} - Foo::B => {} + match HiddenEnum::A { + HiddenEnum::A => {} + HiddenEnum::B => {} } //~^^^^ non-exhaustive patterns: `_` not covered - match Foo::A { - Foo::A => {} - Foo::C => {} + match HiddenEnum::A { + HiddenEnum::A => {} + HiddenEnum::C => {} } //~^^^^ non-exhaustive patterns: `B` not covered - match Foo::A { - Foo::A => {} + match HiddenEnum::A { + HiddenEnum::A => {} } //~^^^ non-exhaustive patterns: `B` and `_` not covered match None { None => {} - Some(Foo::A) => {} + Some(HiddenEnum::A) => {} } //~^^^^ non-exhaustive patterns: `Some(B)` and `Some(_)` not covered } |
