error: `ambiguous` is both a struct and a function
  --> $DIR/intra-links-ambiguity.rs:27:6
   |
LL | /// [`ambiguous`] is ambiguous.
   |      ^^^^^^^^^^^ ambiguous link
   |
note: lint level defined here
  --> $DIR/intra-links-ambiguity.rs:1:9
   |
LL | #![deny(intra_doc_link_resolution_failure)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: to link to the struct, prefix with the item type
   |
LL | /// [`struct@ambiguous`] is ambiguous.
   |      ^^^^^^^^^^^^^^^^^^
help: to link to the function, add parentheses
   |
LL | /// [`ambiguous()`] is ambiguous.
   |      ^^^^^^^^^^^^^

error: `ambiguous` is both a struct and a function
  --> $DIR/intra-links-ambiguity.rs:29:6
   |
LL | /// [ambiguous] is ambiguous.
   |      ^^^^^^^^^ ambiguous link
   |
help: to link to the struct, prefix with the item type
   |
LL | /// [struct@ambiguous] is ambiguous.
   |      ^^^^^^^^^^^^^^^^
help: to link to the function, add parentheses
   |
LL | /// [ambiguous()] is ambiguous.
   |      ^^^^^^^^^^^

error: `multi_conflict` is a struct, a function, and a macro
  --> $DIR/intra-links-ambiguity.rs:31:6
   |
LL | /// [`multi_conflict`] is a three-way conflict.
   |      ^^^^^^^^^^^^^^^^ ambiguous link
   |
help: to link to the struct, prefix with the item type
   |
LL | /// [`struct@multi_conflict`] is a three-way conflict.
   |      ^^^^^^^^^^^^^^^^^^^^^^^
help: to link to the function, add parentheses
   |
LL | /// [`multi_conflict()`] is a three-way conflict.
   |      ^^^^^^^^^^^^^^^^^^
help: to link to the macro, add an exclamation mark
   |
LL | /// [`multi_conflict!`] is a three-way conflict.
   |      ^^^^^^^^^^^^^^^^^

error: `type_and_value` is both a module and a constant
  --> $DIR/intra-links-ambiguity.rs:33:16
   |
LL | /// Ambiguous [type_and_value].
   |                ^^^^^^^^^^^^^^ ambiguous link
   |
help: to link to the module, prefix with the item type
   |
LL | /// Ambiguous [module@type_and_value].
   |                ^^^^^^^^^^^^^^^^^^^^^
help: to link to the constant, prefix with the item type
   |
LL | /// Ambiguous [const@type_and_value].
   |                ^^^^^^^^^^^^^^^^^^^^

error: `foo::bar` is both an enum and a function
  --> $DIR/intra-links-ambiguity.rs:35:42
   |
LL | /// Ambiguous non-implied shortcut link [`foo::bar`].
   |                                          ^^^^^^^^^^ ambiguous link
   |
help: to link to the enum, prefix with the item type
   |
LL | /// Ambiguous non-implied shortcut link [`enum@foo::bar`].
   |                                          ^^^^^^^^^^^^^^^
help: to link to the function, add parentheses
   |
LL | /// Ambiguous non-implied shortcut link [`foo::bar()`].
   |                                          ^^^^^^^^^^^^

error: aborting due to 5 previous errors

