From 0bf986d718a03add05d386c0c305f3730c02942f Mon Sep 17 00:00:00 2001 From: Young-Flash Date: Thu, 18 Jan 2024 17:43:44 +0800 Subject: [PATCH] add test case with marco reference --- .../extract_struct_from_enum_variant.rs | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/crates/ide-assists/src/handlers/extract_struct_from_enum_variant.rs b/crates/ide-assists/src/handlers/extract_struct_from_enum_variant.rs index 4961e05e2f..dde2b497fb 100644 --- a/crates/ide-assists/src/handlers/extract_struct_from_enum_variant.rs +++ b/crates/ide-assists/src/handlers/extract_struct_from_enum_variant.rs @@ -440,6 +440,45 @@ mod tests { use super::*; + #[test] + fn test_with_marco() { + check_assist( + extract_struct_from_enum_variant, + r#" +macro_rules! foo { + ($x:expr) => { + $x + }; +} + +enum TheEnum { + TheVariant$0 { the_field: u8 }, +} + +fn main() { + foo![TheEnum::TheVariant { the_field: 42 }]; +} +"#, + r#" +macro_rules! foo { + ($x:expr) => { + $x + }; +} + +struct TheVariant{ the_field: u8 } + +enum TheEnum { + TheVariant(TheVariant), +} + +fn main() { + foo![TheEnum::TheVariant { the_field: 42 }]; +} +"#, + ); + } + #[test] fn issue_16197() { check_assist(