diff options
| author | roife <roifewu@gmail.com> | 2024-06-06 16:50:40 +0800 |
|---|---|---|
| committer | roife <roifewu@gmail.com> | 2024-06-06 17:03:40 +0800 |
| commit | 07fde0779e396d73a51417cbb2201205550fe6fe (patch) | |
| tree | f5d98cccfa759cdbe47c43c2cd564652e16b1c71 | |
| parent | 6561b71eed0bd25d380c1324640e953d7bfd72ec (diff) | |
| download | rust-07fde0779e396d73a51417cbb2201205550fe6fe.tar.gz rust-07fde0779e396d73a51417cbb2201205550fe6fe.zip | |
test: add regression test for prelude shadowing in block modules
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide/src/goto_definition.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/goto_definition.rs b/src/tools/rust-analyzer/crates/ide/src/goto_definition.rs index 76b80fcefa4..f57cb1cb730 100644 --- a/src/tools/rust-analyzer/crates/ide/src/goto_definition.rs +++ b/src/tools/rust-analyzer/crates/ide/src/goto_definition.rs @@ -2289,4 +2289,28 @@ macro_rules! baz { "#, ); } + + #[test] + fn goto_shadowed_preludes_in_block_module() { + check( + r#" +//- /main.rs crate:main edition:2021 deps:core +pub struct S; + //^ + +fn main() { + fn f() -> S$0 { + fn inner() {} // forces a block def map + return S; + } +} +//- /core.rs crate:core +pub mod prelude { + pub mod rust_2021 { + pub enum S; + } +} + "#, + ); + } } |
