Rollup merge of #121680 - GuillaumeGomez:foreign-macro-jump-to-def, r=notriddle

Fix link generation for foreign macro in jump to definition feature

The crate name is already added to the link so it shouldn't be added a second time for local foreign macros.

r? ``@notriddle``
This commit is contained in:
Guillaume Gomez 2024-02-28 16:04:52 +01:00 committed by GitHub
commit b609afeaf2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 22 additions and 1 deletions

View file

@ -575,7 +575,7 @@ fn generate_macro_def_id_path(
ExternalLocation::Local => {
// `root_path` always end with a `/`.
format!(
"{root_path}{crate_name}/{path}",
"{root_path}{path}",
root_path = root_path.unwrap_or(""),
path = path.iter().map(|p| p.as_str()).join("/")
)

View file

@ -0,0 +1,6 @@
#[macro_export]
macro_rules! symbols {
($name:ident = $value:expr) => {
pub const $name: isize = $value;
}
}

View file

@ -0,0 +1,15 @@
//@ aux-build:jump-to-def-macro.rs
//@ build-aux-docs
//@ compile-flags: -Zunstable-options --generate-link-to-definition
#![crate_name = "foo"]
// @has 'src/foo/jump-to-def-macro.rs.html'
#[macro_use]
extern crate jump_to_def_macro;
// @has - '//a[@href="../../jump_to_def_macro/macro.symbols.html"]' 'symbols!'
symbols! {
A = 12
}