error: unresolved link to `NonExistentStruct`
  --> $DIR/html-as-generics-intra-doc.rs:13:17
   |
LL | /// This [test][NonExistentStruct<i32>] thing!
   |                 ^^^^^^^^^^^^^^^^^^^^^^ no item named `NonExistentStruct` in scope
   |
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
note: the lint level is defined here
  --> $DIR/html-as-generics-intra-doc.rs:2:9
   |
LL | #![deny(rustdoc::broken_intra_doc_links)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: unresolved link to `NonExistentStruct2`
  --> $DIR/html-as-generics-intra-doc.rs:17:11
   |
LL | /// This [NonExistentStruct2<i32>] thing!
   |           ^^^^^^^^^^^^^^^^^^^^^^^ no item named `NonExistentStruct2` in scope
   |
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

error: unresolved link to `NonExistentStruct3`
  --> $DIR/html-as-generics-intra-doc.rs:22:11
   |
LL | /// This [NonExistentStruct3<i32>][] thing!
   |           ^^^^^^^^^^^^^^^^^^^^^^^ no item named `NonExistentStruct3` in scope
   |
   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

error: unclosed HTML tag `i32`
  --> $DIR/html-as-generics-intra-doc.rs:9:25
   |
LL | /// This [ExistentStruct<i32>] thing!
   |                         ^^^^^
   |
note: the lint level is defined here
  --> $DIR/html-as-generics-intra-doc.rs:1:9
   |
LL | #![deny(rustdoc::invalid_html_tags)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: try marking as source code
   |
LL | /// This [`ExistentStruct<i32>`] thing!
   |           +                   +

error: unclosed HTML tag `i32`
  --> $DIR/html-as-generics-intra-doc.rs:17:29
   |
LL | /// This [NonExistentStruct2<i32>] thing!
   |                             ^^^^^
   |
help: try marking as source code
   |
LL | /// This [`NonExistentStruct2<i32>`] thing!
   |           +                       +

error: unclosed HTML tag `i32`
  --> $DIR/html-as-generics-intra-doc.rs:22:29
   |
LL | /// This [NonExistentStruct3<i32>][] thing!
   |                             ^^^^^
   |
help: try marking as source code
   |
LL | /// This [`NonExistentStruct3<i32>`][] thing!
   |           +                       +

error: aborting due to 6 previous errors

