From 8f1dba6f9ae1d8d314dd9d007e4c582ed1403e8d Mon Sep 17 00:00:00 2001 From: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> Date: Wed, 8 Apr 2020 18:12:15 +0200 Subject: feat: add attributes support on struct fields and method #3870 Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com> --- crates/ra_hir_ty/src/expr.rs | 9 +-------- crates/ra_hir_ty/src/tests.rs | 9 +++++---- 2 files changed, 6 insertions(+), 12 deletions(-) (limited to 'crates/ra_hir_ty') diff --git a/crates/ra_hir_ty/src/expr.rs b/crates/ra_hir_ty/src/expr.rs index 6547eedae..fb779cbef 100644 --- a/crates/ra_hir_ty/src/expr.rs +++ b/crates/ra_hir_ty/src/expr.rs @@ -166,14 +166,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { let variant_data = variant_data(db.upcast(), variant_def); - let lit_fields: FxHashSet<_> = fields - .iter() - .filter_map(|f| { - // TODO: check if cfg_is_enabled with .attrs ? - - Some(&f.name) - }) - .collect(); + let lit_fields: FxHashSet<_> = fields.iter().map(|f| &f.name).collect(); let missed_fields: Vec = variant_data .fields() .iter() diff --git a/crates/ra_hir_ty/src/tests.rs b/crates/ra_hir_ty/src/tests.rs index e6ac0aec3..060814e53 100644 --- a/crates/ra_hir_ty/src/tests.rs +++ b/crates/ra_hir_ty/src/tests.rs @@ -324,7 +324,7 @@ fn no_such_field_diagnostics() { fn no_such_field_with_feature_flag_diagnostics() { let diagnostics = TestDB::with_files( r#" - //- /lib.rs + //- /lib.rs crate:foo cfg:feature=foo struct MyStruct { my_val: usize, #[cfg(feature = "foo")] @@ -336,7 +336,7 @@ fn no_such_field_with_feature_flag_diagnostics() { pub(crate) fn new(my_val: usize, bar: bool) -> Self { Self { my_val, bar } } - + #[cfg(not(feature = "foo"))] pub(crate) fn new(my_val: usize, _bar: bool) -> Self { Self { my_val } @@ -344,7 +344,8 @@ fn no_such_field_with_feature_flag_diagnostics() { } "#, ) - .diagnostics(); + .diagnostics() + .0; - assert_snapshot!(diagnostics, ""); + assert_snapshot!(diagnostics, @r###""###); } -- cgit v1.2.3