about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-09-05 09:35:17 +0000
committerbors <bors@rust-lang.org>2020-09-05 09:35:17 +0000
commit02fe30971ef397bcff3460a9aaf175e0810c2c90 (patch)
treeb6a3fc425642f8a041d6611779445efca45ab48b /src
parentc3364780d2cfddfe329f62a3ec138fd4f9a60e27 (diff)
parentb61eab5d514af27009769373360b57dd55036a23 (diff)
downloadrust-02fe30971ef397bcff3460a9aaf175e0810c2c90.tar.gz
rust-02fe30971ef397bcff3460a9aaf175e0810c2c90.zip
Auto merge of #75888 - GuillaumeGomez:trait-impl-assoc-const-doc-alias, r=ollie27
Add check for doc alias on assoc const in trait impl

Fixes #73721.

r? @ollie27
Diffstat (limited to 'src')
-rw-r--r--src/test/rustdoc-ui/doc-alias-assoc-const.rs22
-rw-r--r--src/test/rustdoc-ui/doc-alias-assoc-const.stderr8
2 files changed, 30 insertions, 0 deletions
diff --git a/src/test/rustdoc-ui/doc-alias-assoc-const.rs b/src/test/rustdoc-ui/doc-alias-assoc-const.rs
new file mode 100644
index 00000000000..73e23c152f2
--- /dev/null
+++ b/src/test/rustdoc-ui/doc-alias-assoc-const.rs
@@ -0,0 +1,22 @@
+#![feature(doc_alias)]
+#![feature(trait_alias)]
+
+pub struct Foo;
+
+pub trait Bar {
+    const BAZ: u8;
+}
+
+impl Bar for Foo {
+    #[doc(alias = "CONST_BAZ")] //~ ERROR
+    const BAZ: u8 = 0;
+}
+
+impl Foo {
+    #[doc(alias = "CONST_FOO")] // ok!
+    pub const FOO: u8 = 0;
+
+    pub fn bar() -> u8 {
+        Self::FOO
+    }
+}
diff --git a/src/test/rustdoc-ui/doc-alias-assoc-const.stderr b/src/test/rustdoc-ui/doc-alias-assoc-const.stderr
new file mode 100644
index 00000000000..3c64548cc20
--- /dev/null
+++ b/src/test/rustdoc-ui/doc-alias-assoc-const.stderr
@@ -0,0 +1,8 @@
+error: `#[doc(alias = "...")]` isn't allowed on associated constant in trait implementation block
+  --> $DIR/doc-alias-assoc-const.rs:11:11
+   |
+LL |     #[doc(alias = "CONST_BAZ")]
+   |           ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+