Skip to content

Rollup of 19 pull requests #145195

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 49 commits into from
Closed

Conversation

Zalathar
Copy link
Contributor

@Zalathar Zalathar commented Aug 10, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

jyn514 and others added 30 commits May 26, 2025 20:22
This uses a very hacky regex that will probably miss some variables. But
having some docs seems better than none at all.

This uses a very hacky regex that will probably miss some variables. But having some docs seems better than none at all.

In particular, this generates stubs for the following env vars:

- COLORTERM
- QNX_TARGET
- RUST_BACKTRACE
- RUSTC_BLESS
- RUSTC_BOOTSTRAP
- RUSTC_BREAK_ON_ICE
- RUSTC_CTFE_BACKTRACE
- RUSTC_FORCE_RUSTC_VERSION
- RUSTC_GRAPHVIZ_FONT
- RUSTC_ICE
- RUSTC_LOG
- RUSTC_OVERRIDE_VERSION_STRING
- RUSTC_RETRY_LINKER_ON_SEGFAULT
- RUSTC_TRANSLATION_NO_DEBUG_ASSERT
- RUST_DEP_GRAPH_FILTER
- RUST_DEP_GRAPH
- RUST_FORBID_DEP_GRAPH_EDGE
- RUST_MIN_STACK
- RUST_TARGET_PATH
- SDKROOT
- TERM
- UNSTABLE_RUSTDOC_TEST_LINE
- UNSTABLE_RUSTDOC_TEST_PATH

[rendered](![screenshot of unstable-book running locally, with 14 environment variables shown in the sidebar](https://github.com/user-attachments/assets/8238d094-fb7a-456f-ad43-7c07aa2c44dd))
The suboptimal error only appears with NLLs due to liveness differences
where polonius cannot have as many boring locals. Sometimes this causes
NLLs to emit a duplicate error as well.
Remove incomplete handling of kills during traversal for loan liveness
to get to a simpler and actionable prototype.

This handles the cases, on sufficiently simple examples, that were
deferred from NLLs (NLL problem case 3, lending iterators), and is still
a good step to put in people's hands without needing to wait for another
full implementation. This is a practical cut in scope, but it also
shows where are the areas of improvement, that we will explore in the
future.
These are just some sanity checks to ensure NLLs, the polonius alpha
analysis, and the datalog implementation behave the same on these common
examples.
This test showcases the same imprecision as NLLs, unlike the datalog
implementation, when using reachability as a liveness approximation.
This is an example similar to the linked-list cursor examples
where the alpha shows the same imprecision as NLLs, but that can work due to
the loans not being live after the loop, or the constraint graph being
simple enough that the cfg/subset relationships are the same for
reachability and liveness.
- linked-list cursor-like patterns
- issue-46589

These are known-bugs for the polonius alpha, where they show the same
imprecision as NLLs, but are supported by the old datalog
implementation.
also add a note to `GenericArgs::truncate_to`
some clauses can be merged together without requiring an attribute for
each trait derived.

also manually impl `Eq` because the `derive_where` generated code is too
much for my comfort
Co-authored-by: Florian Bartels <[email protected]>
Co-authored-by: Mads Marquart <[email protected]>
This (poorly named) target option controls whether or not cdylibs will
export mangled rust symbols rather than just unmangled symbols.
Presumably at some point in the past support for this wasn't implemented
yet for Solaris, but cg_ssa::back::linker does have handling for this on
Solaris now. And one of the Solaris target maintainers confirmed that
building Rust with this option enabled works fine for them on Solaris.
rustdoc has its own issue template now, mention that.

swap the order of the last two sentances so it reads more like
a typical if/else chain (base case listed last).

adjust some labels and descriptions
Every other feature in the list uses a doc comment; fix one that used a
regular comment to use a doc comment.
Change days-threshold to 28 in [behind-upstream]

Make the days-threshold to 28 to reduce false positives.

[#triagebot > Outdated commit message](https://rust-lang.zulipchat.com/#narrow/channel/224082-triagebot/topic/Outdated.20commit.20message)

r? ```@Urgau```

cc ```@jieyouxu```
…-section, r=joshtriplett

`{BTree,Hash}Map`: add "`Entry` API" section heading

I wanted to link to an introduction of the `Entry` API to the help message of `clippy::map_entry` (see rust-lang/rust-clippy#11598 for motivation), but I found the documentation on the `Entry` enum itself a bit short. On the other hand, `{BTree,Hash}Map` both have sections in their docs introducing the whole API and giving usage examples, and so I would like to link to that instead. For that, I introduce the "`Entry` API" section heading to both of them.

Do let me know whether you think this is the right approach.
…s, r=lqd

Enable limit_rdylib_exports on Solaris

This (poorly named) target option controls whether or not cdylibs will export mangled rust symbols rather than just unmangled symbols. Presumably at some point in the past support for this wasn't implemented yet for Solaris, but cg_ssa::back::linker does have handling for this on Solaris now. And one of the Solaris target maintainers confirmed that building Rust with this option enabled works fine for them on Solaris: [#t-compiler > solaris limit_rdylib_exports @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/solaris.20limit_rdylib_exports/near/533480771)
…comment, r=lqd

Fix an unstable feature comment that wasn't a doc comment

Every other feature in the list uses a doc comment; fix one that used a regular comment to use a doc comment.
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Aug 10, 2025
@Zalathar
Copy link
Contributor Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Aug 10, 2025

📌 Commit d0af528 has been approved by Zalathar

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 10, 2025
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-19-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/malformed-attrs/malformed-attrs.stderr`
diff of stderr:

665 For more information about an error, try `rustc --explain E0308`.
666 Future incompatibility report: Future breakage diagnostic:
667 error: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
-   --> $DIR/malformed-attrs.rs:44:1
+   --> $DIR/malformed-attrs.rs:40:1
669    |
670 LL | #[doc]
671    | ^^^^^^

676 
677 Future breakage diagnostic:
678 error: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
-   --> $DIR/malformed-attrs.rs:77:1
+   --> $DIR/malformed-attrs.rs:73:1
680    |
681 LL | #[doc]
682    | ^^^^^^

687 
688 Future breakage diagnostic:
689 error: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
-   --> $DIR/malformed-attrs.rs:84:1
+   --> $DIR/malformed-attrs.rs:80:1
691    |
692 LL | #[link]
693    | ^^^^^^^

698 
699 Future breakage diagnostic:
700 error: valid forms for the attribute are `#[inline(always|never)]` and `#[inline]`
-   --> $DIR/malformed-attrs.rs:54:1
+   --> $DIR/malformed-attrs.rs:50:1
702    |
703 LL | #[inline = 5]
704    | ^^^^^^^^^^^^^

709 
710 Future breakage diagnostic:
711 error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
-   --> $DIR/malformed-attrs.rs:95:1
+   --> $DIR/malformed-attrs.rs:91:1
713    |
714 LL | #[ignore()]
715    | ^^^^^^^^^^^

720 
721 Future breakage diagnostic:
722 error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
-   --> $DIR/malformed-attrs.rs:224:1
+   --> $DIR/malformed-attrs.rs:220:1
724    |
725 LL | #[ignore = 1]
726    | ^^^^^^^^^^^^^
---
To only update this specific test, also pass `--test-args attributes/malformed-attrs.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/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" "-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:99:1
   |
LL | #[cfg]
   | ^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[cfg(predicate)]`

error: malformed `cfg_attr` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:101:1
   |
LL | #[cfg_attr]
---

error: malformed `windows_subsystem` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:26:1
   |
LL | #![windows_subsystem]
   | ^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#![windows_subsystem = "windows|console"]`

error: malformed `crate_name` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:71:1
   |
LL | #[crate_name]
   | ^^^^^^^^^^^^^ help: must be of the form: `#[crate_name = "name"]`

error: malformed `no_sanitize` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:89:1
   |
LL | #[no_sanitize]
   | ^^^^^^^^^^^^^^ help: must be of the form: `#[no_sanitize(address, kcfi, memory, thread)]`

error: malformed `instruction_set` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:103:1
   |
LL | #[instruction_set]
   | ^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[instruction_set(set)]`

error: malformed `patchable_function_entry` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:105: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:129:1
   |
LL | #[must_not_suspend()]
   | ^^^^^^^^^^^^^^^^^^^^^
   |
help: the following are the possible correct uses
   |
LL - #[must_not_suspend()]
LL + #[must_not_suspend = "reason"]
   |
LL - #[must_not_suspend()]
LL + #[must_not_suspend]
   |

error: malformed `cfi_encoding` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:131:1
   |
LL | #[cfi_encoding]
   | ^^^^^^^^^^^^^^^ help: must be of the form: `#[cfi_encoding = "encoding"]`

error: malformed `linkage` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:170:5
   |
LL |     #[linkage]
   |     ^^^^^^^^^^ help: must be of the form: `#[linkage = "external|internal|..."]`

error: malformed `allow` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:175:1
   |
LL | #[allow]
   | ^^^^^^^^ help: must be of the form: `#[allow(lint1, lint2, ..., /*opt*/ reason = "...")]`

error: malformed `expect` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:177:1
   |
LL | #[expect]
   | ^^^^^^^^^ help: must be of the form: `#[expect(lint1, lint2, ..., /*opt*/ reason = "...")]`

error: malformed `warn` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:179:1
   |
LL | #[warn]
   | ^^^^^^^ help: must be of the form: `#[warn(lint1, lint2, ..., /*opt*/ reason = "...")]`

error: malformed `deny` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:181:1
   |
LL | #[deny]
   | ^^^^^^^ help: must be of the form: `#[deny(lint1, lint2, ..., /*opt*/ reason = "...")]`

error: malformed `forbid` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:183:1
   |
LL | #[forbid]
   | ^^^^^^^^^ help: must be of the form: `#[forbid(lint1, lint2, ..., /*opt*/ reason = "...")]`

error: malformed `debugger_visualizer` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:185:1
   |
LL | #[debugger_visualizer]
   | ^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[debugger_visualizer(natvis_file = "...", gdb_script_file = "...")]`

error: malformed `thread_local` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:200:1
   |
LL | #[thread_local()]
   | ^^^^^^^^^^^^^^^^^ help: must be of the form: `#[thread_local]`

error: malformed `no_link` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:204:1
   |
LL | #[no_link()]
   | ^^^^^^^^^^^^ help: must be of the form: `#[no_link]`

error: malformed `macro_export` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:211:1
   |
LL | #[macro_export = 18]
---
LL - #[macro_export = 18]
LL + #[macro_export]
   |

error: the `#[proc_macro]` attribute is only usable with crates of the `proc-macro` crate type
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:96: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:113:1
   |
LL | #[proc_macro_attribute = 19]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: the `#[proc_macro_derive]` attribute is only usable with crates of the `proc-macro` crate type
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:120:1
   |
LL | #[proc_macro_derive]
   | ^^^^^^^^^^^^^^^^^^^^

error[E0658]: allow_internal_unsafe side-steps the unsafe_code lint
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:213: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: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:40:1
   |
LL | #[doc]
   | ^^^^^^
   |
   = 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)]` on by default

error: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:73:1
   |
LL | #[doc]
   | ^^^^^^
   |
   = 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: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:80:1
   |
LL | #[link]
   | ^^^^^^^
   |
---

error[E0539]: malformed `export_name` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:29:1
   |
LL | #[unsafe(export_name)]
   | ^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[export_name = "name"]`

error: `rustc_allow_const_fn_unstable` expects a list of feature names
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:31:1
   |
LL | #[rustc_allow_const_fn_unstable]
---
LL | #[rustc_confusables]
   | ^^^^^^^^^^^^^^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[rustc_confusables("name1", "name2", ...)]`

error[E0539]: malformed `deprecated` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:38:1
   |
LL | #[deprecated = 5]
   | ^^^^^^^^^^^^^^^-^
   |                |
   |                expected a string literal here
   |
help: try changing it to one of the following valid forms of the attribute
   |
LL - #[deprecated = 5]
LL + #[deprecated = "reason"]
   |
LL - #[deprecated = 5]
LL + #[deprecated(/*opt*/ since = "version", /*opt*/ note = "reason")]
   |
LL - #[deprecated = 5]
LL + #[deprecated]
   |

error[E0539]: malformed `rustc_macro_transparency` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:43:1
   |
LL | #[rustc_macro_transparency]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[rustc_macro_transparency = "transparent|semitransparent|opaque"]`

error[E0539]: malformed `repr` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:45:1
   |
LL | #[repr]
   | ^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[repr(C | Rust | align(...) | packed(...) | <integer type> | transparent)]`

error[E0565]: malformed `rustc_as_ptr` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:48:1
   |
LL | #[rustc_as_ptr = 5]
   | ^^^^^^^^^^^^^^^---^
   | |              |
   | |              didn't expect any arguments here
   | help: must be of the form: `#[rustc_as_ptr]`

error[E0539]: malformed `rustc_align` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:53:1
   |
LL | #[rustc_align]
   | ^^^^^^^^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[rustc_align(<alignment in bytes>)]`

error[E0539]: malformed `optimize` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:55:1
   |
LL | #[optimize]
   | ^^^^^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[optimize(size|speed|none)]`

error[E0565]: malformed `cold` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:57:1
   |
LL | #[cold = 1]
   | ^^^^^^^---^
   | |      |
   | |      didn't expect any arguments here
   | help: must be of the form: `#[cold]`

error: valid forms for the attribute are `#[must_use = "reason"]` and `#[must_use]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:59:1
   |
LL | #[must_use()]
   | ^^^^^^^^^^^^^

---

error[E0539]: malformed `export_name` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:67:1
   |
LL | #[export_name()]
   | ^^^^^^^^^^^^^^^^ help: must be of the form: `#[export_name = "name"]`

error[E0805]: malformed `used` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:69:1
   |
LL | #[used()]
   | ^^^^^^--^
   |       |
   |       expected a single argument here
   |
help: try changing it to one of the following valid forms of the attribute
   |
LL | #[used(compiler|linker)]
   |        +++++++++++++++
LL - #[used()]
LL + #[used]
   |

error[E0539]: malformed `target_feature` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:76:1
   |
LL | #[target_feature]
   | ^^^^^^^^^^^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[target_feature(enable = "feat1, feat2")]`

error[E0565]: malformed `export_stable` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:78:1
   |
LL | #[export_stable = 1]
---
error[E0539]: malformed `link_name` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:83:1
   |
LL | #[link_name]
   | ^^^^^^^^^^^^ help: must be of the form: `#[link_name = "name"]`

error[E0539]: malformed `link_section` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:85:1
   |
LL | #[link_section]
   | ^^^^^^^^^^^^^^^ help: must be of the form: `#[link_section = "name"]`

error[E0539]: malformed `coverage` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:87:1
   |
LL | #[coverage]
   | ^^^^^^^^^^^ this attribute is only valid with either `on` or `off` as an argument
   |
help: try changing it to one of the following valid forms of the attribute
   |
LL | #[coverage(off)]
   |           +++++
---
   |
LL | #[no_implicit_prelude = 23]
   | ^^^^^^^^^^^^^^^^^^^^^^----^
   | |                     |
   | |                     didn't expect any arguments here
   | help: must be of the form: `#[no_implicit_prelude]`

error[E0565]: malformed `proc_macro` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:96:1
   |
LL | #[proc_macro = 18]
   | ^^^^^^^^^^^^^----^
   | |            |
   | |            didn't expect any arguments here
   | help: must be of the form: `#[proc_macro]`

error[E0565]: malformed `coroutine` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:108:5
   |
LL |     #[coroutine = 63] || {}
---
   |
LL | #[proc_macro_attribute = 19]
   | ^^^^^^^^^^^^^^^^^^^^^^^----^
   | |                      |
   | |                      didn't expect any arguments here
   | help: must be of the form: `#[proc_macro_attribute]`

error[E0539]: malformed `must_use` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:116:1
   |
LL | #[must_use = 1]
   | ^^^^^^^^^^^^^-^
   |              |
   |              expected a string literal here
   |
help: try changing it to one of the following valid forms of the attribute
   |
LL - #[must_use = 1]
LL + #[must_use = "reason"]
   |
LL - #[must_use = 1]
LL + #[must_use]
   |

error[E0539]: malformed `proc_macro_derive` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:120:1
   |
LL | #[proc_macro_derive]
   | ^^^^^^^^^^^^^^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[proc_macro_derive(TraitName, /*opt*/ attributes(name1, name2, ...))]`

error[E0539]: malformed `rustc_layout_scalar_valid_range_start` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:125:1
   |
LL | #[rustc_layout_scalar_valid_range_start]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[rustc_layout_scalar_valid_range_start(start)]`

error[E0539]: malformed `rustc_layout_scalar_valid_range_end` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:127:1
   |
LL | #[rustc_layout_scalar_valid_range_end]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   | |
   | expected this to be a list
   | help: must be of the form: `#[rustc_layout_scalar_valid_range_end(end)]`

error[E0565]: malformed `marker` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:152:1
   |
LL | #[marker = 3]
   | ^^^^^^^^^---^
   | |        |
   | |        didn't expect any arguments here
   | help: must be of the form: `#[marker]`

error[E0565]: malformed `fundamental` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:154:1
   |
LL | #[fundamental()]
   | ^^^^^^^^^^^^^--^
   | |            |
   | |            didn't expect any arguments here
   | help: must be of the form: `#[fundamental]`

error[E0565]: malformed `ffi_pure` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:162:5
   |
LL |     #[unsafe(ffi_pure = 1)]
   |     ^^^^^^^^^^^^^^^^^^---^^
   |     |                 |
   |     |                 didn't expect any arguments here
   |     help: must be of the form: `#[ffi_pure]`

error[E0539]: malformed `link_ordinal` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:164:5
   |
LL |     #[link_ordinal]
   |     ^^^^^^^^^^^^^^^
   |     |
   |     expected this to be a list
   |     help: must be of the form: `#[link_ordinal(ordinal)]`

error[E0565]: malformed `ffi_const` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:168:5
   |
LL |     #[unsafe(ffi_const = 1)]
   |     ^^^^^^^^^^^^^^^^^^^---^^
   |     |                  |
   |     |                  didn't expect any arguments here
   |     help: must be of the form: `#[ffi_const]`

error[E0565]: malformed `automatically_derived` attribute input
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:188:1
   |
LL | #[automatically_derived = 18]
---
   | |                |
   | |                didn't expect any arguments here
   | help: must be of the form: `#[non_exhaustive]`

error: valid forms for the attribute are `#[macro_use(name1, name2, ...)]` and `#[macro_use]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:206:1
   |
LL | #[macro_use = 1]
   | ^^^^^^^^^^^^^^^^

---
   |
LL |     #[type_const = 1]
   |     ^^^^^^^^^^^^^---^
   |     |            |
   |     |            didn't expect any arguments here
   |     help: must be of the form: `#[type_const]`

error: attribute should be applied to `const fn`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:31:1
   |
LL |   #[rustc_allow_const_fn_unstable]
---
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid option found here
   |
   = help: only `message`, `note` and `label` are allowed as options

error: valid forms for the attribute are `#[inline(always|never)]` and `#[inline]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:50:1
   |
LL | #[inline = 5]
   | ^^^^^^^^^^^^^
   |
   = 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: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:91:1
   |
LL | #[ignore()]
   | ^^^^^^^^^^^
   |
   = 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: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:220:1
   |
LL | #[ignore = 1]
   | ^^^^^^^^^^^^^
   |
---
LL |     #[coroutine = 63] || {}
   |                       ^^^^^ expected `()`, found coroutine
   |
   = note: expected unit type `()`
              found coroutine `{coroutine@/checkout/tests/ui/attributes/malformed-attrs.rs:108:23: 108:25}`

error: aborting due to 74 previous errors; 3 warnings emitted

Some errors have detailed explanations: E0308, E0463, E0539, E0565, E0658, E0805.
For more information about an error, try `rustc --explain E0308`.
Future incompatibility report: Future breakage diagnostic:
error: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:40:1
   |
LL | #[doc]
   | ^^^^^^
   |
   = 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)]` on by default

Future breakage diagnostic:
error: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:73:1
   |
LL | #[doc]
   | ^^^^^^
   |
   = 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)]` on by default

Future breakage diagnostic:
error: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:80:1
   |
LL | #[link]
   | ^^^^^^^
   |
   = 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)]` on by default

Future breakage diagnostic:
error: valid forms for the attribute are `#[inline(always|never)]` and `#[inline]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:50:1
   |
LL | #[inline = 5]
   | ^^^^^^^^^^^^^
   |
   = 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)]` on by default

Future breakage diagnostic:
error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:91:1
   |
LL | #[ignore()]
   | ^^^^^^^^^^^
   |
   = 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)]` on by default

Future breakage diagnostic:
error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
##[error]  --> /checkout/tests/ui/attributes/malformed-attrs.rs:220:1
   |
LL | #[ignore = 1]
   | ^^^^^^^^^^^^^
   |

@Zalathar
Copy link
Contributor Author

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 10, 2025
@Zalathar Zalathar closed this Aug 10, 2025
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Aug 10, 2025
@Zalathar Zalathar deleted the rollup-yiudw9i branch August 11, 2025 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.