about summary refs log tree commit diff
path: root/src/test/ui/rustdoc
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2021-03-19 15:03:21 +0100
committerGitHub <noreply@github.com>2021-03-19 15:03:21 +0100
commit61372e1af6a100aedc203d0739073b42f8977e4e (patch)
treee03d9ecf658034f333855d44b9904a445f6c0c76 /src/test/ui/rustdoc
parent29609711a58312fc105a589e353d2ae197532fd5 (diff)
parent1d26e6b632c78dedff2dd19d93d0687b2c97717d (diff)
downloadrust-61372e1af6a100aedc203d0739073b42f8977e4e.tar.gz
rust-61372e1af6a100aedc203d0739073b42f8977e4e.zip
Rollup merge of #82846 - GuillaumeGomez:doc-alias-list, r=jyn514
rustdoc: allow list syntax for #[doc(alias)] attributes

Fixes https://github.com/rust-lang/rust/issues/81205.

It now allows to have:

```rust
#[doc(alias = "x")]
// and:
#[doc(alias("y", "z"))]
```

cc ``@jplatte``
r? ``@jyn514``
Diffstat (limited to 'src/test/ui/rustdoc')
-rw-r--r--src/test/ui/rustdoc/check-doc-alias-attr.rs14
-rw-r--r--src/test/ui/rustdoc/check-doc-alias-attr.stderr72
2 files changed, 74 insertions, 12 deletions
diff --git a/src/test/ui/rustdoc/check-doc-alias-attr.rs b/src/test/ui/rustdoc/check-doc-alias-attr.rs
index 912e35f9165..719b98604c4 100644
--- a/src/test/ui/rustdoc/check-doc-alias-attr.rs
+++ b/src/test/ui/rustdoc/check-doc-alias-attr.rs
@@ -1,11 +1,11 @@
 #![crate_type = "lib"]
 
 #[doc(alias = "foo")] // ok!
+#[doc(alias("bar", "baz"))] // ok!
 pub struct Bar;
 
 #[doc(alias)] //~ ERROR
 #[doc(alias = 0)] //~ ERROR
-#[doc(alias("bar"))] //~ ERROR
 #[doc(alias = "\"")] //~ ERROR
 #[doc(alias = "\n")] //~ ERROR
 #[doc(alias = "
@@ -13,4 +13,16 @@ pub struct Bar;
 #[doc(alias = "\t")] //~ ERROR
 #[doc(alias = " hello")] //~ ERROR
 #[doc(alias = "hello ")] //~ ERROR
+#[doc(alias = "")] //~ ERROR
 pub struct Foo;
+
+#[doc(alias(0))] //~ ERROR
+#[doc(alias("\""))] //~ ERROR
+#[doc(alias("\n"))] //~ ERROR
+#[doc(alias("
+"))] //~^ ERROR
+#[doc(alias("\t"))] //~ ERROR
+#[doc(alias(" hello"))] //~ ERROR
+#[doc(alias("hello "))] //~ ERROR
+#[doc(alias(""))] //~ ERROR
+pub struct Foo2;
diff --git a/src/test/ui/rustdoc/check-doc-alias-attr.stderr b/src/test/ui/rustdoc/check-doc-alias-attr.stderr
index 1c7fc83bb8d..f99d69dc101 100644
--- a/src/test/ui/rustdoc/check-doc-alias-attr.stderr
+++ b/src/test/ui/rustdoc/check-doc-alias-attr.stderr
@@ -1,21 +1,15 @@
-error: doc alias attribute expects a string: #[doc(alias = "a")]
-  --> $DIR/check-doc-alias-attr.rs:6:7
+error: doc alias attribute expects a string `#[doc(alias = "a")]` or a list of strings `#[doc(alias("a", "b"))]`
+  --> $DIR/check-doc-alias-attr.rs:7:7
    |
 LL | #[doc(alias)]
    |       ^^^^^
 
-error: doc alias attribute expects a string: #[doc(alias = "a")]
-  --> $DIR/check-doc-alias-attr.rs:7:7
+error: doc alias attribute expects a string `#[doc(alias = "a")]` or a list of strings `#[doc(alias("a", "b"))]`
+  --> $DIR/check-doc-alias-attr.rs:8:7
    |
 LL | #[doc(alias = 0)]
    |       ^^^^^^^^^
 
-error: doc alias attribute expects a string: #[doc(alias = "a")]
-  --> $DIR/check-doc-alias-attr.rs:8:7
-   |
-LL | #[doc(alias("bar"))]
-   |       ^^^^^^^^^^^^
-
 error: '\"' character isn't allowed in `#[doc(alias = "...")]`
   --> $DIR/check-doc-alias-attr.rs:9:15
    |
@@ -54,5 +48,61 @@ error: `#[doc(alias = "...")]` cannot start or end with ' '
 LL | #[doc(alias = "hello ")]
    |               ^^^^^^^^
 
-error: aborting due to 9 previous errors
+error: `#[doc(alias = "...")]` attribute cannot have empty value
+  --> $DIR/check-doc-alias-attr.rs:16:15
+   |
+LL | #[doc(alias = "")]
+   |               ^^
+
+error: `#[doc(alias("a"))]` expects string literals
+  --> $DIR/check-doc-alias-attr.rs:19:13
+   |
+LL | #[doc(alias(0))]
+   |             ^
+
+error: '\"' character isn't allowed in `#[doc(alias("..."))]`
+  --> $DIR/check-doc-alias-attr.rs:20:13
+   |
+LL | #[doc(alias("\""))]
+   |             ^^^^
+
+error: '\n' character isn't allowed in `#[doc(alias("..."))]`
+  --> $DIR/check-doc-alias-attr.rs:21:13
+   |
+LL | #[doc(alias("\n"))]
+   |             ^^^^
+
+error: '\n' character isn't allowed in `#[doc(alias("..."))]`
+  --> $DIR/check-doc-alias-attr.rs:22:13
+   |
+LL |   #[doc(alias("
+   |  _____________^
+LL | | "))]
+   | |_^
+
+error: '\t' character isn't allowed in `#[doc(alias("..."))]`
+  --> $DIR/check-doc-alias-attr.rs:24:13
+   |
+LL | #[doc(alias("\t"))]
+   |             ^^^^
+
+error: `#[doc(alias("..."))]` cannot start or end with ' '
+  --> $DIR/check-doc-alias-attr.rs:25:13
+   |
+LL | #[doc(alias(" hello"))]
+   |             ^^^^^^^^
+
+error: `#[doc(alias("..."))]` cannot start or end with ' '
+  --> $DIR/check-doc-alias-attr.rs:26:13
+   |
+LL | #[doc(alias("hello "))]
+   |             ^^^^^^^^
+
+error: `#[doc(alias("..."))]` attribute cannot have empty value
+  --> $DIR/check-doc-alias-attr.rs:27:13
+   |
+LL | #[doc(alias(""))]
+   |             ^^
+
+error: aborting due to 17 previous errors