| #![deny(rustdoc::broken_intra_doc_links)] |
| // first try backticks |
| /// Trait: [`trait@Name`], fn: [`fn@Name`], [`Name`][`macro@Name`] |
| //@ has disambiguators_removed/struct.AtDisambiguator.html |
| //@ has - '//a[@href="trait.Name.html"][code]' "Name" |
| //@ has - '//a[@href="fn.Name.html"][code]' "Name" |
| //@ has - '//a[@href="macro.Name.html"][code]' "Name" |
| pub struct AtDisambiguator; |
| |
| /// fn: [`Name()`], macro: [`Name!`] |
| //@ has disambiguators_removed/struct.SymbolDisambiguator.html |
| //@ has - '//a[@href="fn.Name.html"][code]' "Name()" |
| //@ has - '//a[@href="macro.Name.html"][code]' "Name!" |
| pub struct SymbolDisambiguator; |
| |
| // Now make sure that backticks aren't added if they weren't already there |
| /// [fn@Name] |
| //@ has disambiguators_removed/trait.Name.html |
| //@ has - '//a[@href="fn.Name.html"]' "Name" |
| //@ !has - '//a[@href="fn.Name.html"][code]' "Name" |
| |
| // FIXME: this will turn !() into ! alone |
| /// [Name!()] |
| //@ has - '//a[@href="macro.Name.html"]' "Name!" |
| pub trait Name {} |
| |
| #[allow(non_snake_case)] |
| |
| // Try collapsed reference links |
| /// [macro@Name][] |
| //@ has disambiguators_removed/fn.Name.html |
| //@ has - '//a[@href="macro.Name.html"]' "Name" |
| |
| // Try links that have the same text as a generated URL |
| /// Weird URL aligned [macro.Name.html][trait@Name] |
| //@ has - '//a[@href="trait.Name.html"]' "macro.Name.html" |
| pub fn Name() {} |
| |
| #[macro_export] |
| // Rustdoc doesn't currently handle links that have weird interspersing of inline code blocks. |
| /// [fn@Na`m`e] |
| //@ has disambiguators_removed/macro.Name.html |
| //@ has - '//a[@href="fn.Name.html"]' "fn@Name" |
| |
| // It also doesn't handle any case where the code block isn't the whole link text: |
| /// [trait@`Name`] |
| //@ has - '//a[@href="trait.Name.html"]' "trait@Name" |
| macro_rules! Name { |
| () => () |
| } |