about summary refs log tree commit diff
path: root/tests/rustdoc-ui
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-12-12 13:57:46 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2024-12-17 13:56:10 +1100
commit121e87bf1490f0258bdb354eb8c4e891ebb7e7e7 (patch)
tree949a273bcd41aaceee9a86689e885effc5e0160a /tests/rustdoc-ui
parentf10169c4ec5cc7b059217db7471cb13448b1207e (diff)
Remove `rustc::existing_doc_keyword` lint.
`CheckAttrVisitor::check_doc_keyword` checks `#[doc(keyword = "..")]`
attributes to ensure they are on an empty module, and that the value is
a non-empty identifier.

The `rustc::existing_doc_keyword` lint checks these attributes to ensure
that the value is the name of a keyword.

It's silly to have two different checking mechanisms for these
attributes. This commit does the following.
- Changes `check_doc_keyword` to check that the value is the name of a
  keyword (avoiding the need for the identifier check, which removes a
  dependency on `rustc_lexer`).
- Removes the lint.
- Updates tests accordingly.

There is one hack: the `SelfTy` FIXME case used to used to be handled by
disabling the lint, but now is handled with a special case in
`is_doc_keyword`. That hack will go away if/when the FIXME is fixed.

Co-Authored-By: Guillaume Gomez <guillaume1.gomez@gmail.com>
Diffstat (limited to 'tests/rustdoc-ui')
-rw-r--r--tests/rustdoc-ui/invalid-keyword.stderr4
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/rustdoc-ui/invalid-keyword.stderr b/tests/rustdoc-ui/invalid-keyword.stderr
index 82faaaab47f..c1e41d3b0b3 100644
--- a/tests/rustdoc-ui/invalid-keyword.stderr
+++ b/tests/rustdoc-ui/invalid-keyword.stderr
@@ -1,8 +1,10 @@
-error: `foo df` is not a valid identifier
+error: nonexistent keyword `foo df` used in `#[doc(keyword = "...")]`
   --> $DIR/invalid-keyword.rs:3:17
    |
 LL | #[doc(keyword = "foo df")]
    |                 ^^^^^^^^
+   |
+   = help: only existing keywords are allowed in core/std
 
 error: aborting due to 1 previous error