Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/private_field.rs')
| -rw-r--r-- | crates/ide-diagnostics/src/handlers/private_field.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/crates/ide-diagnostics/src/handlers/private_field.rs b/crates/ide-diagnostics/src/handlers/private_field.rs index 3db5eca07b..e630ae3686 100644 --- a/crates/ide-diagnostics/src/handlers/private_field.rs +++ b/crates/ide-diagnostics/src/handlers/private_field.rs @@ -2,7 +2,7 @@ use crate::{Diagnostic, DiagnosticsContext}; // Diagnostic: private-field // -// This diagnostic is triggered if created structure does not have field provided in record. +// This diagnostic is triggered if the accessed field is not visible from the current module. pub(crate) fn private_field(ctx: &DiagnosticsContext<'_>, d: &hir::PrivateField) -> Diagnostic { // FIXME: add quickfix Diagnostic::new( @@ -34,6 +34,19 @@ fn main(s: module::Struct) { } #[test] + fn private_tuple_field() { + check_diagnostics( + r#" +mod module { pub struct Struct(u32); } +fn main(s: module::Struct) { + s.0; + //^^^ error: field `0` of `Struct` is private +} +"#, + ); + } + + #[test] fn private_but_shadowed_in_deref() { check_diagnostics( r#" |