Skip to content

Rollup of 21 pull requests #145192

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 54 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
@rustbot rustbot added 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-clippy Relevant to the Clippy team. 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 f0ea3bf 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
@Zalathar
Copy link
Contributor Author

@bors try jobs=test-various,dist-ohos-x86_64

@rust-bors
Copy link

rust-bors bot commented Aug 10, 2025

⌛ Trying commit f0ea3bf with merge 9fe0b47

To cancel the try build, run the command @bors try cancel.

rust-bors bot added a commit that referenced this pull request Aug 10, 2025
Rollup of 21 pull requests

try-job: test-various
try-job: dist-ohos-x86_64
@rust-log-analyzer
Copy link
Collaborator

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)
Diff in /checkout/library/core/src/num/nonzero.rs:313:
 #[rustc_const_unstable(feature = "const_ops", issue = "143802")]
 impl<T> const BitOr for NonZero<T>
 where
-    T: ZeroablePrimitive + ~const BitOr<Output = T>,
+    T: ZeroablePrimitive + [const] BitOr<Output = T>,
 {
     type Output = Self;
 
Diff in /checkout/library/core/src/num/nonzero.rs:328:
 #[rustc_const_unstable(feature = "const_ops", issue = "143802")]
 impl<T> const BitOr<T> for NonZero<T>
 where
-    T: ZeroablePrimitive + ~const BitOr<Output = T>,
+    T: ZeroablePrimitive + [const] BitOr<Output = T>,
 {
     type Output = Self;
 
Diff in /checkout/library/core/src/num/nonzero.rs:343:
 #[rustc_const_unstable(feature = "const_ops", issue = "143802")]
 impl<T> const BitOr<NonZero<T>> for T
 where
-    T: ZeroablePrimitive + ~const BitOr<Output = T>,
+    T: ZeroablePrimitive + [const] BitOr<Output = T>,
 {
     type Output = NonZero<T>;
 
Diff in /checkout/library/core/src/num/nonzero.rs:359:
 impl<T> const BitOrAssign for NonZero<T>
 where
     T: ZeroablePrimitive,
-    Self: ~const BitOr<Output = Self>,
+    Self: [const] BitOr<Output = Self>,
 {
     #[inline]
     fn bitor_assign(&mut self, rhs: Self) {
Diff in /checkout/library/core/src/num/nonzero.rs:372:
 impl<T> const BitOrAssign<T> for NonZero<T>
 where
     T: ZeroablePrimitive,
-    Self: ~const BitOr<T, Output = Self>,
+    Self: [const] BitOr<T, Output = Self>,
 {
     #[inline]
     fn bitor_assign(&mut self, rhs: T) {
fmt: checked 6297 files
Build completed unsuccessfully in 0:00:54

@Zalathar
Copy link
Contributor Author

Huh, something is failing tidy.

@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-ig4prp9 branch August 10, 2025 03:01
@rust-log-analyzer
Copy link
Collaborator

The job test-various 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/x86_64-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
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
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
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
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
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
724    |
725 LL | #[ignore = 1]
726    | ^^^^^^^^^^^^^


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/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/x86_64-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/x86_64-unknown-linux-gnu/stage2" "--target=wasm32-wasip1" "--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/x86_64-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/wasm32-wasip1/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]
   | ^^^^^^^^^^^^^
   |

@rust-bors
Copy link

rust-bors bot commented Aug 10, 2025

💔 Test failed (CI). Failed jobs:

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-clippy Relevant to the Clippy team. 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.