Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/missing_fields.rs')
-rw-r--r--crates/ide-diagnostics/src/handlers/missing_fields.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/crates/ide-diagnostics/src/handlers/missing_fields.rs b/crates/ide-diagnostics/src/handlers/missing_fields.rs
index 938b7182bc..c495df9daa 100644
--- a/crates/ide-diagnostics/src/handlers/missing_fields.rs
+++ b/crates/ide-diagnostics/src/handlers/missing_fields.rs
@@ -846,4 +846,35 @@ pub struct Claims {
"#,
);
}
+
+ #[test]
+ fn default_field_values() {
+ check_diagnostics(
+ r#"
+struct F {
+ field1: i32 = 4,
+ field2: bool,
+}
+
+fn f() {
+ let _f = F {
+ field2: true,
+ ..
+ };
+
+ let _f = F {
+ //^ 💡 error: missing structure fields:
+ //| - field1
+ field2: true,
+ };
+
+ let _f = F {
+ //^ 💡 error: missing structure fields:
+ //| - field2
+ ..
+ };
+}
+"#,
+ );
+ }
}