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.rs15
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#"