diff options
Diffstat (limited to 'crates/ra_hir_ty/src')
-rw-r--r-- | crates/ra_hir_ty/src/tests.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/crates/ra_hir_ty/src/tests.rs b/crates/ra_hir_ty/src/tests.rs index b6a96bb5c..588d81282 100644 --- a/crates/ra_hir_ty/src/tests.rs +++ b/crates/ra_hir_ty/src/tests.rs | |||
@@ -391,6 +391,38 @@ fn no_such_field_with_feature_flag_diagnostics_on_struct_lit() { | |||
391 | } | 391 | } |
392 | 392 | ||
393 | #[test] | 393 | #[test] |
394 | fn no_such_field_with_feature_flag_diagnostics_on_block_expr() { | ||
395 | let diagnostics = TestDB::with_files( | ||
396 | r#" | ||
397 | //- /lib.rs crate:foo cfg:feature=foo | ||
398 | struct S { | ||
399 | #[cfg(feature = "foo")] | ||
400 | foo: u32, | ||
401 | #[cfg(not(feature = "foo"))] | ||
402 | bar: u32, | ||
403 | } | ||
404 | |||
405 | impl S { | ||
406 | fn new(bar: u32) -> Self { | ||
407 | #[cfg(feature = "foo")] | ||
408 | { | ||
409 | Self { foo: bar } | ||
410 | } | ||
411 | #[cfg(not(feature = "foo"))] | ||
412 | { | ||
413 | Self { bar } | ||
414 | } | ||
415 | } | ||
416 | } | ||
417 | "#, | ||
418 | ) | ||
419 | .diagnostics() | ||
420 | .0; | ||
421 | |||
422 | assert_snapshot!(diagnostics, @r###""###); | ||
423 | } | ||
424 | |||
425 | #[test] | ||
394 | fn no_such_field_with_feature_flag_diagnostics_on_struct_fields() { | 426 | fn no_such_field_with_feature_flag_diagnostics_on_struct_fields() { |
395 | let diagnostics = TestDB::with_files( | 427 | let diagnostics = TestDB::with_files( |
396 | r#" | 428 | r#" |