diff options
| author | Michael Goulet <michael@errs.io> | 2023-01-08 19:45:23 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2023-01-08 20:04:40 +0000 |
| commit | 59aa421f3518b28bba5ebc883714638e65b0a3c5 (patch) | |
| tree | 490ad0538696730db71d6a7f4e5fc88b04734f03 /src/test | |
| parent | fa51fc01ca3d654d08d627b1d1482d1b77e5ed8b (diff) | |
| download | rust-59aa421f3518b28bba5ebc883714638e65b0a3c5.tar.gz rust-59aa421f3518b28bba5ebc883714638e65b0a3c5.zip | |
Suppress type errors that come from private fields
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/issues/issue-25386.rs | 1 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-25386.stderr | 8 | ||||
| -rw-r--r-- | src/test/ui/privacy/private-field-ty-err.rs | 20 | ||||
| -rw-r--r-- | src/test/ui/privacy/private-field-ty-err.stderr | 14 |
4 files changed, 35 insertions, 8 deletions
diff --git a/src/test/ui/issues/issue-25386.rs b/src/test/ui/issues/issue-25386.rs index a76d8a615f6..b26cc77680d 100644 --- a/src/test/ui/issues/issue-25386.rs +++ b/src/test/ui/issues/issue-25386.rs @@ -24,5 +24,4 @@ macro_rules! check_ptr_exist { fn main() { let item = stuff::Item::new(); println!("{}", check_ptr_exist!(item, name)); - //~^ ERROR field `name` of struct `CObj` is private } diff --git a/src/test/ui/issues/issue-25386.stderr b/src/test/ui/issues/issue-25386.stderr index bce269393ee..727b9690829 100644 --- a/src/test/ui/issues/issue-25386.stderr +++ b/src/test/ui/issues/issue-25386.stderr @@ -9,12 +9,6 @@ LL | println!("{}", check_ptr_exist!(item, name)); | = note: this error originates in the macro `check_ptr_exist` (in Nightly builds, run with -Z macro-backtrace for more info) -error[E0616]: field `name` of struct `CObj` is private - --> $DIR/issue-25386.rs:26:43 - | -LL | println!("{}", check_ptr_exist!(item, name)); - | ^^^^ private field - -error: aborting due to 2 previous errors +error: aborting due to previous error For more information about this error, try `rustc --explain E0616`. diff --git a/src/test/ui/privacy/private-field-ty-err.rs b/src/test/ui/privacy/private-field-ty-err.rs new file mode 100644 index 00000000000..10db6069567 --- /dev/null +++ b/src/test/ui/privacy/private-field-ty-err.rs @@ -0,0 +1,20 @@ +fn main() { + let x = foo::Foo::default(); + if x.len { + //~^ ERROR field `len` of struct `Foo` is private + println!("foo"); + } +} + +mod foo { + #[derive(Default)] + pub struct Foo { + len: String, + } + + impl Foo { + pub fn len(&self) -> usize { + 42 + } + } +} diff --git a/src/test/ui/privacy/private-field-ty-err.stderr b/src/test/ui/privacy/private-field-ty-err.stderr new file mode 100644 index 00000000000..e583a25fd8f --- /dev/null +++ b/src/test/ui/privacy/private-field-ty-err.stderr @@ -0,0 +1,14 @@ +error[E0616]: field `len` of struct `Foo` is private + --> $DIR/private-field-ty-err.rs:3:10 + | +LL | if x.len { + | ^^^ private field + | +help: a method `len` also exists, call it with parentheses + | +LL | if x.len() { + | ++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0616`. |
