diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-07-14 16:46:01 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-07-14 16:46:01 +0100 |
commit | ff6cf4f84914529f112b5bbefbefb2fb33c7f67a (patch) | |
tree | 5279549a39259d7c3d19ca5d72c59093c2cf7e8a /crates/ra_ide | |
parent | 408b5fafc5fa6e18dc61a6e7a514692ae4352b0e (diff) | |
parent | 2163ceb7ef0fc3c5268c9ca5f48bb50ae311947f (diff) |
Merge #5377
5377: Fix classify_name_ref on multi-path macro calls r=matklad a=jonas-schievink
Previously, "go to definition" on `log<|>::info!(...)` would go to the `info!` macro, not to the `log` crate. This fixes that.
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'crates/ra_ide')
-rw-r--r-- | crates/ra_ide/src/goto_definition.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crates/ra_ide/src/goto_definition.rs b/crates/ra_ide/src/goto_definition.rs index f575d738f..c30b20611 100644 --- a/crates/ra_ide/src/goto_definition.rs +++ b/crates/ra_ide/src/goto_definition.rs | |||
@@ -866,4 +866,22 @@ type Alias<T> = T<|>; | |||
866 | "#, | 866 | "#, |
867 | ) | 867 | ) |
868 | } | 868 | } |
869 | |||
870 | #[test] | ||
871 | fn goto_def_for_macro_container() { | ||
872 | check( | ||
873 | r#" | ||
874 | //- /lib.rs | ||
875 | foo::module<|>::mac!(); | ||
876 | |||
877 | //- /foo/lib.rs | ||
878 | pub mod module { | ||
879 | //^^^^^^ | ||
880 | #[macro_export] | ||
881 | macro_rules! _mac { () => { () } } | ||
882 | pub use crate::_mac as mac; | ||
883 | } | ||
884 | "#, | ||
885 | ); | ||
886 | } | ||
869 | } | 887 | } |