diff options
| author | Lukas Wirth <lukastw97@gmail.com> | 2025-01-09 10:20:11 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-09 10:20:11 +0000 |
| commit | f6e8974fa8ee00b740254df385b99e6bd3b7ee6c (patch) | |
| tree | 6c6fd766ec9ebb80eac9b4ec4561ed6ce827efc2 /src/tools/rust-analyzer/crates/ide-diagnostics | |
| parent | f4ecc34aa71109596fe7d8a809614a5d25732213 (diff) | |
| parent | 89a72c78fc60106b8eeba707dd82cf6eaafe41ef (diff) | |
| download | rust-f6e8974fa8ee00b740254df385b99e6bd3b7ee6c.tar.gz rust-f6e8974fa8ee00b740254df385b99e6bd3b7ee6c.zip | |
Merge pull request #18861 from ChayimFriedman2/await-edition
fix: Make edition per-token, not per-file
Diffstat (limited to 'src/tools/rust-analyzer/crates/ide-diagnostics')
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/no_such_field.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/no_such_field.rs b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/no_such_field.rs index e5d871975b6..0f126a1a656 100644 --- a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/no_such_field.rs +++ b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/no_such_field.rs @@ -399,4 +399,38 @@ fn f(s@m::Struct { "#, ) } + + #[test] + fn editions_between_macros() { + check_diagnostics( + r#" +//- /edition2015.rs crate:edition2015 edition:2015 +#[macro_export] +macro_rules! pass_expr_thorough { + ($e:expr) => { $e }; +} + +//- /edition2018.rs crate:edition2018 deps:edition2015 edition:2018 +async fn bar() {} +async fn foo() { + edition2015::pass_expr_thorough!(bar().await); +} + "#, + ); + check_diagnostics( + r#" +//- /edition2018.rs crate:edition2018 edition:2018 +pub async fn bar() {} +#[macro_export] +macro_rules! make_await { + () => { async { $crate::bar().await }; }; +} + +//- /edition2015.rs crate:edition2015 deps:edition2018 edition:2015 +fn foo() { + edition2018::make_await!(); +} + "#, + ); + } } |
