about summary refs log tree commit diff
path: root/src/test/rustdoc-ui
diff options
context:
space:
mode:
authorMichael Howell <michael@notriddle.com>2022-02-02 16:37:17 -0700
committerMichael Howell <michael@notriddle.com>2022-02-16 09:15:39 -0700
commit1a6d41cdb5219763eeaf3604e5805a854e5ba931 (patch)
treef2a28fef80d2eecfc3771eb2024cc3dccf26e314 /src/test/rustdoc-ui
parent6499c5e7fc173a3f55b7a3bd1e6a50e9edef782d (diff)
rustdoc: resolve intra-doc links when checking HTML
Similar to #86451

CC #67799
Diffstat (limited to 'src/test/rustdoc-ui')
-rw-r--r--src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs25
-rw-r--r--src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr69
2 files changed, 94 insertions, 0 deletions
diff --git a/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs b/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs
new file mode 100644
index 00000000000..b5470c859fd
--- /dev/null
+++ b/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs
@@ -0,0 +1,25 @@
+#![deny(rustdoc::invalid_html_tags)]
+#![deny(rustdoc::broken_intra_doc_links)]
+
+pub struct ExistentStruct<T>(T);
+
+/// This [test][ExistentStruct<i32>] thing!
+pub struct NoError;
+
+/// This [ExistentStruct<i32>] thing!
+//~^ ERROR unclosed HTML tag `i32`
+pub struct PartialErrorOnlyHtml;
+
+/// This [test][NonExistentStruct<i32>] thing!
+//~^ ERROR unresolved link
+pub struct PartialErrorOnlyResolve;
+
+/// This [NonExistentStruct2<i32>] thing!
+//~^ ERROR unclosed HTML tag `i32`
+//~| ERROR unresolved link
+pub struct YesError;
+
+/// This [NonExistentStruct3<i32>][] thing!
+//~^ ERROR unclosed HTML tag `i32`
+//~| ERROR unresolved link
+pub struct YesErrorCollapsed;
diff --git a/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr b/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr
new file mode 100644
index 00000000000..00fe229da40
--- /dev/null
+++ b/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr
@@ -0,0 +1,69 @@
+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
+   |
+note: the lint level is defined here
+  --> $DIR/html-as-generics-intra-doc.rs:2:9
+   |
+LL | #![deny(rustdoc::broken_intra_doc_links)]
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
+
+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
+