Port `doc` attributes to new attribute API
Part of https://github.com/rust-lang/rust/issues/131229.
This PR ports the doc attributes to the new attribute API. However, there are things that will need to be fixed in a follow-up:
- Some part of
cfg_old.rsare likely unused now, so they should be removed. - Not all error/lints are emitted at the same time anymore, making them kinda less useful considering that you need to run and fix rustc/rustdoc multiple times to get through all of them.
- For coherency with the other attribute errors, I didn't modify the default output too much, meaning that we have some new messages now. I'll likely come back to that to check if the previous ones were better in a case-by-case approach.
doc(test(attr(...)))is handled in a horrifying manner currently. Until we can handle it correctly with theAttributesystem, it'll remain that thing we're all very ashamed of. :smiling_imp:- A type in rustdoc got its size increased, I'll check the impact on performance. But in any case, I plan to improve it in a follow-up so should be "ok".
- Because of error reporting, some fields of
Docare suboptimal, likeinlinewhich instead of being anOptionis aThinVecbecause we report the error later on. Part of the things I'm not super happy about but can be postponed to future me. - In
src/librustdoc/clean/cfg.rs, thepub(crate) fn parse(cfg: &MetaItemInner) -> Result<Cfg, InvalidCfgError> {function should be removed oncecfg_tracehas been ported to newcfgAPI. - Size of type
DocFragmentwent from 32 to 48. Would be nice to get it back to 32.
And finally, once this PR is merged, I plan to finally stabilize doc_cfg feature. :)
cc @jdonszelmann r? @JonathanBrouwer
Some changes occurred in compiler/rustc_passes/src/check_attr.rs
cc @jdonszelmann
Some changes occurred in compiler/rustc_attr_parsing
cc @jdonszelmann
These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.
If this was unintentional then you should revert the changes before this PR is merged. Otherwise, you can ignore this comment.
Some changes occurred in compiler/rustc_hir/src/attrs
cc @jdonszelmann
Just to be safe:
@bors try @rust-timer queue
Awaiting bors try build completion.
@rustbot label: +S-waiting-on-perf
:hourglass: Trying commit 99104efe50a7173981904efbf23d185bda35cc87 with merge 4f240130369441697d5ccde454291d18ea71990c…
To cancel the try build, run the command @bors try cancel.
Workflow: https://github.com/rust-lang/rust/actions/runs/19933318389
The job aarch64-gnu-llvm-20-2 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
fmt check
fmt: checked 6588 files
tidy check
tidy [rustdoc_json (src)]: `rustdoc-json-types` modified, checking format version
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_unused_multiple` appears before `attr_parsing_doc_alias_duplicated`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_whole_archive_needs_static` appears before `attr_parsing_unused_no_lints_note`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_unused_no_lints_note` appears before `attr_parsing_doc_alias_empty`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_alias_empty` appears before `attr_parsing_doc_alias_bad_char`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_keyword_not_keyword` appears before `attr_parsing_doc_attribute_not_attribute`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_inline_conflict_second` appears before `attr_parsing_doc_auto_cfg_expects_hide_or_show`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_auto_cfg_hide_show_unexpected_item` appears before `attr_parsing_doc_auto_cfg_hide_show_expects_list`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_unknown_spotlight` appears before `attr_parsing_doc_unknown_passes`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_unknown_plugins` appears before `attr_parsing_doc_unknown_any`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_unknown_any` appears before `attr_parsing_doc_auto_cfg_wrong_literal`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_test_unknown` appears before `attr_parsing_doc_test_literal`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_test_literal` appears before `attr_parsing_doc_alias_malformed`, but is alphabetically later than it. Run `./x.py test tidy --bless` to sort the file correctly
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_inline_conflict` is not used
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_unused_no_lints_note` is not used
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_inline_conflict_first` is not used
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_inline_conflict_second` is not used
tidy [fluent_used (compiler)]: FAIL
tidy [fluent_alphabetical (compiler)]: FAIL
tidy: Skipping binary file check, read-only filesystem
tidy: The following checks failed: fluent_alphabetical (compiler), fluent_used (compiler)
Command `/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-tools-bin/rust-tidy /checkout /checkout/obj/build/aarch64-unknown-linux-gnu/stage0/bin/cargo /checkout/obj/build 4 yarn` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:1612:23
Executed at: src/bootstrap/src/core/build_steps/test.rs:1317:29
Command has failed. Rerun with -v to see more details.
Bootstrap failed while executing `--stage 2 test --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest`
Build completed unsuccessfully in 0:00:45
local time: Thu Dec 4 15:02:27 UTC 2025
network time: Thu, 04 Dec 2025 15:02:28 GMT
##[error]Process completed with exit code 1.
The job tidy failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
fmt check
fmt: checked 6588 files
tidy check
tidy [rustdoc_json (src)]: `rustdoc-json-types` modified, checking format version
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_inline_conflict` is not used
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_inline_conflict_second` is not used
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_doc_inline_conflict_first` is not used
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_unused_no_lints_note` is not used
tidy [fluent_used (compiler)]: FAIL
tidy: Skipping binary file check, read-only filesystem
removing old virtual environment
creating virtual environment at '/checkout/obj/build/venv' using 'python3.10' and 'venv'
creating virtual environment at '/checkout/obj/build/venv' using 'python3.10' and 'virtualenv'
Requirement already satisfied: pip in ./build/venv/lib/python3.10/site-packages (25.3)
---
info: ES-Check: there were no ES version matching errors! 🎉
typechecking javascript files
tidy: The following check failed: fluent_used (compiler)
Bootstrap failed while executing `test src/tools/tidy tidyselftest --extra-checks=py,cpp,js,spellcheck`
Command `/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools-bin/rust-tidy /checkout /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo /checkout/obj/build 4 /node/bin/yarn --extra-checks=py,cpp,js,spellcheck` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:1612:23
Executed at: src/bootstrap/src/core/build_steps/test.rs:1317:29
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:02:59
local time: Thu Dec 4 15:57:32 UTC 2025
network time: Thu, 04 Dec 2025 15:57:32 GMT
##[error]Process completed with exit code 1.
##[group]Run echo "disk usage:"
The job pr-check-2 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] filetime test:false 0.087
error[E0599]: no method named `doc_str_and_comment_kind` found for reference `&rustc_hir::Attribute` in the current scope
--> src/tools/clippy/clippy_lints/src/doc/doc_suspicious_footnotes.rs:52:50
|
52 | ... Some((attr, attr.doc_str_and_comment_kind()?, attr.doc_resolution_scope()?))
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: there is a method `doc_str_and_fragment_kind` with a similar name
|
52 - Some((attr, attr.doc_str_and_comment_kind()?, attr.doc_resolution_scope()?))
52 + Some((attr, attr.doc_str_and_fragment_kind()?, attr.doc_resolution_scope()?))
|
error[E0282]: type annotations needed for `(_, (_, CommentKind), AttrStyle)`
--> src/tools/clippy/clippy_lints/src/doc/doc_suspicious_footnotes.rs:47:29
|
47 | let (doc_attr, (_, doc_attr_comment_kind), attr_style) = attrs
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
62 | doc_attr.span().shrink_to_hi(),
| -------- type must be known at this point
|
help: consider giving this pattern a type, where the placeholders `_` are specified
|
47 | let (doc_attr, (_, doc_attr_comment_kind), attr_style): (_, (_, _), _) = attrs
| ++++++++++++++++
error[E0308]: mismatched types
--> src/tools/clippy/clippy_lints/src/doc/suspicious_doc_comments.rs:49:21
|
48 | let sugg = match kind {
| ---- this expression has type `&DocFragmentKind`
49 | CommentKind::Line => format!("//!{com}"),
| ^^^^^^^^^^^^^^^^^ expected `DocFragmentKind`, found `CommentKind`
error[E0308]: mismatched types
--> src/tools/clippy/clippy_lints/src/doc/suspicious_doc_comments.rs:50:21
|
48 | let sugg = match kind {
| ---- this expression has type `&DocFragmentKind`
49 | CommentKind::Line => format!("//!{com}"),
50 | CommentKind::Block => format!("/*!{com}*/"),
| ^^^^^^^^^^^^^^^^^^ expected `DocFragmentKind`, found `CommentKind`
error[E0599]: no method named `doc_str_and_comment_kind` found for reference `&rustc_hir::Attribute` in the current scope
--> src/tools/clippy/clippy_lints/src/doc/mod.rs:864:21
|
864 | if attr.doc_str_and_comment_kind().is_none() || attr.span().in_external_macro(cx.sess().source_map()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
help: there is a method `doc_str_and_fragment_kind` with a similar name
|
864 - if attr.doc_str_and_comment_kind().is_none() || attr.span().in_external_macro(cx.sess().source_map()) {
864 + if attr.doc_str_and_fragment_kind().is_none() || attr.span().in_external_macro(cx.sess().source_map()) {
|
[RUSTC-TIMING] askama_derive test:false 1.675
Checking askama v0.14.0
[RUSTC-TIMING] askama test:false 0.175
Ah right, forgot about clippy. Updating it as well.
Some changes occurred in src/tools/clippy
cc @rust-lang/clippy
:sunny: Try build successful (CI)
Build commit: 4f240130369441697d5ccde454291d18ea71990c (4f240130369441697d5ccde454291d18ea71990c, parent: 5372fc9cb790c112ce707991b1fcc025cec8fdbe)
Queued 4f240130369441697d5ccde454291d18ea71990c with parent 5372fc9cb790c112ce707991b1fcc025cec8fdbe, future comparison URL. There are currently 3 preceding artifacts in the queue. It will probably take at least ~4.5 hours until the benchmark run finishes.
The job aarch64-gnu-llvm-20-2 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] rustc_passes test:true 4.724
Compiling rustc_hir_typeck v0.0.0 (/checkout/compiler/rustc_hir_typeck)
[RUSTC-TIMING] rustc_public test:true 5.154
Compiling rustc_resolve v0.0.0 (/checkout/compiler/rustc_resolve)
error[E0599]: no variant or associated item named `RawDoc` found for enum `DocFragmentKind` in the current scope
--> compiler/rustc_resolve/src/rustdoc/tests.rs:20:36
|
20 | kind: DocFragmentKind::RawDoc,
| ^^^^^^ variant or associated item not found in `DocFragmentKind`
error[E0599]: no variant or associated item named `RawDoc` found for enum `DocFragmentKind` in the current scope
--> compiler/rustc_resolve/src/rustdoc/tests.rs:43:36
|
43 | kind: DocFragmentKind::RawDoc,
| ^^^^^^ variant or associated item not found in `DocFragmentKind`
For more information about this error, try `rustc --explain E0599`.
[RUSTC-TIMING] rustc_resolve test:true 7.303
error: could not compile `rustc_resolve` (lib test) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
- | ^^^^^^
+ LL | #[doc(123)]
+ | ^^^^^^---^^
+ | |
+ | expected this to be of the form `... = "..."`
6 |
- = note: `#[deny(invalid_doc_attributes)]` on by default
-
- error: invalid `doc` attribute
- --> $DIR/doc-attr.rs:9:7
+ help: try changing it to one of the following valid forms of the attribute
11 |
- LL | #[doc(123)]
- | ^^^
+ LL - #[doc(123)]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc(123)]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc(123)]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc(123)]
+ LL + #[doc(test)]
+ |
14
- error: invalid `doc` attribute
- --> $DIR/doc-attr.rs:11:7
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/doc-attr.rs:11:1
17 |
18 LL | #[doc("hello", "bar")]
- | ^^^^^^^
+ | ^^^^^^-------^^^^^^^^^
+ | |
+ | expected this to be of the form `... = "..."`
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(test)]
+ |
20
- error: invalid `doc` attribute
- --> $DIR/doc-attr.rs:11:16
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/doc-attr.rs:11:1
23 |
24 LL | #[doc("hello", "bar")]
- | ^^^^^
+ | ^^^^^^^^^^^^^^^-----^^
+ | |
+ | expected this to be of the form `... = "..."`
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(test)]
+ |
26
+ error: unknown `doc` attribute `as_ptr`
+ --> $DIR/doc-attr.rs:5:7
+ |
+ LL | #[doc(as_ptr)]
+ | ^^^^^^
+ |
+ = note: `#[deny(invalid_doc_attributes)]` on by default
+
27 error: unknown `doc` attribute `foo::bar`
28 --> $DIR/doc-attr.rs:14:7
29 |
34 --> $DIR/doc-attr.rs:14:17
35 |
36 LL | #[doc(foo::bar, crate::bar::baz = "bye")]
- | ^^^^^^^^^^^^^^^^^^^^^^^
+ | ^^^^^^^^^^^^^^^
38
39 error: unknown `doc` attribute `as_ptr`
40 --> $DIR/doc-attr.rs:2:8
---
+ --> $DIR/doc-attr.rs:9:1
+ LL | #[doc(123)]
+ | ^^^^^^---^^
+ | |
+ | expected this to be of the form `... = "..."`
+ help: try changing it to one of the following valid forms of the attribute
+ LL - #[doc(123)]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc(123)]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc(123)]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc(123)]
+ LL + #[doc(test)]
+ |
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/doc-attr.rs:11:1
+ | ^^^^^^-------^^^^^^^^^
+ | |
+ | expected this to be of the form `... = "..."`
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(test)]
+ |
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/doc-attr.rs:11:1
+ | ^^^^^^^^^^^^^^^-----^^
+ | |
+ | expected this to be of the form `... = "..."`
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc("hello", "bar")]
+ LL + #[doc(test)]
+ |
+ error: unknown `doc` attribute `as_ptr`
+ --> $DIR/doc-attr.rs:5:7
+ |
+ LL | #[doc(as_ptr)]
+ | ^^^^^^
+ |
+ = note: `#[deny(invalid_doc_attributes)]` on by default
+
+ | ^^^^^^^^^^^^^^^
---
To only update this specific test, also pass `--test-args attributes/doc-attr.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/doc-attr.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/doc-attr" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0539]: malformed `doc` attribute input
##[error] --> /checkout/tests/ui/attributes/doc-attr.rs:9:1
|
LL | #[doc(123)]
| ^^^^^^---^^
| |
| expected this to be of the form `... = "..."`
|
help: try changing it to one of the following valid forms of the attribute
|
LL - #[doc(123)]
LL + #[doc = "string"]
---
error[E0539]: malformed `doc` attribute input
##[error] --> /checkout/tests/ui/attributes/doc-attr.rs:11:1
|
LL | #[doc("hello", "bar")]
| ^^^^^^-------^^^^^^^^^
| |
| expected this to be of the form `... = "..."`
|
help: try changing it to one of the following valid forms of the attribute
|
LL - #[doc("hello", "bar")]
LL + #[doc = "string"]
|
LL - #[doc("hello", "bar")]
LL + #[doc(hidden)]
|
LL - #[doc("hello", "bar")]
LL + #[doc(inline)]
|
LL - #[doc("hello", "bar")]
LL + #[doc(test)]
|
error[E0539]: malformed `doc` attribute input
##[error] --> /checkout/tests/ui/attributes/doc-attr.rs:11:1
|
LL | #[doc("hello", "bar")]
| ^^^^^^^^^^^^^^^-----^^
| |
| expected this to be of the form `... = "..."`
|
help: try changing it to one of the following valid forms of the attribute
|
LL - #[doc("hello", "bar")]
LL + #[doc = "string"]
|
LL - #[doc("hello", "bar")]
LL + #[doc(hidden)]
|
LL - #[doc("hello", "bar")]
LL + #[doc(inline)]
|
LL - #[doc("hello", "bar")]
LL + #[doc(test)]
|
error: unknown `doc` attribute `as_ptr`
##[error] --> /checkout/tests/ui/attributes/doc-attr.rs:5:7
|
---
error: unknown `doc` attribute `foo::bar`
##[error] --> /checkout/tests/ui/attributes/doc-attr.rs:14:7
|
LL | #[doc(foo::bar, crate::bar::baz = "bye")]
| ^^^^^^^^
error: unknown `doc` attribute `crate::bar::baz`
##[error] --> /checkout/tests/ui/attributes/doc-attr.rs:14:17
|
LL | #[doc(foo::bar, crate::bar::baz = "bye")]
| ^^^^^^^^^^^^^^^
error: unknown `doc` attribute `as_ptr`
##[error] --> /checkout/tests/ui/attributes/doc-attr.rs:2:8
|
---
---- [ui] tests/ui/attributes/doc-test-literal.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/doc-test-literal/doc-test-literal.stderr`
diff of stderr:
- error: `#![doc(test(...)]` does not take a literal
- --> $DIR/doc-test-literal.rs:1:13
+ error[E0565]: malformed `doc` attribute input
+ --> $DIR/doc-test-literal.rs:1:1
3 |
4 LL | #![doc(test(""))]
- | ^^
+ | ^^^^^^^^^^^^--^^^
+ | |
+ | didn't expect a literal here
6 |
- = note: `#[deny(invalid_doc_attributes)]` on by default
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc = "string"]
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc(hidden)]
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc(inline)]
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc(test)]
+ |
8
9 error: aborting due to 1 previous error
10
---
+ | |
+ | didn't expect a literal here
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc = "string"]
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc(hidden)]
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc(inline)]
+ |
+ LL - #![doc(test(""))]
+ LL + #![doc(test)]
+ |
+ For more information about this error, try `rustc --explain E0565`.
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args attributes/doc-test-literal.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/doc-test-literal.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/doc-test-literal" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0565]: malformed `doc` attribute input
##[error] --> /checkout/tests/ui/attributes/doc-test-literal.rs:1:1
|
LL | #![doc(test(""))]
| ^^^^^^^^^^^^--^^^
| |
| didn't expect a literal here
|
help: try changing it to one of the following valid forms of the attribute
|
LL - #![doc(test(""))]
LL + #![doc = "string"]
|
LL - #![doc(test(""))]
LL + #![doc(hidden)]
|
LL - #![doc(test(""))]
LL + #![doc(inline)]
|
LL - #![doc(test(""))]
LL + #![doc(test)]
|
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0565`.
------------------------------------------
---- [ui] tests/ui/attributes/doc-test-literal.rs stdout end ----
---- [ui] tests/ui/attributes/extented-attribute-macro-error.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/extented-attribute-macro-error/extented-attribute-macro-error.stderr`
diff of stderr:
4 LL | #![doc = include_str!("../not_existing_file.md")]
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6
- error: aborting due to 1 previous error
+ error: attribute value must be a literal
+ --> $DIR/extented-attribute-macro-error.rs:3:10
+ |
+ LL | #![doc = include_str!("../not_existing_file.md")]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ error: aborting due to 2 previous errors
8
9
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/attributes/extented-attribute-macro-error.rs:3:10
+ error: attribute value must be a literal
+ --> $DIR/extented-attribute-macro-error.rs:3:10
+ |
+ LL | #![doc = include_str!("../not_existing_file.md")]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ error: aborting due to 2 previous errors
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args attributes/extented-attribute-macro-error.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/extented-attribute-macro-error.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/extented-attribute-macro-error" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: couldn't read `/checkout/tests/ui/attributes/../not_existing_file.md`: No such file or directory (os error 2)
##[error] --> /checkout/tests/ui/attributes/extented-attribute-macro-error.rs:3:10
|
LL | #![doc = include_str!("../not_existing_file.md")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/extented-attribute-macro-error.rs:3:10
|
LL | #![doc = include_str!("../not_existing_file.md")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors
------------------------------------------
---- [ui] tests/ui/attributes/extented-attribute-macro-error.rs stdout end ----
---- [ui] tests/ui/attributes/issue-115264-pat-field.rs stdout ----
error: test compilation failed although it shouldn't!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/issue-115264-pat-field.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/issue-115264-pat-field" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: `#[doc]` attribute cannot be used on pattern fields
##[error] --> /checkout/tests/ui/attributes/issue-115264-pat-field.rs:14:9
|
LL | #[doc(alias = "StructItem")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: aborting due to 1 previous error
------------------------------------------
---- [ui] tests/ui/attributes/issue-115264-pat-field.rs stdout end ----
---- [ui] tests/ui/attributes/issue-115264-expr-field.rs stdout ----
error: test compilation failed although it shouldn't!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/issue-115264-expr-field.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/issue-115264-expr-field" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: `#[doc]` attribute cannot be used on struct fields
##[error] --> /checkout/tests/ui/attributes/issue-115264-expr-field.rs:14:9
|
LL | #[doc(alias = "StructItem")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: aborting due to 1 previous error
------------------------------------------
---- [ui] tests/ui/attributes/issue-115264-expr-field.rs stdout end ----
---
- error: aborting due to 22 previous errors
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:3:10
+ |
+ LL | #![doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:6:10
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:8:9
+ |
+ LL | #[doc = in_root!()]
+ | ^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:9:9
+ |
+ LL | #[doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:10:9
+ |
+ LL | #[doc = in_mod_escape!()]
+ | ^^^^^^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:11:9
+ |
+ LL | #[doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:13:14
+ |
+ LL | #![doc = in_root!()]
+ | ^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:14:14
+ |
+ LL | #![doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:15:14
+ |
+ LL | #![doc = in_mod_escape!()]
+ | ^^^^^^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:16:14
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:50:9
+ |
+ LL | #[doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:52:14
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:63:9
+ |
+ LL | #[doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:65:9
+ |
+ LL | #[doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:68:14
+ |
+ LL | #![doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:70:14
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: aborting due to 38 previous errors
191
192 Future incompatibility report: Future breakage diagnostic:
193 error: cannot find macro `in_root` in the current scope when looking from the crate root
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:3:10
- LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:6:10
- LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:8:9
- LL | #[doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:9:9
- LL | #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:10:9
- LL | #[doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:11:9
- LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:13:14
- LL | #![doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:14:14
- LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:15:14
- LL | #![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:16:14
- LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:50:9
- LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:52:14
- LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:63:9
- LL | #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:65:9
- LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:68:14
- LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
- --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:70:14
- LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:3:10
+ |
+ LL | #![doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:6:10
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:8:9
+ |
+ LL | #[doc = in_root!()]
+ | ^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:9:9
+ |
+ LL | #[doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:10:9
+ |
+ LL | #[doc = in_mod_escape!()]
+ | ^^^^^^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:11:9
+ |
+ LL | #[doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:13:14
+ |
+ LL | #![doc = in_root!()]
+ | ^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:14:14
+ |
+ LL | #![doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:15:14
+ |
+ LL | #![doc = in_mod_escape!()]
+ | ^^^^^^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:16:14
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:50:9
+ |
+ LL | #[doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:52:14
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:63:9
+ |
+ LL | #[doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:65:9
+ |
+ LL | #[doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:68:14
+ |
+ LL | #![doc = in_mod!()]
+ | ^^^^^^^^^
+
+ error: attribute value must be a literal
+ --> $DIR/key-value-expansion-scope.rs:70:14
+ |
+ LL | #![doc = in_block!()]
+ | ^^^^^^^^^^^
+
+ error: aborting due to 38 previous errors
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args attributes/key-value-expansion-scope.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/key-value-expansion-scope.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/key-value-expansion-scope" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: cannot find macro `in_mod` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:3:10
|
LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_block` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:6:10
|
LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_root` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:8:9
|
LL | #[doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
| ^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_mod` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:9:9
|
LL | #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_mod_escape` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:10:9
|
LL | #[doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
| ^^^^^^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_block` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:11:9
|
LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_root` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:13:14
|
LL | #![doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
| ^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_mod` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:14:14
|
LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_mod_escape` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:15:14
|
LL | #![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
| ^^^^^^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_block` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:16:14
|
LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_block` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:50:9
|
LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_block` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:52:14
|
LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_mod` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:63:9
|
LL | #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_block` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:65:9
|
LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_mod` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:68:14
|
LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_block` in this scope
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:70:14
|
LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^
|
= help: have you added the `#[macro_use]` on the module/import?
error: cannot find macro `in_root` in the current scope when looking from the crate root
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:1:10
|
LL | #![doc = in_root!()] //~ ERROR cannot find macro `in_root`
| ^^^^^^^ not found from the crate root
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #124535 <https://github.com/rust-lang/rust/issues/124535>
= help: import `macro_rules` with `use` to make it callable above its definition
= note: `#[deny(out_of_scope_macro_calls)]` (part of `#[deny(future_incompatible)]`) on by default
error: cannot find macro `in_mod_escape` in the current scope when looking from the crate root
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:4:10
|
LL | #![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape`
| ^^^^^^^^^^^^^ not found from the crate root
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #124535 <https://github.com/rust-lang/rust/issues/124535>
= help: import `macro_rules` with `use` to make it callable above its definition
error: cannot find macro `in_mod` in the current scope when looking from module `macros_stay`
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:21:9
|
LL | #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod`
| ^^^^^^ not found from module `macros_stay`
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #124535 <https://github.com/rust-lang/rust/issues/124535>
= help: import `macro_rules` with `use` to make it callable above its definition
error: cannot find macro `in_mod` in the current scope when looking from module `macros_stay`
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:24:14
|
LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod`
| ^^^^^^ not found from module `macros_stay`
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #124535 <https://github.com/rust-lang/rust/issues/124535>
= help: import `macro_rules` with `use` to make it callable above its definition
error: cannot find macro `in_mod_escape` in the current scope when looking from module `macros_escape`
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:36:9
|
LL | #[doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape`
| ^^^^^^^^^^^^^ not found from module `macros_escape`
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #124535 <https://github.com/rust-lang/rust/issues/124535>
= help: import `macro_rules` with `use` to make it callable above its definition
error: cannot find macro `in_mod_escape` in the current scope when looking from module `macros_escape`
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:39:14
|
LL | #![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape`
| ^^^^^^^^^^^^^ not found from module `macros_escape`
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #124535 <https://github.com/rust-lang/rust/issues/124535>
= help: import `macro_rules` with `use` to make it callable above its definition
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:3:10
|
LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:6:10
|
LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:8:9
|
LL | #[doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
| ^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:9:9
|
LL | #[doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:10:9
|
LL | #[doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
| ^^^^^^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:11:9
|
LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:13:14
|
LL | #![doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
| ^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:14:14
|
LL | #![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
| ^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:15:14
|
LL | #![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
| ^^^^^^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:16:14
|
LL | #![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:50:9
|
LL | #[doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
| ^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion-scope.rs:52:14
---
error: malformed `cfi_encoding` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:140:1
|
LL | #[cfi_encoding]
| ^^^^^^^^^^^^^^^ help: must be of the form: `#[cfi_encoding = "encoding"]`
error: malformed `allow` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:184:1
|
LL | #[allow]
---
|
= note: for more information, visit <https://doc.rust-lang.org/reference/attributes/diagnostics.html#lint-check-attributes>
help: the following are the possible correct uses
|
LL | #[forbid(lint1)]
| +++++++
LL | #[forbid(lint1, lint2, ...)]
| +++++++++++++++++++
LL | #[forbid(lint1, lint2, lint3, reason = "...")]
| +++++++++++++++++++++++++++++++++++++
error: malformed `thread_local` attribute input
---
error: malformed `no_link` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:214:1
|
LL | #[no_link()]
| ^^^^^^^^^^^^ help: must be of the form: `#[no_link]`
|
= note: for more information, visit <https://doc.rust-lang.org/reference/items/extern-crates.html#the-no_link-attribute>
error: the `#[proc_macro]` attribute is only usable with crates of the `proc-macro` crate type
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:105:1
|
LL | #[proc_macro = 18]
| ^^^^^^^^^^^^^^^^^^
error: the `#[proc_macro_attribute]` attribute is only usable with crates of the `proc-macro` crate type
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:122:1
|
---
|
LL | #[allow_internal_unsafe = 1]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: add `#![feature(allow_internal_unsafe)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0539]: malformed `windows_subsystem` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:26:1
|
LL | #![windows_subsystem]
---
LL | #[rustc_confusables]
| ^^^^^^^^^^^^^^^^^^^^
| |
| expected this to be a list
| help: must be of the form: `#[rustc_confusables("name1", "name2", ...)]`
error: `#[rustc_confusables]` attribute cannot be used on functions
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:36:1
|
LL | #[rustc_confusables]
---
|
LL - #[deprecated = 5]
LL + #[deprecated(note = "reason")]
|
LL - #[deprecated = 5]
LL + #[deprecated(since = "version")]
|
LL - #[deprecated = 5]
LL + #[deprecated(since = "version", note = "reason")]
|
= and 1 other candidate
thread 'rustc' (37344) panicked at compiler/rustc_attr_parsing/src/attributes/doc.rs:462:17:
not yet implemented
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic
3: <rustc_attr_parsing::attributes::doc::DocParser>::accept_single_doc_attr::<rustc_attr_parsing::context::Late>
4: <std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with::<<std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with_borrow_mut<rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}::{closure#0}, ()>::{closure#0}, ()>
5: rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}
6: <rustc_attr_parsing::interface::AttributeParser>::parse_attribute_list::<<rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#0}, <rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#1}>
7: <rustc_ast_lowering::LoweringContext>::lower_attrs
8: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_node::{closure#2}>::{closure#0}>
9: <rustc_ast_lowering::item::ItemLowerer>::lower_node
10: rustc_ast_lowering::lower_to_hir
[... omitted 3 frames ...]
11: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
[... omitted 3 frames ...]
12: <rustc_middle::ty::context::TyCtxt>::hir_owner_node
13: <rustc_middle::ty::context::TyCtxt>::hir_walk_toplevel_module::<rustc_middle::hir::map::ItemCollector>
14: rustc_middle::hir::map::hir_crate_items
[... omitted 3 frames ...]
15: rustc_passes::hir_id_validator::check_crate
16: rustc_interface::passes::analysis
[... omitted 3 frames ...]
17: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
18: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
19: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
20: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
21: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
22: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
23: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: the compiler unexpectedly panicked. this is a bug.
note: using internal features is not supported and expected to cause internal compiler errors when used incorrectly
note: rustc 1.93.0-nightly (259ecb52d 2025-12-04) running on aarch64-unknown-linux-gnu
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
#3 [analysis] running analysis passes on crate `malformed_attrs`
end of query stack
error: aborting due to 25 previous errors
Some errors have detailed explanations: E0463, E0539, E0658.
For more information about an error, try `rustc --explain E0463`.
---
1 error: attribute value must be a literal
+ --> $DIR/key-value-expansion.rs:21:6
+ |
+ LL | bug!((column!()));
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
2 --> $DIR/key-value-expansion.rs:27:14
3 |
4 LL | bug!("bug" + stringify!(found));
19 | --------------- in this macro invocation
20 |
21 = note: this error originates in the macro `some_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
-
- error: attribute value must be a literal
- --> $DIR/key-value-expansion.rs:21:6
- |
- LL | bug!((column!()));
- | ^^^^^^^^^^^
28
29 error: aborting due to 3 previous errors
30
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/attributes/key-value-expansion.rs:21:6
- LL | bug!((column!())); //~ ERROR attribute value must be a literal
+ --> $DIR/key-value-expansion.rs:21:6
+ |
+ LL | bug!((column!()));
+ | ^^^^^^^^^^^
+
+ error: attribute value must be a literal
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args attributes/key-value-expansion.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/key-value-expansion.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/key-value-expansion" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/key-value-expansion/auxiliary" "--extern" "key_value_expansion=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/key-value-expansion/auxiliary/libkey_value_expansion.so"
stdout: none
--- stderr -------------------------------
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion.rs:21:6
|
LL | bug!((column!())); //~ ERROR attribute value must be a literal
| ^^^^^^^^^^^
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion.rs:27:14
|
LL | bug!("bug" + stringify!(found)); //~ ERROR attribute value must be a literal
| ^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | bug!();
| ------ in this macro invocation
|
= note: this error originates in the macro `bug` (in Nightly builds, run with -Z macro-backtrace for more info)
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/attributes/key-value-expansion.rs:48:23
|
LL | doc_comment! {format!("{coor}", coor = stringify!($t1)).as_str()}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | some_macro!(u8);
| --------------- in this macro invocation
|
---
diff of stderr:
11 --> $DIR/removed-features-note-version-and-pr-issue-141619.rs:2:8
12 |
13 LL | #![doc(include("README.md"))]
- | ^^^^^^^^^^^^^^^^^^^^
+ | ^^^^^^^
15 |
16 = note: `#[deny(invalid_doc_attributes)]` on by default
17
---
To only update this specific test, also pass `--test-args feature-gates/removed-features-note-version-and-pr-issue-141619.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/feature-gates/removed-features-note-version-and-pr-issue-141619.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/feature-gates/removed-features-note-version-and-pr-issue-141619" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0557]: feature has been removed
##[error] --> /checkout/tests/ui/feature-gates/removed-features-note-version-and-pr-issue-141619.rs:1:12
|
LL | #![feature(external_doc)] //~ ERROR feature has been removed
| ^^^^^^^^^^^^ feature has been removed
|
= note: removed in 1.54.0; see <https://github.com/rust-lang/rust/pull/85457> for more information
= note: use #[doc = include_str!("filename")] instead, which handles macro invocations
error: unknown `doc` attribute `include`
##[error] --> /checkout/tests/ui/feature-gates/removed-features-note-version-and-pr-issue-141619.rs:2:8
|
LL | #![doc(include("README.md"))] //~ ERROR unknown `doc` attribute `include`
| ^^^^^^^
|
= note: `#[deny(invalid_doc_attributes)]` on by default
error: aborting due to 2 previous errors
---
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/include-macros/invalid-utf8-binary-file/invalid-utf8-binary-file.stderr`
diff of stderr:
6 |
7 = note: invalid utf-8 at byte `$BYTE`
8
- error: aborting due to 1 previous error
+ error: attribute value must be a literal
+ --> $DIR/invalid-utf8-binary-file.rs:8:10
+ |
+ LL | #![doc = include_str!(concat!(env!("INVALID_UTF8_BIN")))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ error: aborting due to 2 previous errors
10
11
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/include-macros/invalid-utf8-binary-file.rs:8:10
- LL | #![doc = include_str!(concat!(env!("INVALID_UTF8_BIN")))] //~ ERROR: wasn't a utf-8 file
+ error: attribute value must be a literal
+ --> $DIR/invalid-utf8-binary-file.rs:8:10
+ |
+ LL | #![doc = include_str!(concat!(env!("INVALID_UTF8_BIN")))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ error: aborting due to 2 previous errors
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args include-macros/invalid-utf8-binary-file.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR INVALID_UTF8_BIN="/checkout/tests/ui/include-macros/invalid-utf8-binary-file.bin" RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/include-macros/invalid-utf8-binary-file.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/include-macros/invalid-utf8-binary-file" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: `/checkout/tests/ui/include-macros/invalid-utf8-binary-file.bin` wasn't a utf-8 file
##[error] --> /checkout/tests/ui/include-macros/invalid-utf8-binary-file.rs:8:10
|
LL | #![doc = include_str!(concat!(env!("INVALID_UTF8_BIN")))] //~ ERROR: wasn't a utf-8 file
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: invalid utf-8 at byte `2`
error: attribute value must be a literal
##[error] --> /checkout/tests/ui/include-macros/invalid-utf8-binary-file.rs:8:10
|
LL | #![doc = include_str!(concat!(env!("INVALID_UTF8_BIN")))] //~ ERROR: wasn't a utf-8 file
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors
------------------------------------------
---
66
67 error: unused doc comment
- --> $DIR/unused-doc-comments-edge-cases.rs:55:27
- |
- LL | fn doc_comment_on_generic<#[doc = "x"] T>(val: T) {}
- | ^^^^^^^^^^^^ - rustdoc does not generate documentation for generic parameters
- |
- = help: use `//` for a plain comment
-
- error: unused doc comment
76 --> $DIR/unused-doc-comments-edge-cases.rs:59:5
---
To only update this specific test, also pass `--test-args lint/unused/unused-doc-comments-edge-cases.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/unused/unused-doc-comments-edge-cases.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/lint/unused/unused-doc-comments-edge-cases" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: expected expression, found keyword `else`
##[error] --> /checkout/tests/ui/lint/unused/unused-doc-comments-edge-cases.rs:17:5
|
LL | else { //~ ERROR: expected expression, found keyword `else`
| ^^^^ expected expression
error[E0658]: attributes on expressions are experimental
##[error] --> /checkout/tests/ui/lint/unused/unused-doc-comments-edge-cases.rs:23:5
|
LL | /// useless doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
= help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
= help: `///` is used for outer documentation comments; for a plain comment, use `//`
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/unused-doc-comments-edge-cases.rs:6:9
|
LL | /// useless doc comment
---
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/lint/unused/unused-doc-comments-edge-cases.rs:14:9
|
LL | / if num == 3 {
LL | | true //~ ERROR: mismatched types
| | ^^^^ expected `()`, found `bool`
LL | | }
| |_____- expected this to be `()`
|
help: you might have meant to return this value
---
- --> $DIR/useless-comment.rs:41:5
- |
- LL | #[doc(test(attr(allow(dead_code))))]
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- LL | let x = /** comment */ 47;
- | -------------------------- rustdoc does not generate documentation for statements
- |
- = help: use `//` for a plain comment
-
- error: unused doc comment
143 --> $DIR/useless-comment.rs:42:13
144 |
145 LL | let x = /** comment */ 47;
159 |
160 = help: use `//` for a plain comment
161
- error: aborting due to 15 previous errors
+ error: `#[doc]` attribute cannot be used on statements
+ --> $DIR/useless-comment.rs:18:5
+ |
+ LL | #[doc(test(attr(allow(dead_code))))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on match arms
+ --> $DIR/useless-comment.rs:27:9
+ |
+ LL | #[doc(test(attr(allow(dead_code))))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on statements
+ --> $DIR/useless-comment.rs:41:5
+ |
+ LL | #[doc(test(attr(allow(dead_code))))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: aborting due to 12 previous errors
163
164
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/lint/unused/useless-comment.rs:18:5
- LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
- --> /checkout/tests/ui/lint/unused/useless-comment.rs:27:9
- LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
- --> /checkout/tests/ui/lint/unused/useless-comment.rs:41:5
- LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
+ error: `#[doc]` attribute cannot be used on statements
+ --> $DIR/useless-comment.rs:18:5
+ |
+ LL | #[doc(test(attr(allow(dead_code))))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on match arms
+ --> $DIR/useless-comment.rs:27:9
+ |
+ LL | #[doc(test(attr(allow(dead_code))))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on statements
+ --> $DIR/useless-comment.rs:41:5
+ |
+ LL | #[doc(test(attr(allow(dead_code))))]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: aborting due to 12 previous errors
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args lint/unused/useless-comment.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/unused/useless-comment.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/lint/unused/useless-comment" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:9:1
|
LL | /// foo //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
|
= help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
note: the lint level is defined here
--> /checkout/tests/ui/lint/unused/useless-comment.rs:3:9
|
LL | #![deny(unused_doc_comments)]
| ^^^^^^^^^^^^^^^^^^^
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:12:1
|
LL | /// a //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
LL | unsafe extern "C" { }
| --------------------- rustdoc does not generate documentation for extern blocks
|
= help: use `//` for a plain comment
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:38:5
|
LL | /// bar //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
|
= help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:17:5
|
LL | /// a //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
LL | let x = 12;
| ----------- rustdoc does not generate documentation for statements
|
= help: use `//` for a plain comment
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:21:5
|
LL | / /// multi-line //~ ERROR unused doc comment
LL | | /// doc comment
LL | | /// that is unused
| |______________________^
LL | / match x {
LL | | /// c //~ ERROR unused doc comment
LL | | 1 => {},
LL | | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
LL | | _ => {}
LL | | }
| |_____- rustdoc does not generate documentation for expressions
|
= help: use `//` for a plain comment
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:25:9
|
LL | /// c //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | 1 => {},
| ------- rustdoc does not generate documentation for match arms
|
= help: use `//` for a plain comment
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:31:5
|
LL | /// foo //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | unsafe {}
| --------- rustdoc does not generate documentation for expressions
|
= help: use `//` for a plain comment
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:42:13
|
LL | let x = /** comment */ 47; //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^ -- rustdoc does not generate documentation for expressions
|
= help: use `/* */` for a plain comment
error: unused doc comment
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:44:5
|
LL | /// dox //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | / {
LL | |
LL | | }
| |_____- rustdoc does not generate documentation for expressions
|
= help: use `//` for a plain comment
error: `#[doc]` attribute cannot be used on statements
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:18:5
|
LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: `#[doc]` attribute cannot be used on match arms
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:27:9
|
LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: `#[doc]` attribute cannot be used on statements
##[error] --> /checkout/tests/ui/lint/unused/useless-comment.rs:41:5
|
LL | #[doc(test(attr(allow(dead_code))))] //~ ERROR unused doc comment
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: aborting due to 12 previous errors
------------------------------------------
---- [ui] tests/ui/lint/unused/useless-comment.rs stdout end ----
---- [ui] tests/ui/malformed/malformed-regressions.rs stdout ----
error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/malformed/malformed-regressions.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/malformed/malformed-regressions" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
thread 'rustc' (110313) panicked at compiler/rustc_attr_parsing/src/attributes/doc.rs:462:17:
not yet implemented
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic
3: <rustc_attr_parsing::attributes::doc::DocParser>::accept_single_doc_attr::<rustc_attr_parsing::context::Late>
4: <std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with::<<std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with_borrow_mut<rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}::{closure#0}, ()>::{closure#0}, ()>
5: rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}
6: <rustc_attr_parsing::interface::AttributeParser>::parse_attribute_list::<<rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#0}, <rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#1}>
7: <rustc_ast_lowering::LoweringContext>::lower_attrs
8: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_node::{closure#2}>::{closure#0}>
9: <rustc_ast_lowering::item::ItemLowerer>::lower_node
10: rustc_ast_lowering::lower_to_hir
[... omitted 3 frames ...]
11: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
[... omitted 3 frames ...]
12: <rustc_middle::ty::context::TyCtxt>::hir_owner_node
13: <rustc_middle::ty::context::TyCtxt>::hir_walk_toplevel_module::<rustc_middle::hir::map::ItemCollector>
14: rustc_middle::hir::map::hir_crate_items
[... omitted 3 frames ...]
15: rustc_passes::hir_id_validator::check_crate
16: rustc_interface::passes::analysis
[... omitted 3 frames ...]
17: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
18: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
19: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
20: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
21: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
22: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
23: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---
note: please make sure that you have updated to the latest nightly
note: rustc 1.93.0-nightly (259ecb52d 2025-12-04) running on aarch64-unknown-linux-gnu
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
#3 [analysis] running analysis passes on crate `malformed_regressions`
end of query stack
------------------------------------------
---- [ui] tests/ui/malformed/malformed-regressions.rs stdout end ----
---- [ui] tests/ui/parser/attribute/attr-unquoted-ident.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/parser/attribute/attr-unquoted-ident/attr-unquoted-ident.stderr`
diff of stderr:
20 LL | #[cfg(key="foo bar baz")]
21 | + +
22
- error: expected unsuffixed literal, found identifier `nickname`
+ error: expected a literal (`1u8`, `1.0f32`, `"string"`, etc.) here, found identifier `nickname`
24 --> $DIR/attr-unquoted-ident.rs:21:38
25 |
26 LL | ($name:ident) => { #[doc(alias = $name)] pub struct S; }
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args parser/attribute/attr-unquoted-ident.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/parser/attribute/attr-unquoted-ident.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/parser/attribute/attr-unquoted-ident" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Zdeduplicate-diagnostics=yes"
stdout: none
--- stderr -------------------------------
error: expected a literal (`1u8`, `1.0f32`, `"string"`, etc.) here, found `foo`
##[error] --> /checkout/tests/ui/parser/attribute/attr-unquoted-ident.rs:6:15
|
LL | #[cfg(key=foo)]
| ^^^
|
help: surround the identifier with quotation marks to make it into a string literal
|
LL | #[cfg(key="foo")]
| + +
error: expected a literal (`1u8`, `1.0f32`, `"string"`, etc.) here, found `foo`
##[error] --> /checkout/tests/ui/parser/attribute/attr-unquoted-ident.rs:12:15
|
LL | #[cfg(key=foo bar baz)]
| ^^^
|
help: surround the identifier with quotation marks to make it into a string literal
|
LL | #[cfg(key="foo bar baz")]
| + +
error: expected a literal (`1u8`, `1.0f32`, `"string"`, etc.) here, found identifier `nickname`
##[error] --> /checkout/tests/ui/parser/attribute/attr-unquoted-ident.rs:21:38
|
LL | ($name:ident) => { #[doc(alias = $name)] pub struct S; }
| ^^^^^
...
LL | make!(nickname); //~ NOTE in this expansion
| --------------- in this macro invocation
|
= note: this error originates in the macro `make` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 3 previous errors
------------------------------------------
---- [ui] tests/ui/parser/attribute/attr-unquoted-ident.rs stdout end ----
---- [ui] tests/ui/rustdoc/check-doc-alias-attr-location.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/check-doc-alias-attr-location/check-doc-alias-attr-location.stderr`
diff of stderr:
4 LL | fn foo(#[doc(alias = "qux")] _x: u32) -> Self::X {
5 | ^^^^^^^^^^^^^^^^^^^^^
6
+ error: `#[doc]` attribute cannot be used on function params
+ --> $DIR/check-doc-alias-attr-location.rs:22:12
+ |
+ LL | fn foo(#[doc(alias = "qux")] _x: u32) -> Self::X {
+ | ^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on statements
+ --> $DIR/check-doc-alias-attr-location.rs:24:9
+ |
+ LL | #[doc(alias = "stmt")]
+ | ^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on expressions
+ --> $DIR/check-doc-alias-attr-location.rs:26:9
+ |
+ LL | #[doc(alias = "expr")]
+ | ^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on match arms
+ --> $DIR/check-doc-alias-attr-location.rs:28:13
+ |
+ LL | #[doc(alias = "arm")]
+ | ^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
7 error: `#[doc(alias = "...")]` isn't allowed on foreign module
- --> $DIR/check-doc-alias-attr-location.rs:9:7
+ --> $DIR/check-doc-alias-attr-location.rs:9:15
9 |
10 LL | #[doc(alias = "foo")]
- | ^^^^^^^^^^^^^
---
25 error: `#[doc(alias = "...")]` isn't allowed on type alias in implementation block
- --> $DIR/check-doc-alias-attr-location.rs:20:11
+ --> $DIR/check-doc-alias-attr-location.rs:20:19
27 |
28 LL | #[doc(alias = "assoc")]
- | ^^^^^^^^^^^^^^^
+ | ^^^^^^^
30
31 error: `#[doc(alias = "...")]` isn't allowed on statement
- --> $DIR/check-doc-alias-attr-location.rs:24:15
---
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:22:12
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:24:9
- LL | #[doc(alias = "stmt")] //~ ERROR
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:26:9
- LL | #[doc(alias = "expr")] //~ ERROR
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:28:13
- LL | #[doc(alias = "arm")] //~ ERROR
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:9:15
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:12:15
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:18:15
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:20:19
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:24:23
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:26:23
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:28:27
+ error: `#[doc]` attribute cannot be used on function params
+ --> $DIR/check-doc-alias-attr-location.rs:22:12
+ |
+ LL | fn foo(#[doc(alias = "qux")] _x: u32) -> Self::X {
+ | ^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on statements
+ --> $DIR/check-doc-alias-attr-location.rs:24:9
+ |
+ LL | #[doc(alias = "stmt")]
+ | ^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on expressions
+ --> $DIR/check-doc-alias-attr-location.rs:26:9
+ |
+ LL | #[doc(alias = "expr")]
+ | ^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ error: `#[doc]` attribute cannot be used on match arms
+ --> $DIR/check-doc-alias-attr-location.rs:28:13
+ |
+ LL | #[doc(alias = "arm")]
+ | ^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
+
+ --> $DIR/check-doc-alias-attr-location.rs:9:15
+ | ^^^^^
+ --> $DIR/check-doc-alias-attr-location.rs:12:15
+ | ^^^^^
---
To only update this specific test, also pass `--test-args rustdoc/check-doc-alias-attr-location.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/check-doc-alias-attr-location" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:22:12
|
LL | fn foo(#[doc(alias = "qux")] _x: u32) -> Self::X {
| ^^^^^^^^^^^^^^^^^^^^^
error: `#[doc]` attribute cannot be used on function params
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:22:12
|
LL | fn foo(#[doc(alias = "qux")] _x: u32) -> Self::X {
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: `#[doc]` attribute cannot be used on statements
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:24:9
|
LL | #[doc(alias = "stmt")] //~ ERROR
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: `#[doc]` attribute cannot be used on expressions
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:26:9
|
LL | #[doc(alias = "expr")] //~ ERROR
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: `#[doc]` attribute cannot be used on match arms
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:28:13
|
LL | #[doc(alias = "arm")] //~ ERROR
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
error: `#[doc(alias = "...")]` isn't allowed on foreign module
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:9:15
|
LL | #[doc(alias = "foo")] //~ ERROR
| ^^^^^
error: `#[doc(alias = "...")]` isn't allowed on implementation block
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:12:15
|
LL | #[doc(alias = "bar")] //~ ERROR
| ^^^^^
error: `#[doc(alias = "...")]` isn't allowed on implementation block
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:18:15
|
LL | #[doc(alias = "foobar")] //~ ERROR
| ^^^^^^^^
error: `#[doc(alias = "...")]` isn't allowed on type alias in implementation block
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:20:19
|
LL | #[doc(alias = "assoc")] //~ ERROR
| ^^^^^^^
error: `#[doc(alias = "...")]` isn't allowed on statement
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:24:23
|
LL | #[doc(alias = "stmt")] //~ ERROR
| ^^^^^^
error: `#[doc(alias = "...")]` isn't allowed on expression
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:26:23
|
LL | #[doc(alias = "expr")] //~ ERROR
| ^^^^^^
error: `#[doc(alias = "...")]` isn't allowed on match arm
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr-location.rs:28:27
|
LL | #[doc(alias = "arm")] //~ ERROR
| ^^^^^
error: aborting due to 12 previous errors
------------------------------------------
---
4 LL | #[doc(alias)]
5 | ^^^^^
6
- 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
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/check-doc-alias-attr.rs:8:1
9 |
10 LL | #[doc(alias = 0)]
- | ^^^^^^^^^
+ | ^^^^^^^^^^^^^^-^^
+ | |
+ | expected a string literal here
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc(test)]
+ |
12
13 error: '"' character isn't allowed in `#[doc(alias = "...")]`
14 --> $DIR/check-doc-alias-attr.rs:9:15
54 LL | #[doc(alias = "")]
55 | ^^
56
- error: `#[doc(alias("a"))]` expects string literals
- --> $DIR/check-doc-alias-attr.rs:19:13
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/check-doc-alias-attr.rs:19:1
59 |
60 LL | #[doc(alias(0))]
- | ^
+ | ^^^^^^^^^^^^-^^^
+ | |
+ | expected a string literal here
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc(test)]
+ |
62
- error: '"' character isn't allowed in `#[doc(alias("..."))]`
+ error: '"' character isn't allowed in `#[doc(alias = "...")]`
64 --> $DIR/check-doc-alias-attr.rs:20:13
65 |
66 LL | #[doc(alias("\""))]
67 | ^^^^
68
- error: '\n' character isn't allowed in `#[doc(alias("..."))]`
+ error: '\n' character isn't allowed in `#[doc(alias = "...")]`
70 --> $DIR/check-doc-alias-attr.rs:21:13
71 |
72 LL | #[doc(alias("\n"))]
73 | ^^^^
74
- error: '\n' character isn't allowed in `#[doc(alias("..."))]`
+ error: '\n' character isn't allowed in `#[doc(alias = "...")]`
76 --> $DIR/check-doc-alias-attr.rs:22:13
77 |
78 LL | #[doc(alias("
80 LL | | "))]
81 | |_^
82
- error: '\t' character isn't allowed in `#[doc(alias("..."))]`
+ error: '\t' character isn't allowed in `#[doc(alias = "...")]`
84 --> $DIR/check-doc-alias-attr.rs:24:13
85 |
86 LL | #[doc(alias("\t"))]
87 | ^^^^
88
- error: `#[doc(alias("..."))]` cannot start or end with ' '
+ error: `#[doc(alias = "...")]` cannot start or end with ' '
90 --> $DIR/check-doc-alias-attr.rs:25:13
91 |
92 LL | #[doc(alias(" hello"))]
93 | ^^^^^^^^
94
- error: `#[doc(alias("..."))]` cannot start or end with ' '
+ error: `#[doc(alias = "...")]` cannot start or end with ' '
96 --> $DIR/check-doc-alias-attr.rs:26:13
97 |
98 LL | #[doc(alias("hello "))]
99 | ^^^^^^^^
100
- error: `#[doc(alias("..."))]` attribute cannot have empty value
+ error: `#[doc(alias = "...")]` attribute cannot have empty value
102 --> $DIR/check-doc-alias-attr.rs:27:13
103 |
104 LL | #[doc(alias(""))]
106
107 error: aborting due to 17 previous errors
108
+ For more information about this error, try `rustc --explain E0539`.
109
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:8:1
- LL - #[doc(alias = 0)] //~ ERROR
- LL + #[doc = "string"] //~ ERROR
- LL - #[doc(alias = 0)] //~ ERROR
- LL + #[doc(hidden)] //~ ERROR
- LL - #[doc(alias = 0)] //~ ERROR
- LL + #[doc(inline)] //~ ERROR
- LL - #[doc(alias = 0)] //~ ERROR
- LL + #[doc(test)] //~ ERROR
- --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:19:1
- LL - #[doc(alias(0))] //~ ERROR
- LL + #[doc = "string"] //~ ERROR
- LL - #[doc(alias(0))] //~ ERROR
- LL + #[doc(hidden)] //~ ERROR
- LL - #[doc(alias(0))] //~ ERROR
- LL + #[doc(inline)] //~ ERROR
- LL - #[doc(alias(0))] //~ ERROR
- LL + #[doc(test)] //~ ERROR
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/check-doc-alias-attr.rs:8:1
+ | ^^^^^^^^^^^^^^-^^
+ | |
+ | expected a string literal here
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc(alias = 0)]
+ LL + #[doc(test)]
+ |
+ error[E0539]: malformed `doc` attribute input
+ --> $DIR/check-doc-alias-attr.rs:19:1
+ | ^^^^^^^^^^^^-^^^
+ | |
+ | expected a string literal here
+ |
+ help: try changing it to one of the following valid forms of the attribute
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc = "string"]
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc(hidden)]
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc(inline)]
+ |
+ LL - #[doc(alias(0))]
+ LL + #[doc(test)]
+ |
+ error: '"' character isn't allowed in `#[doc(alias = "...")]`
+ error: '\n' character isn't allowed in `#[doc(alias = "...")]`
+ error: '\n' character isn't allowed in `#[doc(alias = "...")]`
+ error: '\t' character isn't allowed in `#[doc(alias = "...")]`
+ error: `#[doc(alias = "...")]` cannot start or end with ' '
+ error: `#[doc(alias = "...")]` cannot start or end with ' '
+ error: `#[doc(alias = "...")]` attribute cannot have empty value
+ For more information about this error, try `rustc --explain E0539`.
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args rustdoc/check-doc-alias-attr.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/check-doc-alias-attr.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/check-doc-alias-attr" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: doc alias attribute expects a string `#[doc(alias = "a")]` or a list of strings `#[doc(alias("a", "b"))]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:7:7
|
LL | #[doc(alias)] //~ ERROR
| ^^^^^
error[E0539]: malformed `doc` attribute input
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:8:1
|
LL | #[doc(alias = 0)] //~ ERROR
| ^^^^^^^^^^^^^^-^^
| |
| expected a string literal here
|
help: try changing it to one of the following valid forms of the attribute
|
LL - #[doc(alias = 0)] //~ ERROR
LL + #[doc = "string"] //~ ERROR
|
LL - #[doc(alias = 0)] //~ ERROR
LL + #[doc(hidden)] //~ ERROR
|
LL - #[doc(alias = 0)] //~ ERROR
LL + #[doc(inline)] //~ ERROR
|
LL - #[doc(alias = 0)] //~ ERROR
LL + #[doc(test)] //~ ERROR
|
error: '"' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:9:15
|
LL | #[doc(alias = "\"")] //~ ERROR
| ^^^^
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:10:15
|
LL | #[doc(alias = "\n")] //~ ERROR
| ^^^^
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:11:15
|
LL | #[doc(alias = "
| _______________^
LL | | ")] //~^ ERROR
| |_^
error: '\t' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:13:15
|
LL | #[doc(alias = "\t")] //~ ERROR
| ^^^^
error: `#[doc(alias = "...")]` cannot start or end with ' '
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:14:15
|
LL | #[doc(alias = " hello")] //~ ERROR
| ^^^^^^^^
error: `#[doc(alias = "...")]` cannot start or end with ' '
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:15:15
|
LL | #[doc(alias = "hello ")] //~ ERROR
| ^^^^^^^^
error: `#[doc(alias = "...")]` attribute cannot have empty value
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:16:15
|
LL | #[doc(alias = "")] //~ ERROR
| ^^
error[E0539]: malformed `doc` attribute input
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:19:1
|
LL | #[doc(alias(0))] //~ ERROR
| ^^^^^^^^^^^^-^^^
| |
| expected a string literal here
|
help: try changing it to one of the following valid forms of the attribute
|
LL - #[doc(alias(0))] //~ ERROR
LL + #[doc = "string"] //~ ERROR
|
LL - #[doc(alias(0))] //~ ERROR
LL + #[doc(hidden)] //~ ERROR
|
LL - #[doc(alias(0))] //~ ERROR
LL + #[doc(inline)] //~ ERROR
|
LL - #[doc(alias(0))] //~ ERROR
LL + #[doc(test)] //~ ERROR
|
error: '"' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:20:13
|
LL | #[doc(alias("\""))] //~ ERROR
| ^^^^
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:21:13
|
LL | #[doc(alias("\n"))] //~ ERROR
| ^^^^
error: '\n' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:22:13
|
LL | #[doc(alias("
| _____________^
LL | | "))] //~^ ERROR
| |_^
error: '\t' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:24:13
|
LL | #[doc(alias("\t"))] //~ ERROR
| ^^^^
error: `#[doc(alias = "...")]` cannot start or end with ' '
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:25:13
|
LL | #[doc(alias(" hello"))] //~ ERROR
| ^^^^^^^^
error: `#[doc(alias = "...")]` cannot start or end with ' '
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:26:13
|
LL | #[doc(alias("hello "))] //~ ERROR
| ^^^^^^^^
error: `#[doc(alias = "...")]` attribute cannot have empty value
##[error] --> /checkout/tests/ui/rustdoc/check-doc-alias-attr.rs:27:13
|
LL | #[doc(alias(""))] //~ ERROR
| ^^
error: aborting due to 17 previous errors
For more information about this error, try `rustc --explain E0539`.
---
diff of stderr:
- error: `#[doc(alias = "...")]` is the same as the item's name
- --> $DIR/doc-alias-same-name.rs:3:7
+ error: `#[doc(alias = "Foo"]` is the same as the item's name
+ --> $DIR/doc-alias-same-name.rs:3:15
3 |
4 LL | #[doc(alias = "Foo")]
- | ^^^^^^^^^^^^^
+ | ^^^^^
6
7 error: aborting due to 1 previous error
8
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/rustdoc/doc-alias-same-name.rs:3:15
+ error: `#[doc(alias = "Foo"]` is the same as the item's name
+ --> $DIR/doc-alias-same-name.rs:3:15
+ | ^^^^^
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args rustdoc/doc-alias-same-name.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/doc-alias-same-name.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/doc-alias-same-name" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: `#[doc(alias = "Foo"]` is the same as the item's name
##[error] --> /checkout/tests/ui/rustdoc/doc-alias-same-name.rs:3:15
|
LL | #[doc(alias = "Foo")] //~ ERROR
| ^^^^^
error: aborting due to 1 previous error
------------------------------------------
---
To only update this specific test, also pass `--test-args rustdoc/doc-alias-crate-level.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/doc-alias-crate-level.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/doc-alias-crate-level" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Zdeduplicate-diagnostics=no"
stdout: none
--- stderr -------------------------------
error: '\'' character isn't allowed in `#[doc(alias = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/doc-alias-crate-level.rs:7:15
|
LL | #[doc(alias = "shouldn't work!")] //~ ERROR
| ^^^^^^^^^^^^^^^^^
error: `#![doc(alias = "...")]` isn't allowed as a crate-level attribute
##[error] --> /checkout/tests/ui/rustdoc/doc-alias-crate-level.rs:5:16
|
LL | #![doc(alias = "not working!")] //~ ERROR
| ^^^^^^^^^^^^^^
error: aborting due to 2 previous errors
------------------------------------------
---
To only update this specific test, also pass `--test-args rustdoc/doc-primitive.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/doc-primitive.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/doc-primitive" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: unknown `doc` attribute `primitive`
##[error] --> /checkout/tests/ui/rustdoc/doc-primitive.rs:3:7
|
---
diff of stderr:
11 | ^^^^^^^^^^^^^^^^^^^^^^
12
13 error: `#[doc(test(...)]` takes a list of attributes
- --> $DIR/doc-test-attr.rs:6:8
+ --> $DIR/doc-test-attr.rs:6:13
15 |
16 LL | #![doc(test = "hello")]
- | ^^^^^^^^^^^^^^
---
To only update this specific test, also pass `--test-args rustdoc/doc-test-attr.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/doc-test-attr.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/doc-test-attr" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: `#[doc(test(...)]` takes a list of attributes
##[error] --> /checkout/tests/ui/rustdoc/doc-test-attr.rs:4:8
|
LL | #![doc(test)]
| ^^^^
|
note: the lint level is defined here
--> /checkout/tests/ui/rustdoc/doc-test-attr.rs:2:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: `#[doc(test(...)]` takes a list of attributes
##[error] --> /checkout/tests/ui/rustdoc/doc-test-attr.rs:6:13
|
LL | #![doc(test = "hello")]
| ^^^^^^^^^
error: unknown `doc(test)` attribute `a`
##[error] --> /checkout/tests/ui/rustdoc/doc-test-attr.rs:8:13
|
LL | #![doc(test(a))]
| ^
error: aborting due to 3 previous errors
------------------------------------------
---- [ui] tests/ui/rustdoc/doc-test-attr.rs stdout end ----
---- [ui] tests/ui/rustdoc/doc_keyword.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/doc_keyword/doc_keyword.stderr`
diff of stderr:
- error: `#[doc(keyword = "...")]` should be used on empty modules
- --> $DIR/doc_keyword.rs:6:7
+ error: nonexistent keyword `hello` used in `#[doc(keyword = "...")]`
+ --> $DIR/doc_keyword.rs:4:18
3 |
+ LL | #![doc(keyword = "hello")]
+ | ^^^^^^^
+ |
+ = help: only existing keywords are allowed in core/std
+
+ error: nonexistent keyword `hell` used in `#[doc(keyword = "...")]`
+ --> $DIR/doc_keyword.rs:6:17
+ |
4 LL | #[doc(keyword = "hell")]
- | ^^^^^^^^^^^^^^^^
+ | ^^^^^^
+ |
+ = help: only existing keywords are allowed in core/std
6
- error: `#[doc(keyword = "...")]` should be used on modules
- --> $DIR/doc_keyword.rs:11:7
+ error: nonexistent keyword `hall` used in `#[doc(keyword = "...")]`
+ --> $DIR/doc_keyword.rs:11:17
9 |
10 LL | #[doc(keyword = "hall")]
- | ^^^^^^^^^^^^^^^^
+ | ^^^^^^
+ |
+ = help: only existing keywords are allowed in core/std
12
13 error: nonexistent keyword `tadam` used in `#[doc(keyword = "...")]`
14 --> $DIR/doc_keyword.rs:22:17
22 --> $DIR/doc_keyword.rs:17:11
23 |
24 LL | #[doc(keyword = "match")]
- | ^^^^^^^^^^^^^^^^^
-
- error: `#![doc(keyword = "...")]` isn't allowed as a crate-level attribute
- --> $DIR/doc_keyword.rs:4:8
- |
- LL | #![doc(keyword = "hello")]
- | ^^^^^^^^^^^^^^^^^
+ | ^^^^^^^
32
33 error: aborting due to 5 previous errors
34
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/rustdoc/doc_keyword.rs:4:18
- --> /checkout/tests/ui/rustdoc/doc_keyword.rs:6:17
- --> /checkout/tests/ui/rustdoc/doc_keyword.rs:11:17
+ error: nonexistent keyword `hello` used in `#[doc(keyword = "...")]`
+ --> $DIR/doc_keyword.rs:4:18
+ LL | #![doc(keyword = "hello")]
+ | ^^^^^^^
+ |
+ = help: only existing keywords are allowed in core/std
+
+ error: nonexistent keyword `hell` used in `#[doc(keyword = "...")]`
+ --> $DIR/doc_keyword.rs:6:17
+ |
+ | ^^^^^^
+ |
+ = help: only existing keywords are allowed in core/std
+ error: nonexistent keyword `hall` used in `#[doc(keyword = "...")]`
+ --> $DIR/doc_keyword.rs:11:17
+ | ^^^^^^
+ |
+ = help: only existing keywords are allowed in core/std
+ | ^^^^^^^
---
To only update this specific test, also pass `--test-args rustdoc/doc_keyword.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/doc_keyword.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/doc_keyword" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: nonexistent keyword `hello` used in `#[doc(keyword = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/doc_keyword.rs:4:18
|
LL | #![doc(keyword = "hello")]
| ^^^^^^^
|
= help: only existing keywords are allowed in core/std
error: nonexistent keyword `hell` used in `#[doc(keyword = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/doc_keyword.rs:6:17
|
LL | #[doc(keyword = "hell")] //~ ERROR `#[doc(keyword = "...")]` should be used on empty modules
| ^^^^^^
|
= help: only existing keywords are allowed in core/std
error: nonexistent keyword `hall` used in `#[doc(keyword = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/doc_keyword.rs:11:17
|
LL | #[doc(keyword = "hall")] //~ ERROR `#[doc(keyword = "...")]` should be used on modules
| ^^^^^^
|
= help: only existing keywords are allowed in core/std
error: nonexistent keyword `tadam` used in `#[doc(keyword = "...")]`
##[error] --> /checkout/tests/ui/rustdoc/doc_keyword.rs:22:17
|
LL | #[doc(keyword = "tadam")] //~ ERROR nonexistent keyword `tadam`
| ^^^^^^^
|
= help: only existing keywords are allowed in core/std
error: `#[doc(keyword = "...")]` should be used on modules
##[error] --> /checkout/tests/ui/rustdoc/doc_keyword.rs:17:11
|
LL | #[doc(keyword = "match")]
| ^^^^^^^
error: aborting due to 5 previous errors
------------------------------------------
---
- LL | #![deny(unused_attributes)]
- | ^^^^^^^^^^^^^^^^^
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+ = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
14
15 error: doc alias is duplicated
16 --> $DIR/duplicate_doc_alias.rs:6:13
17 |
18 LL | #[doc(alias = "B")]
- | ----------- first defined here
+ | --- first defined here
20 LL | #[doc(alias("B"))]
21 | ^^^
+ |
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
22
---
+ | ^^^
+ |
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+ = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
+
+ Future breakage diagnostic:
+ error: doc alias is duplicated
+ --> $DIR/duplicate_doc_alias.rs:6:13
+ |
+ LL | #[doc(alias = "B")]
+ | --- first defined here
+ LL | #[doc(alias("B"))]
+ | ^^^
+ |
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+ = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
24
25
Note: some mismatched output was normalized before being compared
- --> /checkout/tests/ui/rustdoc/duplicate_doc_alias.rs:4:15
- --> /checkout/tests/ui/rustdoc/duplicate_doc_alias.rs:4:15
- LL | #[doc(alias = "A")] //~ ERROR
- --> /checkout/tests/ui/rustdoc/duplicate_doc_alias.rs:6:13
- LL | #[doc(alias("B"))] //~ ERROR
+ --> $DIR/duplicate_doc_alias.rs:4:15
+ | --- first defined here
+ | ^^^
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+ = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
+ | --- first defined here
+ |
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+
---
+ | ^^^
+ |
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+ = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
+
+ Future breakage diagnostic:
+ error: doc alias is duplicated
+ --> $DIR/duplicate_doc_alias.rs:6:13
+ |
+ LL | #[doc(alias = "B")]
+ | --- first defined here
+ LL | #[doc(alias("B"))]
+ | ^^^
+ |
+ = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+ = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+ = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args rustdoc/duplicate_doc_alias.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/rustdoc/duplicate_doc_alias.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/rustdoc/duplicate_doc_alias" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: doc alias is duplicated
##[error] --> /checkout/tests/ui/rustdoc/duplicate_doc_alias.rs:4:15
|
LL | #[doc(alias = "A")]
| --- first defined here
LL | #[doc(alias = "A")] //~ ERROR
| ^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
error: doc alias is duplicated
##[error] --> /checkout/tests/ui/rustdoc/duplicate_doc_alias.rs:6:13
|
LL | #[doc(alias = "B")]
| --- first defined here
LL | #[doc(alias("B"))] //~ ERROR
| ^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
---
##[error] --> /checkout/tests/ui/rustdoc/duplicate_doc_alias.rs:4:15
|
LL | #[doc(alias = "A")]
| --- first defined here
LL | #[doc(alias = "A")] //~ ERROR
| ^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
Future breakage diagnostic:
error: doc alias is duplicated
##[error] --> /checkout/tests/ui/rustdoc/duplicate_doc_alias.rs:6:13
|
LL | #[doc(alias = "B")]
| --- first defined here
LL | #[doc(alias("B"))] //~ ERROR
| ^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
------------------------------------------
---- [ui] tests/ui/rustdoc/duplicate_doc_alias.rs stdout end ----
---- [ui] tests/ui/where-clauses/unsupported_attribute.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/where-clauses/unsupported_attribute/unsupported_attribute.stderr`
diff of stderr:
91 = help: `#[automatically_derived]` can only be applied to trait impl blocks
92
93 error: most attributes are not supported in `where` clauses
- --> $DIR/unsupported_attribute.rs:14:5
- |
- LL | #[doc = "doc"] T: Trait,
- | ^^^^^^^^^^^^^^
- |
- = help: only `#[cfg]` and `#[cfg_attr]` are supported
-
- error: most attributes are not supported in `where` clauses
- --> $DIR/unsupported_attribute.rs:15:5
- |
- LL | #[doc = "doc"] 'a: 'static,
- | ^^^^^^^^^^^^^^
- |
- = help: only `#[cfg]` and `#[cfg_attr]` are supported
-
- error: most attributes are not supported in `where` clauses
---
To only update this specific test, also pass `--test-args where-clauses/unsupported_attribute.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/where-clauses/unsupported_attribute.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/where-clauses/unsupported_attribute" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: expected non-macro attribute, found attribute macro `derive`
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:28:7
|
LL | #[derive(Clone)] T: Trait,
| ^^^^^^ not a non-macro attribute
error: expected non-macro attribute, found attribute macro `derive`
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:31:7
|
LL | #[derive(Clone)] 'a: 'static,
| ^^^^^^ not a non-macro attribute
error: `#[ignore]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:16:5
|
LL | #[ignore] T: Trait, //~ ERROR attribute cannot be used on
| ^^^^^^^^^
|
= help: `#[ignore]` can only be applied to functions
error: `#[ignore]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:17:5
|
LL | #[ignore] 'a: 'static, //~ ERROR attribute cannot be used on
| ^^^^^^^^^
|
= help: `#[ignore]` can only be applied to functions
error: `#[should_panic]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:18:5
|
LL | #[should_panic] T: Trait, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^^^^
|
= help: `#[should_panic]` can only be applied to functions
error: `#[should_panic]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:19:5
|
LL | #[should_panic] 'a: 'static, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^^^^
|
= help: `#[should_panic]` can only be applied to functions
error: `#[macro_use]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:20:5
|
LL | #[macro_use] T: Trait, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^
|
= help: `#[macro_use]` can be applied to crates, extern crates, and modules
error: `#[macro_use]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:21:5
|
LL | #[macro_use] 'a: 'static, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^
|
= help: `#[macro_use]` can be applied to crates, extern crates, and modules
error: `#[deprecated]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:24:5
|
LL | #[deprecated] T: Trait, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^^
|
= help: `#[deprecated]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, foreign statics, functions, inherent impl blocks, macro defs, modules, statics, struct fields, traits, type aliases, unions, and use statements
error: `#[deprecated]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:25:5
|
LL | #[deprecated] 'a: 'static, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^^
|
= help: `#[deprecated]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, foreign statics, functions, inherent impl blocks, macro defs, modules, statics, struct fields, traits, type aliases, unions, and use statements
error: `#[automatically_derived]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:26:5
|
LL | #[automatically_derived] T: Trait, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[automatically_derived]` can only be applied to trait impl blocks
error: `#[automatically_derived]` attribute cannot be used on where predicates
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:27:5
|
LL | #[automatically_derived] 'a: 'static, //~ ERROR attribute cannot be used on
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `#[automatically_derived]` can only be applied to trait impl blocks
error: most attributes are not supported in `where` clauses
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:22:5
|
LL | #[allow(unused)] T: Trait, //~ ERROR most attributes are not supported in `where` clauses
| ^^^^^^^^^^^^^^^^
|
= help: only `#[cfg]` and `#[cfg_attr]` are supported
error: most attributes are not supported in `where` clauses
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:23:5
|
LL | #[allow(unused)] 'a: 'static, //~ ERROR most attributes are not supported in `where` clauses
| ^^^^^^^^^^^^^^^^
|
= help: only `#[cfg]` and `#[cfg_attr]` are supported
error: most attributes are not supported in `where` clauses
---
error: most attributes are not supported in `where` clauses
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:31:5
|
LL | #[derive(Clone)] 'a: 'static,
| ^^^^^^^^^^^^^^^^
|
= help: only `#[cfg]` and `#[cfg_attr]` are supported
error: most attributes are not supported in `where` clauses
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:34:5
|
LL | #[rustfmt::skip] T: Trait, //~ ERROR most attributes are not supported in `where` clauses
| ^^^^^^^^^^^^^^^^
|
= help: only `#[cfg]` and `#[cfg_attr]` are supported
error: most attributes are not supported in `where` clauses
##[error] --> /checkout/tests/ui/where-clauses/unsupported_attribute.rs:35:5
|
LL | #[rustfmt::skip] 'a: 'static, //~ ERROR most attributes are not supported in `where` clauses
| ^^^^^^^^^^^^^^^^
|
= help: only `#[cfg]` and `#[cfg_attr]` are supported
error: aborting due to 18 previous errors
Finished benchmarking commit (4f240130369441697d5ccde454291d18ea71990c): comparison URL.
Overall result: ❌✅ regressions and improvements - please read the text below
Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.
Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.
@bors rollup=never @rustbot label: -S-waiting-on-perf +perf-regression
Instruction count
Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
1.0% | [0.2%, 3.1%] | 30 |
| Improvements ✅ (primary) |
-0.5% | [-1.3%, -0.1%] | 39 |
| Improvements ✅ (secondary) |
-0.6% | [-1.1%, -0.1%] | 30 |
| All ❌✅ (primary) | -0.5% | [-1.3%, -0.1%] | 39 |
Max RSS (memory usage)
Results (primary -0.2%, secondary 1.5%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
1.3% | [0.8%, 1.5%] | 3 |
| Regressions ❌ (secondary) |
3.6% | [1.4%, 6.4%] | 11 |
| Improvements ✅ (primary) |
-1.0% | [-2.3%, -0.5%] | 6 |
| Improvements ✅ (secondary) |
-1.4% | [-2.5%, -0.6%] | 8 |
| All ❌✅ (primary) | -0.2% | [-2.3%, 1.5%] | 9 |
Cycles
Results (secondary 2.0%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
4.1% | [2.2%, 9.8%] | 8 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-3.8% | [-5.5%, -2.2%] | 3 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
Results (primary -0.5%, secondary -0.1%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
0.1% | [0.0%, 0.3%] | 23 |
| Regressions ❌ (secondary) |
0.0% | [0.0%, 0.0%] | 9 |
| Improvements ✅ (primary) |
-0.9% | [-3.1%, -0.0%] | 28 |
| Improvements ✅ (secondary) |
-0.2% | [-0.3%, -0.0%] | 15 |
| All ❌✅ (primary) | -0.5% | [-3.1%, 0.3%] | 51 |
Bootstrap: 468.725s -> 473.041s (0.92%) Artifact size: 386.77 MiB -> 389.06 MiB (0.59%)
Strange, one doc test has a regression but all others are faster.
The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
thread '[ui] tests/ui/attributes/doc-attr.rs' panicked at src/tools/compiletest/src/runtest.rs:923:13:
errors differ from expected
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/doc-attr.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/doc-attr" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stack backtrace:
5: __rustc::rust_begin_unwind
at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
6: core::panicking::panic_fmt
---
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---- [ui] tests/ui/attributes/doc-attr.rs stdout end ----
---- [ui] tests/ui/attributes/doc-test-literal.rs stdout ----
error: 1 diagnostics reported in JSON output but not expected in test file
tests/ui/attributes/doc-test-literal.rs:1:1: ERROR: malformed `doc` attribute input [E0565]
expected with different message: `#![doc(test(...)]` does not take a literal
error: 1 diagnostics expected in test file but not reported in JSON output
tests/ui/attributes/doc-test-literal.rs:1:1: ERROR: `#![doc(test(...)]` does not take a literal
reported with different message: malformed `doc` attribute input [E0565]
thread '[ui] tests/ui/attributes/doc-test-literal.rs' panicked at src/tools/compiletest/src/runtest.rs:923:13:
errors differ from expected
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/doc-test-literal.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/doc-test-literal" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stack backtrace:
5: __rustc::rust_begin_unwind
at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
6: core::panicking::panic_fmt
---
thread '[ui] tests/ui/attributes/extented-attribute-macro-error.rs' panicked at src/tools/compiletest/src/runtest.rs:923:13:
errors differ from expected
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/extented-attribute-macro-error.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/extented-attribute-macro-error" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stack backtrace:
5: __rustc::rust_begin_unwind
at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
6: core::panicking::panic_fmt
---
LL | #[doc(alias = "StructItem")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
= note: requested on the command line with `-W unused-attributes`
warning: 1 warning emitted
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args attributes/issue-115264-expr-field.rs`
error: 1 errors occurred comparing output.
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/issue-115264-expr-field.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/issue-115264-expr-field" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
warning: `#[doc]` attribute cannot be used on struct fields
##[warning] --> /checkout/tests/ui/attributes/issue-115264-expr-field.rs:14:9
|
LL | #[doc(alias = "StructItem")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
= note: requested on the command line with `-W unused-attributes`
warning: 1 warning emitted
------------------------------------------
---- [ui] tests/ui/attributes/issue-115264-expr-field.rs stdout end ----
---
LL | #[doc(alias = "StructItem")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
= note: requested on the command line with `-W unused-attributes`
warning: 1 warning emitted
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args attributes/issue-115264-pat-field.rs`
error: 1 errors occurred comparing output.
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/issue-115264-pat-field.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/issue-115264-pat-field" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
warning: `#[doc]` attribute cannot be used on pattern fields
##[warning] --> /checkout/tests/ui/attributes/issue-115264-pat-field.rs:14:9
|
LL | #[doc(alias = "StructItem")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= help: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
= note: requested on the command line with `-W unused-attributes`
warning: 1 warning emitted
------------------------------------------
---- [ui] tests/ui/attributes/issue-115264-pat-field.rs stdout end ----
---
thread '[ui] tests/ui/attributes/key-value-expansion-scope.rs' panicked at src/tools/compiletest/src/runtest.rs:923:13:
errors differ from expected
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/key-value-expansion-scope.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/key-value-expansion-scope" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stack backtrace:
5: __rustc::rust_begin_unwind
at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
6: core::panicking::panic_fmt
---
---- [ui] tests/ui/attributes/malformed-attrs.rs stdout ----
error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/attributes/malformed-attrs.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/malformed-attrs" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0539]: malformed `cfg` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:108:1
|
LL | #[cfg]
| ^^^^^^
| |
| expected this to be a list
| help: must be of the form: `#[cfg(predicate)]`
|
= note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg-attribute>
error[E0539]: malformed `cfg_attr` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:110:1
|
LL | #[cfg_attr]
| ^^^^^^^^^^^
| |
| expected this to be a list
| help: must be of the form: `#[cfg_attr(predicate, attr1, attr2, ...)]`
|
= note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg_attr-attribute>
error[E0463]: can't find crate for `wloop`
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:218:1
|
LL | extern crate wloop;
| ^^^^^^^^^^^^^^^^^^^ can't find crate
error: malformed `instruction_set` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:112:1
|
LL | #[instruction_set]
| ^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[instruction_set(set)]`
|
= note: for more information, visit <https://doc.rust-lang.org/reference/attributes/codegen.html#the-instruction_set-attribute>
error: malformed `patchable_function_entry` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:114:1
|
LL | #[patchable_function_entry]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[patchable_function_entry(prefix_nops = m, entry_nops = n)]`
error: malformed `must_not_suspend` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:138:1
|
LL | #[must_not_suspend()]
---
error: malformed `cfi_encoding` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:140:1
|
LL | #[cfi_encoding]
| ^^^^^^^^^^^^^^^ help: must be of the form: `#[cfi_encoding = "encoding"]`
error: malformed `allow` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:184:1
|
LL | #[allow]
---
|
= note: for more information, visit <https://doc.rust-lang.org/reference/attributes/diagnostics.html#lint-check-attributes>
help: the following are the possible correct uses
|
LL | #[forbid(lint1)]
| +++++++
LL | #[forbid(lint1, lint2, ...)]
| +++++++++++++++++++
LL | #[forbid(lint1, lint2, lint3, reason = "...")]
| +++++++++++++++++++++++++++++++++++++
error: malformed `thread_local` attribute input
---
error: malformed `no_link` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:214:1
|
LL | #[no_link()]
| ^^^^^^^^^^^^ help: must be of the form: `#[no_link]`
|
= note: for more information, visit <https://doc.rust-lang.org/reference/items/extern-crates.html#the-no_link-attribute>
error: the `#[proc_macro]` attribute is only usable with crates of the `proc-macro` crate type
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:105:1
|
LL | #[proc_macro = 18]
| ^^^^^^^^^^^^^^^^^^
error: the `#[proc_macro_attribute]` attribute is only usable with crates of the `proc-macro` crate type
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:122:1
|
---
|
LL | #[allow_internal_unsafe = 1]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: add `#![feature(allow_internal_unsafe)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0539]: malformed `windows_subsystem` attribute input
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:26:1
|
LL | #![windows_subsystem]
---
LL | #[rustc_confusables]
| ^^^^^^^^^^^^^^^^^^^^
| |
| expected this to be a list
| help: must be of the form: `#[rustc_confusables("name1", "name2", ...)]`
error: `#[rustc_confusables]` attribute cannot be used on functions
##[error] --> /checkout/tests/ui/attributes/malformed-attrs.rs:36:1
|
LL | #[rustc_confusables]
---
|
LL - #[deprecated = 5]
LL + #[deprecated(note = "reason")]
|
LL - #[deprecated = 5]
LL + #[deprecated(since = "version")]
|
LL - #[deprecated = 5]
LL + #[deprecated(since = "version", note = "reason")]
|
= and 1 other candidate
thread 'rustc' (37160) panicked at compiler/rustc_attr_parsing/src/attributes/doc.rs:462:17:
not yet implemented
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic
3: <rustc_attr_parsing::attributes::doc::DocParser>::accept_single_doc_attr::<rustc_attr_parsing::context::Late>
4: <std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with::<<std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with_borrow_mut<rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}::{closure#0}, ()>::{closure#0}, ()>
5: rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}
6: <rustc_attr_parsing::interface::AttributeParser>::parse_attribute_list::<<rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#0}, <rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#1}>
7: <rustc_ast_lowering::LoweringContext>::lower_attrs
8: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_node::{closure#2}>::{closure#0}>
9: <rustc_ast_lowering::item::ItemLowerer>::lower_node
10: rustc_ast_lowering::lower_to_hir
[... omitted 3 frames ...]
11: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
[... omitted 3 frames ...]
12: <rustc_middle::ty::context::TyCtxt>::hir_owner_node
13: <rustc_middle::ty::context::TyCtxt>::hir_walk_toplevel_module::<rustc_middle::hir::map::ItemCollector>
14: rustc_middle::hir::map::hir_crate_items
[... omitted 3 frames ...]
15: rustc_passes::hir_id_validator::check_crate
16: rustc_interface::passes::analysis
[... omitted 3 frames ...]
17: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
18: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
19: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
20: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
21: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
22: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
23: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: the compiler unexpectedly panicked. this is a bug.
note: using internal features is not supported and expected to cause internal compiler errors when used incorrectly
note: rustc 1.93.0-nightly (618b34e31 2025-12-05) running on aarch64-unknown-linux-gnu
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
#3 [analysis] running analysis passes on crate `malformed_attrs`
end of query stack
error: aborting due to 25 previous errors
Some errors have detailed explanations: E0463, E0539, E0658.
For more information about an error, try `rustc --explain E0463`.
---
thread '[ui] tests/ui/include-macros/invalid-utf8-binary-file.rs' panicked at src/tools/compiletest/src/runtest.rs:923:13:
errors differ from expected
status: exit status: 1
command: env -u RUSTC_LOG_COLOR INVALID_UTF8_BIN="/checkout/tests/ui/include-macros/invalid-utf8-binary-file.bin" RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/include-macros/invalid-utf8-binary-file.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/include-macros/invalid-utf8-binary-file" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stack backtrace:
5: __rustc::rust_begin_unwind
at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
6: core::panicking::panic_fmt
---
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---- [ui] tests/ui/include-macros/invalid-utf8-binary-file.rs stdout end ----
---- [ui] tests/ui/lint/unused/useless-comment.rs stdout ----
error: 6 diagnostics reported in JSON output but not expected in test file
tests/ui/lint/unused/useless-comment.rs:18:5: WARN: `#[doc]` attribute cannot be used on statements [unused_attributes]
expected with different kind: ERROR with different message: unused doc comment
tests/ui/lint/unused/useless-comment.rs:18:5: WARN: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
expected with different kind: ERROR with different message: unused doc comment
tests/ui/lint/unused/useless-comment.rs:27:9: WARN: `#[doc]` attribute cannot be used on match arms [unused_attributes]
expected with different kind: ERROR with different message: unused doc comment
tests/ui/lint/unused/useless-comment.rs:27:9: WARN: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
expected with different kind: ERROR with different message: unused doc comment
tests/ui/lint/unused/useless-comment.rs:41:5: WARN: `#[doc]` attribute cannot be used on statements [unused_attributes]
expected with different kind: ERROR with different message: unused doc comment
tests/ui/lint/unused/useless-comment.rs:41:5: WARN: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
expected with different kind: ERROR with different message: unused doc comment
error: 4 diagnostics expected in test file but not reported in JSON output
tests/ui/lint/unused/useless-comment.rs:13:38: ERROR: unused doc comment
tests/ui/lint/unused/useless-comment.rs:18:42: ERROR: unused doc comment
reported with different kind: WARN with different message: `#[doc]` attribute cannot be used on statements [unused_attributes]
reported with different kind: WARN with different message: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
reported with different kind: HELP with different message: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
reported with different kind: NOTE with different message: requested on the command line with `-W unused-attributes`
reported with different kind: HELP with different message: remove the attribute
tests/ui/lint/unused/useless-comment.rs:27:46: ERROR: unused doc comment
reported with different kind: WARN with different message: `#[doc]` attribute cannot be used on match arms [unused_attributes]
reported with different kind: WARN with different message: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
reported with different kind: HELP with different message: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
reported with different kind: HELP with different message: remove the attribute
tests/ui/lint/unused/useless-comment.rs:41:42: ERROR: unused doc comment
reported with different kind: WARN with different message: `#[doc]` attribute cannot be used on statements [unused_attributes]
reported with different kind: WARN with different message: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
reported with different kind: HELP with different message: `#[doc]` can be applied to associated consts, associated types, constants, crates, data types, enum variants, extern crates, foreign modules, foreign statics, functions, impl blocks, macro defs, modules, statics, struct fields, trait aliases, traits, type aliases, unions, and use statements
reported with different kind: HELP with different message: remove the attribute
thread '[ui] tests/ui/lint/unused/useless-comment.rs' panicked at src/tools/compiletest/src/runtest.rs:923:13:
errors differ from expected
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/unused/useless-comment.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/lint/unused/useless-comment" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stack backtrace:
5: __rustc::rust_begin_unwind
at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
6: core::panicking::panic_fmt
---
---- [ui] tests/ui/malformed/malformed-regressions.rs stdout ----
error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/malformed/malformed-regressions.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/malformed/malformed-regressions" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
thread 'rustc' (110109) panicked at compiler/rustc_attr_parsing/src/attributes/doc.rs:462:17:
not yet implemented
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic
3: <rustc_attr_parsing::attributes::doc::DocParser>::accept_single_doc_attr::<rustc_attr_parsing::context::Late>
4: <std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with::<<std::thread::local::LocalKey<core::cell::RefCell<rustc_attr_parsing::attributes::doc::DocParser>>>::with_borrow_mut<rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}::{closure#0}, ()>::{closure#0}, ()>
5: rustc_attr_parsing::context::late::ATTRIBUTE_PARSERS::{closure#0}::{closure#10}
6: <rustc_attr_parsing::interface::AttributeParser>::parse_attribute_list::<<rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#0}, <rustc_ast_lowering::LoweringContext>::lower_attrs_vec::{closure#1}>
7: <rustc_ast_lowering::LoweringContext>::lower_attrs
8: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_node::{closure#2}>::{closure#0}>
9: <rustc_ast_lowering::item::ItemLowerer>::lower_node
10: rustc_ast_lowering::lower_to_hir
[... omitted 3 frames ...]
11: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
[... omitted 3 frames ...]
12: <rustc_middle::ty::context::TyCtxt>::hir_owner_node
13: <rustc_middle::ty::context::TyCtxt>::hir_walk_toplevel_module::<rustc_middle::hir::map::ItemCollector>
14: rustc_middle::hir::map::hir_crate_items
[... omitted 3 frames ...]
15: rustc_passes::hir_id_validator::check_crate
16: rustc_interface::passes::analysis
[... omitted 3 frames ...]
17: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
18: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
19: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
20: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
21: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
22: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
23: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---
note: please make sure that you have updated to the latest nightly
note: rustc 1.93.0-nightly (618b34e31 2025-12-05) running on aarch64-unknown-linux-gnu
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
#3 [analysis] running analysis passes on crate `malformed_regressions`
end of query stack
------------------------------------------
---- [ui] tests/ui/malformed/malformed-regressions.rs stdout end ----
---- [ui] tests/ui/where-clauses/unsupported_attribute.rs stdout ----
---
thread '[ui] tests/ui/where-clauses/unsupported_attribute.rs' panicked at src/tools/compiletest/src/runtest.rs:923:13:
errors differ from expected
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/where-clauses/unsupported_attribute.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/where-clauses/unsupported_attribute" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stack backtrace:
5: __rustc::rust_begin_unwind
at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5
6: core::panicking::panic_fmt
:umbrella: The latest upstream changes (presumably #149646) made this pull request unmergeable. Please resolve the merge conflicts.
I'd say since perf looks very good on primary benchmarks and is mixed on secondary benchmarks, I'm happy with perf as-is. I am wondering what caused the regression on include-blob though, it doesn't even use any doc attributes
@rustbot label: +perf-regression-triaged
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.
Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.
The job tidy failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
fmt check
Diff in /checkout/compiler/rustc_attr_parsing/src/interface.rs:1:
use std::borrow::Cow;
use rustc_ast as ast;
-use rustc_ast::{AttrStyle, NodeId, Safety};
use rustc_ast::token::DocFragmentKind;
+use rustc_ast::{AttrStyle, NodeId, Safety};
use rustc_errors::DiagCtxtHandle;
use rustc_feature::{AttributeTemplate, Features};
use rustc_hir::attrs::AttributeKind;
fmt: checked 6590 files
Bootstrap failed while executing `test src/tools/tidy tidyselftest --extra-checks=py,cpp,js,spellcheck`
Build completed unsuccessfully in 0:00:48
local time: Fri Dec 5 15:30:16 UTC 2025
The job aarch64-gnu-llvm-20-2 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
##[endgroup]
[TIMING:end] tool::ToolBuild { build_compiler: Compiler { stage: 0, host: aarch64-unknown-linux-gnu, forced_compiler: false }, target: aarch64-unknown-linux-gnu, tool: "linkchecker", path: "src/tools/linkchecker", mode: ToolBootstrap, source_type: InTree, extra_features: [], allow_features: "", cargo_args: [], artifact_kind: Binary } -- 0.150
[TIMING:end] tool::Linkchecker { compiler: Compiler { stage: 0, host: aarch64-unknown-linux-gnu, forced_compiler: false }, target: aarch64-unknown-linux-gnu } -- 0.000
##[group]Testing stage1 Linkcheck (aarch64-unknown-linux-gnu)
std/keyword.trait.html:15: broken intra-doc link - [<code>Send</code>] and [<code>Sync</code>]
std/keyword.static.html:25: broken link - `std/cell::RefCell`
std/keyword.static.html:41: broken link - `std/sync::Mutex`
std/keyword.static.html:41: broken link - `std/sync::OnceLock`
std/keyword.static.html:41: broken link - `std/sync::atomic`
std/keyword.static.html:9: broken intra-doc link - [<code>drop</code>]
std/keyword.static.html:24: broken intra-doc link - [<code>Sync</code>]
std/keyword.for.html:11: broken intra-doc link - [<code>IntoIterator</code>]
std/keyword.for.html:50: broken intra-doc link - [<code>IntoIterator</code>]
std/index.html:156: broken link - `std/future::Future`
std/index.html:156: broken link - `std/future::Future`
std/index.html:156: broken intra-doc link - [<code>bool</code>]
std/index.html:158: broken intra-doc link - [<code>bool</code>]
std/keyword.as.html:22: broken link - `std/pointer::cast`
std/keyword.await.html:1: broken link - `std/future::Future`
std/keyword.enum.html:35: broken intra-doc link - [<code>Option</code>]
std/keyword.enum.html:37: broken intra-doc link - [<code>!</code>]
std/keyword.move.html:9: broken intra-doc link - [<code>Fn</code>] or [<code>FnMut</code>]
std/keyword.async.html:1: broken link - `std/future::Future`
std/keyword.async.html:28: broken link - `std/result::Result`
std/keyword.unsafe.html:75: broken intra-doc link - [<code>Vec::set_len</code>]
std/keyword.false.html:1: broken intra-doc link - [<code>bool</code>]
std/keyword.true.html:1: broken intra-doc link - [<code>bool</code>]
std/keyword.where.html:66: broken link - `std/crate::borrow::Cow`
std/keyword.const.html:14: broken link - `std/crate::fs::File`
std/keyword.const.html:43: broken link - `std/pointer`
checked links in: 21.9s
number of HTML files scanned: 46394
number of HTML redirects found: 14545
number of links checked: 2562693
number of links ignored due to external: 123134
number of links ignored due to exceptions: 24
number of intra doc links ignored: 9
errors found: 26
found some broken links
NOTE: if you are adding or renaming a markdown file in a mdBook, don't forget to register the page in SUMMARY.md
Bootstrap failed while executing `--stage 2 test --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest`
Command `/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-tools-bin/linkchecker /checkout/obj/build/aarch64-unknown-linux-gnu/doc` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:1612:23
Executed at: src/bootstrap/src/core/build_steps/test.rs:184:77
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:39:16
local time: Fri Dec 5 16:16:13 UTC 2025
network time: Fri, 05 Dec 2025 16:16:14 GMT
##[error]Process completed with exit code 1.
##[group]Run echo "disk usage:"
The job aarch64-gnu-llvm-20-2 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
fmt: checked 6590 files
tidy check
tidy [rustdoc_json (src)]: `rustdoc-json-types` modified, checking format version
tidy: Skipping binary file check, read-only filesystem
tidy [alphabetical (compiler)]: /checkout/compiler/rustc_attr_parsing/src/lib.rs:82: line not in alphabetical order
tidy [alphabetical (compiler)]: FAIL
tidy: The following check failed: alphabetical (compiler)
Bootstrap failed while executing `--stage 2 test --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest`
Command `/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-tools-bin/rust-tidy /checkout /checkout/obj/build/aarch64-unknown-linux-gnu/stage0/bin/cargo /checkout/obj/build 4 yarn` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:1612:23
Executed at: src/bootstrap/src/core/build_steps/test.rs:1314:29
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:00:49
local time: Fri Dec 5 22:19:46 UTC 2025
network time: Fri, 05 Dec 2025 22:19:46 GMT
##[error]Process completed with exit code 1.
##[group]Run echo "disk usage:"
The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
---- [rustdoc-json] tests/rustdoc-json/keyword_private.rs stdout ----
------jsondocck stdout------------------------------
------jsondocck stderr------------------------------
/checkout/tests/rustdoc-json/keyword_private.rs:8, directive failed
matched to String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], keyword: \"match\", test_attrs: []})]") but want String("#[doc(keyword = \"match\")]")
/checkout/tests/rustdoc-json/keyword_private.rs:16, directive failed
matched to String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], keyword: \"break\", test_attrs: []})]") but want String("#[doc(keyword = \"break\")]")
------------------------------------------
error: jsondocck failed!
status: exit status: 1
command: "/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-tools-bin/jsondocck" "--doc-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/keyword_private" "--template" "/checkout/tests/rustdoc-json/keyword_private.rs"
stdout: none
--- stderr -------------------------------
/checkout/tests/rustdoc-json/keyword_private.rs:8, directive failed
matched to String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], keyword: \"match\", test_attrs: []})]") but want String("#[doc(keyword = \"match\")]")
/checkout/tests/rustdoc-json/keyword_private.rs:16, directive failed
matched to String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], keyword: \"break\", test_attrs: []})]") but want String("#[doc(keyword = \"break\")]")
------------------------------------------
Rustdoc Output:
status: exit status: 0
command: cd "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/keyword_private" && env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/keyword_private/auxiliary" "-o" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/keyword_private" "--deny" "warnings" "/checkout/tests/rustdoc-json/keyword_private.rs" "-A" "internal_features" "--document-private-items" "--output-format" "json" "-Zunstable-options"
stdout: none
stderr: none
---- [rustdoc-json] tests/rustdoc-json/keyword_private.rs stdout end ----
---- [rustdoc-json] tests/rustdoc-json/visibility/doc_hidden_documented.rs stdout ----
------jsondocck stdout------------------------------
------jsondocck stderr------------------------------
/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs:4, directive failed
matched to Array [Object {"other": String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], test_attrs: []})]")}] but want Array [Object {"other": String("#[doc(hidden)]")}]
/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs:8, directive failed
matched to Array [Object {"other": String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], test_attrs: []})]")}] but want Array [Object {"other": String("#[doc(hidden)]")}]
/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs:12, directive failed
matched to Array [Object {"other": String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], test_attrs: []})]")}] but want Array [Object {"other": String("#[doc(hidden)]")}]
------------------------------------------
error: jsondocck failed!
status: exit status: 1
command: "/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-tools-bin/jsondocck" "--doc-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/visibility/doc_hidden_documented" "--template" "/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs"
stdout: none
--- stderr -------------------------------
/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs:4, directive failed
matched to Array [Object {"other": String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], test_attrs: []})]")}] but want Array [Object {"other": String("#[doc(hidden)]")}]
/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs:8, directive failed
matched to Array [Object {"other": String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], test_attrs: []})]")}] but want Array [Object {"other": String("#[doc(hidden)]")}]
/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs:12, directive failed
matched to Array [Object {"other": String("#[attr = Doc(DocAttribute {aliases: [], inline: [], cfg: [], auto_cfg: [],\nauto_cfg_change: [], test_attrs: []})]")}] but want Array [Object {"other": String("#[doc(hidden)]")}]
------------------------------------------
Rustdoc Output:
status: exit status: 0
command: cd "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/visibility/doc_hidden_documented" && env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/visibility/doc_hidden_documented/auxiliary" "-o" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/rustdoc-json/visibility/doc_hidden_documented" "--deny" "warnings" "/checkout/tests/rustdoc-json/visibility/doc_hidden_documented.rs" "-A" "internal_features" "--document-hidden-items" "--output-format" "json" "-Zunstable-options"
stdout: none
stderr: none
---- [rustdoc-json] tests/rustdoc-json/visibility/doc_hidden_documented.rs stdout end ----
:umbrella: The latest upstream changes (presumably #149701) made this pull request unmergeable. Please resolve the merge conflicts.
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.
Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.
The job tidy failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
fmt check
fmt: checked 6591 files
tidy check
tidy [rustdoc_json (src)]: `rustdoc-json-types` modified, checking format version
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_empty_attribute` is not used
tidy [fluent_used (compiler)]: FAIL
tidy: Skipping binary file check, read-only filesystem
removing old virtual environment
creating virtual environment at '/checkout/obj/build/venv' using 'python3.10' and 'venv'
creating virtual environment at '/checkout/obj/build/venv' using 'python3.10' and 'virtualenv'
Requirement already satisfied: pip in ./build/venv/lib/python3.10/site-packages (25.3)
---
info: ES-Check: there were no ES version matching errors! 🎉
typechecking javascript files
tidy: The following check failed: fluent_used (compiler)
Bootstrap failed while executing `test src/tools/tidy tidyselftest --extra-checks=py,cpp,js,spellcheck`
Command `/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools-bin/rust-tidy /checkout /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo /checkout/obj/build 4 /node/bin/yarn --extra-checks=py,cpp,js,spellcheck` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:1612:23
Executed at: src/bootstrap/src/core/build_steps/test.rs:1314:29
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:02:55
local time: Sat Dec 6 20:36:08 UTC 2025
network time: Sat, 06 Dec 2025 20:36:08 GMT
##[error]Process completed with exit code 1.
##[group]Run echo "disk usage:"
The job aarch64-gnu-llvm-20-2 failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
fmt check
fmt: checked 6591 files
tidy check
tidy [rustdoc_json (src)]: `rustdoc-json-types` modified, checking format version
tidy [fluent_used (compiler)]: /checkout/compiler/rustc_attr_parsing/messages.ftl: message `attr_parsing_empty_attribute` is not used
tidy [fluent_used (compiler)]: FAIL
tidy: Skipping binary file check, read-only filesystem
tidy: The following check failed: fluent_used (compiler)
Command `/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-tools-bin/rust-tidy /checkout /checkout/obj/build/aarch64-unknown-linux-gnu/stage0/bin/cargo /checkout/obj/build 4 yarn` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:1612:23
Executed at: src/bootstrap/src/core/build_steps/test.rs:1314:29
Command has failed. Rerun with -v to see more details.
Bootstrap failed while executing `--stage 2 test --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest`
Build completed unsuccessfully in 0:00:47
local time: Sat Dec 6 21:39:33 UTC 2025
network time: Sat, 06 Dec 2025 21:39:33 GMT
##[error]Process completed with exit code 1.
The job tidy failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
[TIMING:end] tool::ToolBuild { build_compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu, tool: "tidy", path: "src/tools/tidy", mode: ToolBootstrap, source_type: InTree, extra_features: [], allow_features: "", cargo_args: [], artifact_kind: Binary } -- 11.995
[TIMING:end] tool::Tidy { compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu } -- 0.000
fmt check
Diff in /checkout/src/librustdoc/clean/types.rs:244:
callback: F,
) -> impl Iterator<Item = (DefId, Symbol)> {
let as_target = move |did: DefId, tcx: TyCtxt<'_>| -> Option<(DefId, Symbol)> {
- tcx.get_all_attrs(did).iter().find_map(|attr| match attr {
- Attribute::Parsed(AttributeKind::Doc(d)) => callback(d),
- _ => None,
- })
- .map(|value| (did, value))
+ tcx.get_all_attrs(did)
+ .iter()
+ .find_map(|attr| match attr {
+ Attribute::Parsed(AttributeKind::Doc(d)) => callback(d),
+ _ => None,
+ })
+ .map(|value| (did, value))
};
self.mapped_root_modules(tcx, as_target)
}
fmt: checked 6595 files
Bootstrap failed while executing `test src/tools/tidy tidyselftest --extra-checks=py,cpp,js,spellcheck`
The job x86_64-gnu-tools failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
tests/ui/size_of_in_element_count/functions.rs ... ok
tests/ui/crashes/third-party/conf_allowlisted.rs ... ok
FAILED TEST: tests/ui/doc_errors.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/doc_errors.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "--edition" "2024"
error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/doc_errors.stderr` to the actual output
--- tests/ui/doc_errors.stderr
+++ <stderr output>
error: docs for function returning `Result` missing `# Errors` section
--> tests/ui/doc_errors.rs:7:1
... 41 lines skipped ...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: aborting due to 7 previous errors
+error: docs for function returning `Result` missing `# Errors` section
+ --> tests/ui/doc_errors.rs:126:5
+ |
+LL | fn doc_hidden() -> Result<(), ()> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error: docs for function returning `Result` missing `# Errors` section
+ --> tests/ui/doc_errors.rs:143:5
+ |
+LL | fn f() -> Result<(), ()>;
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 9 previous errors
+
Full unnormalized output:
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:7:1
|
LL | pub fn pub_fn_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::missing-errors-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::missing_errors_doc)]`
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:13:1
|
LL | pub async fn async_pub_fn_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:20:1
|
LL | pub fn pub_fn_returning_io_result() -> io::Result<()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:27:1
|
LL | pub async fn async_pub_fn_returning_io_result() -> io::Result<()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:59:5
|
LL | pub fn pub_method_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:66:5
|
LL | pub async fn async_pub_method_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:118:5
|
LL | fn trait_method_missing_errors_header() -> Result<(), ()>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:126:5
|
LL | fn doc_hidden() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:143:5
|
LL | fn f() -> Result<(), ()>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 9 previous errors
error: there was 1 unmatched diagnostic
##[error] --> tests/ui/doc_errors.rs:126:5
|
126 | fn doc_hidden() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error[clippy::missing_errors_doc]: docs for function returning `Result` missing `# Errors` section
|
error: there was 1 unmatched diagnostic
##[error] --> tests/ui/doc_errors.rs:143:5
|
143 | fn f() -> Result<(), ()>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^ Error[clippy::missing_errors_doc]: docs for function returning `Result` missing `# Errors` section
|
full stderr:
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:7:1
|
LL | pub fn pub_fn_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::missing-errors-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::missing_errors_doc)]`
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:13:1
|
LL | pub async fn async_pub_fn_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:20:1
|
LL | pub fn pub_fn_returning_io_result() -> io::Result<()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:27:1
|
LL | pub async fn async_pub_fn_returning_io_result() -> io::Result<()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:59:5
|
LL | pub fn pub_method_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:66:5
|
LL | pub async fn async_pub_method_missing_errors_header() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:118:5
|
LL | fn trait_method_missing_errors_header() -> Result<(), ()>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:126:5
|
LL | fn doc_hidden() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for function returning `Result` missing `# Errors` section
##[error] --> tests/ui/doc_errors.rs:143:5
|
LL | fn f() -> Result<(), ()>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
---
FAILED TEST: tests/ui/doc_unsafe.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/doc_unsafe.rs" "--extern" "proc_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary/libproc_macros.so" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "--edition" "2024"
error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/doc_unsafe.stderr` to the actual output
--- tests/ui/doc_unsafe.stderr
+++ <stderr output>
error: unsafe function's docs are missing a `# Safety` section
--> tests/ui/doc_unsafe.rs:9:1
... 40 lines skipped ...
= note: this error originates in the macro `very_unsafe` (in Nightly builds, run with -Z macro-backtrace for more info)
-error: aborting due to 6 previous errors
+error: unsafe function's docs are missing a `# Safety` section
+ --> tests/ui/doc_unsafe.rs:137:9
+ |
+LL | pub unsafe fn f() {}
+ | ^^^^^^^^^^^^^^^^^
+error: aborting due to 7 previous errors
+
Full unnormalized output:
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:9:1
|
LL | pub unsafe fn destroy_the_planet() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::missing-safety-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::missing_safety_doc)]`
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:33:5
|
LL | pub unsafe fn republished() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:42:5
|
LL | unsafe fn woefully_underdocumented(self);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for unsafe trait missing `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:49:1
|
LL | pub unsafe trait UnsafeTrait {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:80:5
|
LL | pub unsafe fn more_undocumented_unsafe() -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:97:9
|
LL | pub unsafe fn whee() {
| ^^^^^^^^^^^^^^^^^^^^
...
LL | very_unsafe!();
| -------------- in this macro invocation
|
= note: this error originates in the macro `very_unsafe` (in Nightly builds, run with -Z macro-backtrace for more info)
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:137:9
|
LL | pub unsafe fn f() {}
| ^^^^^^^^^^^^^^^^^
error: aborting due to 7 previous errors
error: there was 1 unmatched diagnostic
##[error] --> tests/ui/doc_unsafe.rs:137:9
|
137 | pub unsafe fn f() {}
| ^^^^^^^^^^^^^^^^^ Error[clippy::missing_safety_doc]: unsafe function's docs are missing a `# Safety` section
|
full stderr:
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:9:1
|
LL | pub unsafe fn destroy_the_planet() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::missing-safety-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::missing_safety_doc)]`
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:33:5
|
LL | pub unsafe fn republished() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:42:5
|
LL | unsafe fn woefully_underdocumented(self);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: docs for unsafe trait missing `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:49:1
|
LL | pub unsafe trait UnsafeTrait {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:80:5
|
LL | pub unsafe fn more_undocumented_unsafe() -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:97:9
|
LL | pub unsafe fn whee() {
| ^^^^^^^^^^^^^^^^^^^^
...
LL | very_unsafe!();
| -------------- in this macro invocation
|
= note: this error originates in the macro `very_unsafe` (in Nightly builds, run with -Z macro-backtrace for more info)
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/doc_unsafe.rs:137:9
|
LL | pub unsafe fn f() {}
| ^^^^^^^^^^^^^^^^^
---
FAILED TEST: tests/ui/doc_suspicious_footnotes.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--crate-type=lib" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/doc_suspicious_footnotes.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "--edition" "2024"
error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/doc_suspicious_footnotes.stderr` to the actual output
--- tests/ui/doc_suspicious_footnotes.stderr
+++ <stderr output>
---
- | ^^^^
- |
-help: add footnote definition
- |
-LL ~ /// This is not a footnote [^5]
-LL + ///
-LL + /// [^5]: <!-- description -->
- |
-error: looks like a footnote ref, but has no matching footnote
- --> tests/ui/doc_suspicious_footnotes.rs:156:33
- |
-LL | #[doc = "This is not a footnote [^7]"]
- | ^^^^
- |
-help: add footnote definition
- |
-LL ~ #[doc = r#"This is not a footnote [^7]
-LL +
-LL ~ [^7]: <!-- description -->"#]
- |
+thread 'rustc' (53491) panicked at /checkout/compiler/rustc_hir/src/hir.rs:1353:18:
+can't get the span of an arbitrary parsed attribute: Parsed(Doc(DocAttribute { aliases: {}, hidden: None, inline: [(Inline, tests/ui/doc_suspicious_footnotes.rs:149:7: 149:13 (#0))], cfg: [], auto_cfg: [], auto_cfg_change: [], fake_variadic: None, keyword: None, attribute: None, masked: None, notable_trait: None, search_unbox: None, html_favicon_url: None, html_logo_url: None, html_playground_url: None, html_root_url: None, html_no_source: None, issue_tracker_base_url: None, rust_logo: None, test_attrs: [], no_crate_inject: None }))
+stack backtrace:
+ 0: __rustc::rust_begin_unwind
+ 1: core::panicking::panic_fmt
+ 2: <clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0} as core::ops::function::FnOnce<(&mut rustc_errors::diagnostic::Diag<()>,)>>::call_once::{shim:vtable#0}
+ 3: rustc_middle::lint::lint_level::lint_level_impl
+ 4: rustc_middle::lint::lint_level::<clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0}>
+ 5: <rustc_lint::context::LateContext as rustc_lint::context::LintContext>::opt_span_lint::<rustc_span::span_encoding::Span, clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0}>
+ 6: clippy_lints::doc::doc_suspicious_footnotes::check
+ 7: clippy_lints::doc::check_attrs
+ 8: <clippy_lints::doc::Documentation as rustc_lint::passes::LateLintPass>::check_attributes
+ 9: <rustc_lint::late::LateContextAndPass<rustc_lint::late::RuntimeCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
+ 10: <rustc_lint::late::LateContextAndPass<rustc_lint::late::RuntimeCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_mod
+ 11: rustc_lint::late::late_lint_crate
+ 12: rustc_lint::late::check_crate
+ 13: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}::{closure#1}::{closure#0}::{closure#0}::{closure#2}::{closure#0}>
+ 14: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_interface::passes::analysis::{closure#0}::{closure#1}::{closure#0}>
+ 15: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}>
+ 16: rustc_interface::passes::analysis
+ [... omitted 2 frames ...]
+ 17: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
+ 18: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
+ 19: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
+ 20: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
+ 21: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
+ 22: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
+ 23: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
+note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---
= note: `-D clippy::doc-suspicious-footnotes` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::doc_suspicious_footnotes)]`
help: add footnote definition
|
LL ~ //! This is not a footnote[^1].
LL + //!
LL + //! [^1]: <!-- description -->
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:18:27
|
LL | /// This is not a footnote[^1].
| ^^^^
|
help: add footnote definition
|
LL ~ /// This is not a footnote[^1].
LL + ///
LL + /// [^1]: <!-- description -->
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:39:13
|
LL | #[doc = r#"This is not a footnote[^1]."#]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote[^1].
LL +
LL ~ [^1]: <!-- description -->"#]
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:56:13
|
LL | #[doc = "This is not a footnote[^1].
| _____________^
LL | |
LL | | This is not a footnote[^either], but it doesn't warn.
... |
LL | | [^2]: hello world
LL | | "]
| |_____^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote[^1].
LL +
LL + This is not a footnote[^either], but it doesn't warn.
LL +
LL + This is not a footnote\[^1], but it also doesn't warn.
LL +
LL + This is not a footnote[^1\], but it also doesn't warn.
LL +
LL + This is not a `footnote[^1]`, but it also doesn't warn.
LL +
LL + This is a footnote[^2].
LL +
LL + [^2]: hello world
LL +
LL +
LL ~ [^1]: <!-- description -->"#]
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:76:38
|
LL | doc = "This is not a footnote[^1].\n\nThis is not a footnote[^either], but it doesn't warn."
| ^^^^
|
help: add footnote definition
|
LL ~ doc = r#"This is not a footnote[^1].
LL +
LL + This is not a footnote[^either], but it doesn't warn.
LL +
LL + [^1]: <!-- description -->"#
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:91:9
|
LL | #[doc = r"This is not a footnote[^1]."]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote[^1].
LL +
LL ~ [^1]: <!-- description -->"#]
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:111:30
|
LL | * This is not a footnote[^1].
| ^^^^
|
help: add footnote definition
|
LL ~ */
LL + /*! [^1]: <!-- description --> */
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:122:30
|
LL | * This is not a footnote[^1].
| ^^^^
|
help: add footnote definition
|
LL ~ */
LL + /** [^1]: <!-- description --> */
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:135:28
|
LL | /// This is not a footnote [^1]
| ^^^^
|
help: add footnote definition
|
LL ~ /// This is not a footnote [^1]
LL + ///
LL + /// [^1]: <!-- description -->
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:141:33
|
LL | #[doc = "This is not a footnote [^3]"]
| ^^^^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote [^3]
LL +
LL ~ [^3]: <!-- description -->"#]
|
thread 'rustc' (53491) panicked at /checkout/compiler/rustc_hir/src/hir.rs:1353:18:
can't get the span of an arbitrary parsed attribute: Parsed(Doc(DocAttribute { aliases: {}, hidden: None, inline: [(Inline, tests/ui/doc_suspicious_footnotes.rs:149:7: 149:13 (#0))], cfg: [], auto_cfg: [], auto_cfg_change: [], fake_variadic: None, keyword: None, attribute: None, masked: None, notable_trait: None, search_unbox: None, html_favicon_url: None, html_logo_url: None, html_playground_url: None, html_root_url: None, html_no_source: None, issue_tracker_base_url: None, rust_logo: None, test_attrs: [], no_crate_inject: None }))
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: <clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0} as core::ops::function::FnOnce<(&mut rustc_errors::diagnostic::Diag<()>,)>>::call_once::{shim:vtable#0}
3: rustc_middle::lint::lint_level::lint_level_impl
4: rustc_middle::lint::lint_level::<clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0}>
5: <rustc_lint::context::LateContext as rustc_lint::context::LintContext>::opt_span_lint::<rustc_span::span_encoding::Span, clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0}>
6: clippy_lints::doc::doc_suspicious_footnotes::check
7: clippy_lints::doc::check_attrs
8: <clippy_lints::doc::Documentation as rustc_lint::passes::LateLintPass>::check_attributes
9: <rustc_lint::late::LateContextAndPass<rustc_lint::late::RuntimeCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
10: <rustc_lint::late::LateContextAndPass<rustc_lint::late::RuntimeCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_mod
11: rustc_lint::late::late_lint_crate
12: rustc_lint::late::check_crate
13: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}::{closure#1}::{closure#0}::{closure#0}::{closure#2}::{closure#0}>
14: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_interface::passes::analysis::{closure#0}::{closure#1}::{closure#0}>
15: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}>
16: rustc_interface::passes::analysis
[... omitted 2 frames ...]
17: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
18: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
19: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
20: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
21: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
22: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
23: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---
= note: `-D clippy::doc-suspicious-footnotes` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::doc_suspicious_footnotes)]`
help: add footnote definition
|
LL ~ //! This is not a footnote[^1].
LL + //!
LL + //! [^1]: <!-- description -->
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:18:27
|
LL | /// This is not a footnote[^1].
| ^^^^
|
help: add footnote definition
|
LL ~ /// This is not a footnote[^1].
LL + ///
LL + /// [^1]: <!-- description -->
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:39:13
|
LL | #[doc = r#"This is not a footnote[^1]."#]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote[^1].
LL +
LL ~ [^1]: <!-- description -->"#]
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:56:13
|
LL | #[doc = "This is not a footnote[^1].
| _____________^
LL | |
LL | | This is not a footnote[^either], but it doesn't warn.
... |
LL | | [^2]: hello world
LL | | "]
| |_____^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote[^1].
LL +
LL + This is not a footnote[^either], but it doesn't warn.
LL +
LL + This is not a footnote\[^1], but it also doesn't warn.
LL +
LL + This is not a footnote[^1\], but it also doesn't warn.
LL +
LL + This is not a `footnote[^1]`, but it also doesn't warn.
LL +
LL + This is a footnote[^2].
LL +
LL + [^2]: hello world
LL +
LL +
LL ~ [^1]: <!-- description -->"#]
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:76:38
|
LL | doc = "This is not a footnote[^1].\n\nThis is not a footnote[^either], but it doesn't warn."
| ^^^^
|
help: add footnote definition
|
LL ~ doc = r#"This is not a footnote[^1].
LL +
LL + This is not a footnote[^either], but it doesn't warn.
LL +
LL + [^1]: <!-- description -->"#
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:91:9
|
LL | #[doc = r"This is not a footnote[^1]."]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote[^1].
LL +
LL ~ [^1]: <!-- description -->"#]
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:111:30
|
LL | * This is not a footnote[^1].
| ^^^^
|
help: add footnote definition
|
LL ~ */
LL + /*! [^1]: <!-- description --> */
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:122:30
|
LL | * This is not a footnote[^1].
| ^^^^
|
help: add footnote definition
|
LL ~ */
LL + /** [^1]: <!-- description --> */
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:135:28
|
LL | /// This is not a footnote [^1]
| ^^^^
|
help: add footnote definition
|
LL ~ /// This is not a footnote [^1]
LL + ///
LL + /// [^1]: <!-- description -->
|
error: looks like a footnote ref, but has no matching footnote
##[error] --> tests/ui/doc_suspicious_footnotes.rs:141:33
|
LL | #[doc = "This is not a footnote [^3]"]
| ^^^^
|
help: add footnote definition
|
LL ~ #[doc = r#"This is not a footnote [^3]
LL +
LL ~ [^3]: <!-- description -->"#]
|
thread 'rustc' (53491) panicked at /checkout/compiler/rustc_hir/src/hir.rs:1353:18:
can't get the span of an arbitrary parsed attribute: Parsed(Doc(DocAttribute { aliases: {}, hidden: None, inline: [(Inline, tests/ui/doc_suspicious_footnotes.rs:149:7: 149:13 (#0))], cfg: [], auto_cfg: [], auto_cfg_change: [], fake_variadic: None, keyword: None, attribute: None, masked: None, notable_trait: None, search_unbox: None, html_favicon_url: None, html_logo_url: None, html_playground_url: None, html_root_url: None, html_no_source: None, issue_tracker_base_url: None, rust_logo: None, test_attrs: [], no_crate_inject: None }))
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: <clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0} as core::ops::function::FnOnce<(&mut rustc_errors::diagnostic::Diag<()>,)>>::call_once::{shim:vtable#0}
3: rustc_middle::lint::lint_level::lint_level_impl
4: rustc_middle::lint::lint_level::<clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0}>
5: <rustc_lint::context::LateContext as rustc_lint::context::LintContext>::opt_span_lint::<rustc_span::span_encoding::Span, clippy_utils::diagnostics::span_lint_and_then<rustc_lint::context::LateContext, rustc_span::span_encoding::Span, &str, clippy_lints::doc::doc_suspicious_footnotes::check::{closure#1}>::{closure#0}>
6: clippy_lints::doc::doc_suspicious_footnotes::check
7: clippy_lints::doc::check_attrs
8: <clippy_lints::doc::Documentation as rustc_lint::passes::LateLintPass>::check_attributes
9: <rustc_lint::late::LateContextAndPass<rustc_lint::late::RuntimeCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
10: <rustc_lint::late::LateContextAndPass<rustc_lint::late::RuntimeCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_mod
11: rustc_lint::late::late_lint_crate
12: rustc_lint::late::check_crate
13: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}::{closure#1}::{closure#0}::{closure#0}::{closure#2}::{closure#0}>
14: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_interface::passes::analysis::{closure#0}::{closure#1}::{closure#0}>
15: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}>
16: rustc_interface::passes::analysis
[... omitted 2 frames ...]
17: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
18: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
19: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
20: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
21: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
22: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
23: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---
FAILED TEST: tests/ui/manual_non_exhaustive_enum.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--crate-type=lib" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/manual_non_exhaustive_enum.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "--edition" "2024"
error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/manual_non_exhaustive_enum.stderr` to the actual output
--- tests/ui/manual_non_exhaustive_enum.stderr
+++ <stderr output>
---
error: there was 1 unmatched diagnostic
##[error] --> tests/ui/manual_non_exhaustive_enum.rs:80:10
|
80 | #[expect(clippy::manual_non_exhaustive)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error[unfulfilled_lint_expectations]: this lint expectation is unfulfilled
|
full stderr:
error: this lint expectation is unfulfilled
##[error] --> tests/ui/manual_non_exhaustive_enum.rs:80:10
---
FAILED TEST: tests/ui/suspicious_doc_comments.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/suspicious_doc_comments.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "--edition" "2024"
error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/suspicious_doc_comments.stderr` to the actual output
--- tests/ui/suspicious_doc_comments.stderr
+++ <stderr output>
---
-error: aborting due to 9 previous errors
+error: this is an outer doc comment and does not apply to the parent module or crate
+ --> tests/ui/suspicious_doc_comments.rs:91:1
+ |
+LL | #[doc = "! here's some docs !"]
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+help: use an inner doc comment to document the parent module or crate
+ |
+LL - #[doc = "! here's some docs !"]
+LL + //! here's some docs !
+ |
+error: aborting due to 10 previous errors
+
Full unnormalized output:
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:6:1
|
LL | ///! Fake module documentation.
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::suspicious-doc-comments` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::suspicious_doc_comments)]`
help: use an inner doc comment to document the parent module or crate
|
LL - ///! Fake module documentation.
LL + //! Fake module documentation.
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:11:5
|
---
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:24:5
|
LL | / /**! This module contains useful functions.
LL | | */
| |_______^
|
help: use an inner doc comment to document the parent module or crate
|
LL ~ /*! This module contains useful functions.
LL + */
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:39:5
|
LL | / ///! This module
LL | |
LL | | ///! contains
LL | | ///! useful functions.
| |__________________________^
|
help: use an inner doc comment to document the parent module or crate
|
LL ~ //! This module
LL |
LL ~ //! contains
LL ~ //! useful functions.
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:48:5
|
---
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:77:5
|
LL | ///! Very cool macro
| ^^^^^^^^^^^^^^^^^^^^
|
help: use an inner doc comment to document the parent module or crate
|
LL - ///! Very cool macro
LL + //! Very cool macro
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:85:5
|
LL | ///! Huh.
| ^^^^^^^^^
|
help: use an inner doc comment to document the parent module or crate
|
LL - ///! Huh.
LL + //! Huh.
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:91:1
|
LL | #[doc = "! here's some docs !"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use an inner doc comment to document the parent module or crate
|
LL - #[doc = "! here's some docs !"]
LL + //! here's some docs !
|
error: aborting due to 10 previous errors
error: there was 1 unmatched diagnostic
##[error] --> tests/ui/suspicious_doc_comments.rs:91:1
|
91 | #[doc = "! here's some docs !"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error[clippy::suspicious_doc_comments]: this is an outer doc comment and does not apply to the parent module or crate
|
full stderr:
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:6:1
|
LL | ///! Fake module documentation.
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::suspicious-doc-comments` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::suspicious_doc_comments)]`
help: use an inner doc comment to document the parent module or crate
|
LL - ///! Fake module documentation.
LL + //! Fake module documentation.
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:11:5
|
---
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:24:5
|
LL | / /**! This module contains useful functions.
LL | | */
| |_______^
|
help: use an inner doc comment to document the parent module or crate
|
LL ~ /*! This module contains useful functions.
LL + */
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:39:5
|
LL | / ///! This module
LL | |
LL | | ///! contains
LL | | ///! useful functions.
| |__________________________^
|
help: use an inner doc comment to document the parent module or crate
|
LL ~ //! This module
LL |
LL ~ //! contains
LL ~ //! useful functions.
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:48:5
|
---
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:77:5
|
LL | ///! Very cool macro
| ^^^^^^^^^^^^^^^^^^^^
|
help: use an inner doc comment to document the parent module or crate
|
LL - ///! Very cool macro
LL + //! Very cool macro
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:85:5
|
LL | ///! Huh.
| ^^^^^^^^^
|
help: use an inner doc comment to document the parent module or crate
|
LL - ///! Huh.
LL + //! Huh.
|
error: this is an outer doc comment and does not apply to the parent module or crate
##[error] --> tests/ui/suspicious_doc_comments.rs:91:1
|
LL | #[doc = "! here's some docs !"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: use an inner doc comment to document the parent module or crate
|
LL - #[doc = "! here's some docs !"]
LL + //! here's some docs !
|
error: aborting due to 10 previous errors
full stdout:
FAILED TEST: tests/ui/unnecessary_unsafety_doc.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/unnecessary_unsafety_doc.rs" "--extern" "proc_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary/libproc_macros.so" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-56bbad2987f1a076.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-49215d6c78da5485.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-9fd0632ab0adaa16.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-cc8a335fe9146be3.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-aa12901b2adae6fc.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-6ecd666cd642c024.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-6629799eafe4f0d4.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-b0c36228d90d575f.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6ddc89563990f085.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "--edition" "2024"
error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/unnecessary_unsafety_doc.stderr` to the actual output
--- tests/ui/unnecessary_unsafety_doc.stderr
+++ <stderr output>
error: safe function's docs have unnecessary `# Safety` section
--> tests/ui/unnecessary_unsafety_doc.rs:19:1
... 40 lines skipped ...
= note: this error originates in the macro `very_safe` (in Nightly builds, run with -Z macro-backtrace for more info)
+error: unsafe function's docs are missing a `# Safety` section
+ --> tests/ui/unnecessary_unsafety_doc.rs:152:9
+ |
+LL | pub unsafe fn f() {}
+ | ^^^^^^^^^^^^^^^^^
+ |
+ = note: `-D clippy::missing-safety-doc` implied by `-D warnings`
+ = help: to override `-D warnings` add `#[allow(clippy::missing_safety_doc)]`
+
error: docs for safe trait have unnecessary `# Safety` section
--> tests/ui/unnecessary_unsafety_doc.rs:157:1
... 2 lines skipped ...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: aborting due to 7 previous errors
+error: aborting due to 8 previous errors
Full unnormalized output:
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:19:1
|
LL | pub fn apocalypse(universe: &mut ()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::unnecessary-safety-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::unnecessary_safety_doc)]`
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:46:5
|
LL | pub fn republished() {
| ^^^^^^^^^^^^^^^^^^^^
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:60:5
|
LL | fn documented(self);
| ^^^^^^^^^^^^^^^^^^^^
error: docs for safe trait have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:71:1
|
LL | pub trait DocumentedSafeTrait {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:100:5
|
LL | pub fn documented() -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:128:9
|
LL | pub fn drive() {
| ^^^^^^^^^^^^^^
...
LL | very_safe!();
| ------------ in this macro invocation
|
= note: this error originates in the macro `very_safe` (in Nightly builds, run with -Z macro-backtrace for more info)
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:152:9
|
LL | pub unsafe fn f() {}
| ^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::missing-safety-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::missing_safety_doc)]`
error: docs for safe trait have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:157:1
|
LL | pub trait DocumentedSafeTraitWithImplementationHeader {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 8 previous errors
error: there was 1 unmatched diagnostic
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:152:9
|
152 | pub unsafe fn f() {}
| ^^^^^^^^^^^^^^^^^ Error[clippy::missing_safety_doc]: unsafe function's docs are missing a `# Safety` section
|
full stderr:
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:19:1
|
LL | pub fn apocalypse(universe: &mut ()) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::unnecessary-safety-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::unnecessary_safety_doc)]`
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:46:5
|
LL | pub fn republished() {
| ^^^^^^^^^^^^^^^^^^^^
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:60:5
|
LL | fn documented(self);
| ^^^^^^^^^^^^^^^^^^^^
error: docs for safe trait have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:71:1
|
LL | pub trait DocumentedSafeTrait {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:100:5
|
LL | pub fn documented() -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: safe function's docs have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:128:9
|
LL | pub fn drive() {
| ^^^^^^^^^^^^^^
...
LL | very_safe!();
| ------------ in this macro invocation
|
= note: this error originates in the macro `very_safe` (in Nightly builds, run with -Z macro-backtrace for more info)
error: unsafe function's docs are missing a `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:152:9
|
LL | pub unsafe fn f() {}
| ^^^^^^^^^^^^^^^^^
|
= note: `-D clippy::missing-safety-doc` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::missing_safety_doc)]`
error: docs for safe trait have unnecessary `# Safety` section
##[error] --> tests/ui/unnecessary_unsafety_doc.rs:157:1
|
LL | pub trait DocumentedSafeTraitWithImplementationHeader {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 8 previous errors
:umbrella: The latest upstream changes (presumably #149729) made this pull request unmergeable. Please resolve the merge conflicts.