Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/macro_expansion_tests/proc_macros.rs')
| -rw-r--r-- | crates/hir-def/src/macro_expansion_tests/proc_macros.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/crates/hir-def/src/macro_expansion_tests/proc_macros.rs b/crates/hir-def/src/macro_expansion_tests/proc_macros.rs index 0ca30fb799..e4b065d020 100644 --- a/crates/hir-def/src/macro_expansion_tests/proc_macros.rs +++ b/crates/hir-def/src/macro_expansion_tests/proc_macros.rs @@ -92,3 +92,40 @@ fn foo() { }"##]], ); } + +#[test] +fn float_parsing_panic() { + // Regression test for https://github.com/rust-lang/rust-analyzer/issues/12211 + check( + r#" +//- proc_macros: identity +macro_rules! id { + ($($t:tt)*) => { + $($t)* + }; +} + +id! { + #[proc_macros::identity] + impl Foo for WrapBj { + async fn foo(&self) { + self.0. id().await; + } + } +} +"#, + expect![[r##" +macro_rules! id { + ($($t:tt)*) => { + $($t)* + }; +} + +#[proc_macros::identity] impl Foo for WrapBj { + async fn foo(&self ) { + self .0.id().await ; + } +} +"##]], + ); +} |