Commit Graph

323891 Commits

Author SHA1 Message Date
Stuart Cook 91a7d1b498 Rollup merge of #152980 - folkertdev:c-variadic-avr, r=tgross35
c-variadic: fix implementation on `avr`

tracking issue: https://github.com/rust-lang/rust/issues/44930
cc target maintainer @Patryk27

I ran into multiple issues, and although with this PR and a little harness I can run the test with qemu on avr, the implementation is perhaps not ideal.

The problem we found is that on `avr` the `c_int/c_uint` types are `i16/u16`, and this was not handled in the c-variadic checks. Luckily there is a field in the target configuration that contains the targets `c_int_width`. However, this field is not actually used in `core` at all, there the 16-bit targets are just hardcoded.

https://github.com/rust-lang/rust/blob/1500f0f47f5fe8ddcd6528f6c6c031b210b4eac5/library/core/src/ffi/primitives.rs#L174-L185

Perhaps we should expose this like endianness and pointer width?

---

Finally there are some changes to the test to make it compile with `no_std`.
2026-04-17 16:17:50 +10:00
Stuart Cook 1ff95e018f Rollup merge of #141633 - xizheyin:issue-141350, r=nnethercote
Suggest to bind `self.x` to `x` when field `x` may be in format string

Fixes rust-lang/rust#141350

I added the new test in the first commit, and committed the changes in the second one.

r? @fmease
cc @mejrs
2026-04-17 16:17:49 +10:00
bors 0204aca066 Auto merge of #155385 - davidtwco:stdarch-sync-160426, r=davidtwco
stdarch subtree update

Subtree update of `stdarch` to https://github.com/rust-lang/stdarch/commit/095646219d35769f013c4a54d843a982c87d979c.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost
2026-04-16 21:38:27 +00:00
bors 7af3402cda Auto merge of #155380 - jhpratt:rollup-j1e7DVL, r=jhpratt
Rollup of 18 pull requests

Successful merges:

 - rust-lang/rust#154451 (Require that a `<_ as Try>::Residual` implement the `Residual` trait)
 - rust-lang/rust#154595 (Emit fatal on invalid const args with nested defs)
 - rust-lang/rust#154599 (report the `varargs_without_pattern` lint in deps)
 - rust-lang/rust#154699 (`core::unicode`: Replace `Cased` table with `Lt`)
 - rust-lang/rust#155353 (resolve: Remove `inaccessible_ctor_reexport` resolver field)
 - rust-lang/rust#155357 (Add `--remap-path-scope` as unstable in rustdoc)
 - rust-lang/rust#150649 (clippy fix: non_canonical_clone_impl)
 - rust-lang/rust#154604 (abort in core)
 - rust-lang/rust#154616 (Add `--quiet` flag to x.py and bootstrap to suppress output)
 - rust-lang/rust#155215 (Clean up `AttributeLintKind` and refactor diagnostic attribute linting)
 - rust-lang/rust#155228 (Check diagnostic output in incremental `cpass` and `rpass` revisions)
 - rust-lang/rust#155266 (Adjust release notes for post-merge feedback)
 - rust-lang/rust#155326 (Disallow ZST allocations with `TypedArena`.)
 - rust-lang/rust#155334 (docs: Use `0b1` instead of `NonZero::MIN` in `NonZero::bit_width` doctests)
 - rust-lang/rust#155340 (Handle nonnull pattern types in size skeleton)
 - rust-lang/rust#155347 (Add push_mut and new Layout methods to release notes)
 - rust-lang/rust#155356 (remove calls to AliasTyKind::def_id)
 - rust-lang/rust#155364 (Reduce diagnostic type visibilities.)
2026-04-16 18:19:58 +00:00
bors d227e48c56 Auto merge of #155393 - ehuss:fix-1.95-changelog, r=Mark-Simulacrum
Fix version number in releases for 1.95.0

The incomplete version number prevented the GitHub Release from being generated.
2026-04-16 14:51:56 +00:00
Eric Huss e27f84a68c Fix version number in releases for 1.95.0
The incomplete version number prevented the GitHub Release from being
generated.
2026-04-16 07:02:05 -07:00
bors 18b439f84e Auto merge of #154605 - estebank:attr-suggest, r=jieyouxu
Make `span_suggestions` always verbose



`span_suggestions` is to provide mutually exclusive suggestions. When it was introduced, we made its behavior be that if a single suggestion is given to it, we present the suggestion inline, otherwise in patch format. Changing this to make all of its uses be verbose, as that is closer in intent of output.
2026-04-16 11:23:18 +00:00
Folkert de Vries a875e140b6 c-variadic: make VaArgSafe a lang item
so that we can check whether a type implements the trait
2026-04-16 11:48:06 +02:00
Folkert de Vries b8ba4002f5 c-variadic: handle c_int being i16 and c_double being f32 on avr 2026-04-16 11:48:02 +02:00
Jacob Pratt 92f640115a Rollup merge of #155364 - nnethercote:reduce-err-struct-visibilities, r=Kivooeo
Reduce diagnostic type visibilities.

Most diagnostic types are only used within their own crate, and so have a `pub(crate)` visibility. We have some diagnostic types that are unnecessarily `pub`. This is bad because (a) information hiding, and (b) if a `pub(crate)` type becomes unused the compiler will warn but it won't warn for a `pub` type.

This commit eliminates unnecessary `pub` visibilities for some diagnostic types, and also some related things due to knock-on effects. (I found these types with some ad hoc use of `grep`.)

r? @Kivooeo
2026-04-16 01:54:15 -04:00
Jacob Pratt 94d946ea69 Rollup merge of #155356 - WilliamTakeshi:remove_calls_to_def_id, r=WaffleLapkin
remove calls to AliasTyKind::def_id

ref https://github.com/rust-lang/rust/issues/154941

I asked the LSP where `AliasTyKind::def_id` and then checked where the `AliasTyKind::def_id` was trivial to change. Could only find 2 places, and I am not sure about the `opaque_types.rs` (open to feedback!! :) ). All the others need refactoring or will end up with a logic as complex as `AliasTyKind::def_id`

This is the list checked:
- [X] compiler/rustc_borrowck/src/region_infer/opaque_types/member_constraints.rs — 1
- [X] compiler/rustc_borrowck/src/region_infer/opaque_types/mod.rs — 1
- [X] compiler/rustc_hir_analysis/src/check/compare_impl_item/refine.rs — 5
- [X] compiler/rustc_hir_analysis/src/check/mod.rs — 1
- [X] compiler/rustc_infer/src/infer/outlives/for_liveness.rs — 2
- [X] compiler/rustc_infer/src/infer/outlives/obligations.rs — 1
- [X] compiler/rustc_infer/src/infer/outlives/verify.rs — 3
- [X] compiler/rustc_middle/src/ty/print/pretty.rs — 1
- [X] compiler/rustc_middle/src/ty/sty.rs — 1
- [X] compiler/rustc_next_trait_solver/src/solve/assembly/mod.rs — 3
- [X] compiler/rustc_next_trait_solver/src/solve/effect_goals.rs — 3
- [X] compiler/rustc_pattern_analysis/src/rustc.rs — 1
- [X] compiler/rustc_public/src/unstable/convert/stable/ty.rs — 1
- [X] compiler/rustc_trait_selection/src/error_reporting/infer/mod.rs — 2
- [X] compiler/rustc_trait_selection/src/error_reporting/infer/note_and_explain.rs — 4
- [X] compiler/rustc_trait_selection/src/error_reporting/traits/suggestions.rs — 2
- [X] compiler/rustc_trait_selection/src/traits/effects.rs — 1
- [X] compiler/rustc_trait_selection/src/traits/query/normalize.rs — 1
- [X] compiler/rustc_ty_utils/src/opaque_types.rs — 7
- [X] compiler/rustc_ty_utils/src/ty.rs — 1
- [X] compiler/rustc_type_ir/src/outlives.rs — 1
- [X] compiler/rustc_type_ir/src/predicate.rs — 1
- [X] compiler/rustc_type_ir/src/relate.rs — 5
- [X] compiler/rustc_type_ir/src/ty_kind.rs — 2

r? @WaffleLapkin
2026-04-16 01:54:14 -04:00
Jacob Pratt 671cfed011 Rollup merge of #155347 - balt-dev:patch-1, r=cuviper
Add push_mut and new Layout methods to release notes

As recommended by @cuviper on Zulip, I'm making a direct PR to add this.
2026-04-16 01:54:14 -04:00
Jacob Pratt a5f590a1d6 Rollup merge of #155340 - oli-obk:size-skeleton-pat-tys, r=mati865
Handle nonnull pattern types in size skeleton

The original comment was correct, the size is always the same, but we have more information now. In theory there was an additional bug that would have allowed transmuting things of different sizes, but I don't see how that would have been actually doable as the `tail` types would always have differed.

fixes rust-lang/rust#155330
2026-04-16 01:54:13 -04:00
Jacob Pratt 1798309c6e Rollup merge of #155334 - sorairolake:docs/nonzero-bit-width-literal, r=jhpratt
docs: Use `0b1` instead of `NonZero::MIN` in `NonZero::bit_width` doctests

This pull request updates the doctests for the `NonZero::bit_width` method. It replaces the use of the `NonZero::MIN` constant with an explicit binary literal `0b1`.

I think using `0b1` is more intuitive for illustrating the method's behavior than `NonZero::MIN`. Since other examples in the same doctests already use `0b111` and `0b1110`, this change brings the first example into alignment with the rest of the doctests.

I followed the existing pattern in the `NonZero::highest_one` and `NonZero::lowest_one` methods, which already use `0b1` in their doctests.

I also followed the convention of `uint::bit_width`, which uses the literal `0` instead of the `uint::MIN` constant in its doctests.
2026-04-16 01:54:13 -04:00
Jacob Pratt 52d6a1e376 Rollup merge of #155326 - nnethercote:disallow-ZST-TypedArena, r=Nadrieril
Disallow ZST allocations with `TypedArena`.

`DroplessArena::alloc` already disallows ZST allocation. `TypedArena::alloc` allows it but:
- (a) it's never used, and
- (b) writing to `NonNull::dangling()` seems dubious, even if the write is zero-sized.

This commit just changes it to panic on a ZST. This eliminates an untested code path, and we shouldn't be allocating ZSTs anyway. It also eliminates an unused ZST code path in `clear_last_chunk`.

r? @Nadrieril
2026-04-16 01:54:12 -04:00
Jacob Pratt 755465fcc2 Rollup merge of #155266 - Mark-Simulacrum:relnotes-fix, r=jieyouxu
Adjust release notes for post-merge feedback

* Adds musl CVE fix to compiler section
* Removes Cargo section per feedback in the PR (https://github.com/rust-lang/rust/pull/155162#discussion_r3073656171)

cc @BoxyUwU (just FYI)
2026-04-16 01:54:11 -04:00
Jacob Pratt 74bf79509b Rollup merge of #155228 - Zalathar:incr-test-diag, r=jieyouxu
Check diagnostic output in incremental `cpass` and `rpass` revisions

This allows compiler warnings to be annotated in `cpass` and `rpass` revisions, and verifies that no unexpected warnings occur.

---

My underlying motivation is that I want to be able to reduce or eliminate the confusing combination of `cfail` revisions with `//@ build-pass` directives, and replace them with a more straightforward `cpass` revision that also checks diagnostic output. That migration is not part of this PR.
2026-04-16 01:54:11 -04:00
Jacob Pratt 0d98e0d54f Rollup merge of #155215 - mejrs:condense_diag_lints, r=JonathanBrouwer
Clean up `AttributeLintKind` and refactor diagnostic attribute linting

There was a fair amount of duplication here, and thanks to the proliferation of new diagnostic attributes these days, it was threatening to grow bigger.
2026-04-16 01:54:10 -04:00
Jacob Pratt fc3251a845 Rollup merge of #154616 - erickt:quiet, r=jieyouxu
Add `--quiet` flag to x.py and bootstrap to suppress output

This adds a `--quiet` flag to x.py and bootstrap to suppress some of the output when compiling Rust. It conflicts with `--verbose`, matching the behavior of `cargo` which does not allow `--verbose` and `--quiet`.

It works by passing quiet flags down to the underlying cargo, or LLVM build processes. Note that for LLVM, we only can suppress logs when we explicitly configure it with ninja. Otherwise we won't know what flag to pass along to whichever build system cmake decides to use.

This can be helpful with AI workloads in the Rust codebase to help shrink down the output to reduce token usage, which can help prevent context pollution and lower costs.

This patch was partially generated with Gemini, but I've reviewed the changes it made.
2026-04-16 01:54:09 -04:00
Jacob Pratt 2beaa602c4 Rollup merge of #154604 - CAD97:abort-immediate, r=scottmcm
abort in core

Implements `core::process::abort_immediate` as a wrapper around `intrinsics::abort`.

- tracking issue: https://github.com/rust-lang/rust/issues/154601

(This PR used to also add `core::process::abort`, but that's been deferred to a later addition.)
2026-04-16 01:54:09 -04:00
Jacob Pratt c83f586c6e Rollup merge of #150649 - hkBst:non-canonical-clone-impl-1, r=scottmcm
clippy fix: non_canonical_clone_impl

Fixes:

```text
warning: non-canonical implementation of `clone` on a `Copy` type
   --> library/core/src/clone.rs:682:33
    |
682 |           fn clone(&self) -> Self {
    |  _________________________________^
683 | |             self
684 | |         }
    | |_________^ help: change this to: `{ *self }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_clone_impl
    = note: requested on the command line with `-W clippy::non-canonical-clone-impl`

warning: non-canonical implementation of `clone` on a `Copy` type
   --> library/core/src/convert/mod.rs:935:35
    |
935 |       fn clone(&self) -> Infallible {
    |  ___________________________________^
936 | |         match *self {}
937 | |     }
    | |_____^ help: change this to: `{ *self }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_clone_impl

warning: non-canonical implementation of `clone` on a `Copy` type
   --> library/core/src/marker.rs:856:29
    |
856 |       fn clone(&self) -> Self {
    |  _____________________________^
857 | |         Self
858 | |     }
    | |_____^ help: change this to: `{ *self }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_clone_impl

```
2026-04-16 01:54:08 -04:00
Jacob Pratt a25356babb Rollup merge of #155357 - Urgau:rustdoc-remap-path-scope, r=GuillaumeGomez
Add `--remap-path-scope` as unstable in rustdoc

This PR adds support for `rustc` `--remap-path-scope` flag in rustdoc as unstable.

`rustc` documentation for the flag is [here](https://doc.rust-lang.org/nightly/rustc/remap-source-paths.html#--remap-path-scope).

I added some complementary tests for `rustdoc`, no need I think to duplicate `rustc` UI tests.
2026-04-16 01:54:07 -04:00
Jacob Pratt 700f2a7967 Rollup merge of #155353 - petrochenkov:globdedup, r=mu001999
resolve: Remove `inaccessible_ctor_reexport` resolver field

Collect the necessary information during error reporting instead of doing it on a good path from the core name resolution infra.

Also cleanup the related diagnostic code for struct constructors in general, see the individual commits.

This mitigates most of the harm brought by https://github.com/rust-lang/rust/pull/133477.
2026-04-16 01:54:07 -04:00
Jacob Pratt 1c9abe206b Rollup merge of #154699 - Jules-Bertholet:lt-for-cased, r=scottmcm
`core::unicode`: Replace `Cased` table with `Lt`

Shaves off 368 bytes from the total size of all Unicode data tables.

@rustbot label A-unicode
2026-04-16 01:54:06 -04:00
Jacob Pratt 0238243b5f Rollup merge of #154599 - folkertdev:varargs-without-pattern-in-deps, r=mati865
report the `varargs_without_pattern` lint in deps

tracking issue: https://github.com/rust-lang/rust/issues/44930

After discussion in https://github.com/rust-lang/reference/pull/2177#discussion_r2864885208.

Based on https://github.com/rust-lang/rust/pull/143619#issuecomment-3133157725 there was only one actual impacted crate https://crates.io/crates/binrw. The issue was fixed in https://github.com/jam1garner/binrw/issues/342, and has since been released https://github.com/jam1garner/binrw/issues/342#issuecomment-3994700268.

Hence we may as well report this loudly.

r? @ghost
2026-04-16 01:54:05 -04:00
Jacob Pratt 402748551a Rollup merge of #154595 - mu001999-contrib:fix/154539, r=BoxyUwU
Emit fatal on invalid const args with nested defs

Fixed https://github.com/rust-lang/rust/issues/123629
Fixes https://github.com/rust-lang/rust/issues/154539

Invalid const args are rejected, so their surrounding HIR is not preserved. But nested defs inside them can still get created, leaving children lowered without a valid HIR parent and causing an ICE when later error handling walks HIR parents.

r? @BoxyUwU
2026-04-16 01:54:05 -04:00
Jacob Pratt 89cca04b5f Rollup merge of #154451 - scottmcm:require-residual, r=jhpratt
Require that a `<_ as Try>::Residual` implement the `Residual` trait

The `Residual` trait was even more experimental than `Try`, but now that https://github.com/rust-lang/rfcs/pull/3721 is merged, I think it would make sense to require this.  Technically it's not strictly required, but without it something working on `<T: Try>` might need an extra bound even to use a homogeneous try block with the same output type as `T::Output`.  (Another `where` will of course be needed to return a *different* `impl Try` type still.)

cc https://github.com/rust-lang/rust/issues/154391
2026-04-16 01:54:04 -04:00
Scott McMurray 3efcdbc43c Require that a <_ as Try>::Residual implement Residual
The `Residual` trait was even more experimental than `Try`, but now that RFC3721 is merged, I think it would make sense to require this.
2026-04-15 18:09:52 -07:00
Nicholas Nethercote f3fc5376e8 Move MustBeNameOfAssociatedFunction to the crate that uses it. 2026-04-16 08:56:50 +10:00
Nicholas Nethercote 9b64d52d78 Reduce diagnostic type visibilities.
Most diagnostic types are only used within their own crate, and so have
a `pub(crate)` visibility. We have some diagnostic types that are
unnecessarily `pub`. This is bad because (a) information hiding, and (b)
if a `pub(crate)` type becomes unused the compiler will warn but it
won't warn for a `pub` type.

This commit eliminates unnecessary `pub` visibilities for some
diagnostic types, and also some related things due to knock-on effects.
(I found these types with some ad hoc use of `grep`.)
2026-04-16 07:42:17 +10:00
Urgau ae6dbdd9f0 Add --remap-path-scope as unstable in rustdoc 2026-04-15 21:26:48 +02:00
WilliamTakeshi dbb83b65b0 remove calls to AliasTyKind::def_id 2026-04-15 21:23:02 +02:00
Vadim Petrochenkov 19c7df6f3f resolve: Remove inaccessible_ctor_reexport resolver field
Collect the necessary information during error reporting instead of doing it on a good path from the core name resolution infra
2026-04-15 21:49:10 +03:00
Vadim Petrochenkov 9c2e42418c resolve: Remove type Res aliases except the one in the crate root
Use imports instead
2026-04-15 21:49:10 +03:00
Vadim Petrochenkov 32381125bb resolve: Cleanup diagnostic code for struct constructors 2026-04-15 21:49:10 +03:00
bors e8e4541ff1 Auto merge of #139087 - beetrees:impl-from-f16-for-f32, r=jackh726
Fallback `{float}` to `f32` when `f32: From<{float}>` and add `impl From<f16> for f32`



Currently, the following code compiles:
```rust
fn foo<T: Into<f32>>(_: T) {}

fn main() {
    foo(1.0);
}
```

This is because the only `From<{float}>` impl for `f32` is currently `From<f32>`. However, once `impl From<f16> for f32` is added this is no longer the case. This would cause the float literal to fallback to `f64`, subsequently causing a type error as `f32` does not implement `From<f64>`. While this kind of change to type inference isn't technically a breaking change according to Rust's breaking change policy, the previous attempt to add `impl From<f16> for f32` was removed rust-lang/rust#123830 due to the large number of crates affected (by my count, there were root regressions in 42 crates and 52 GitHub repos, not including duplicates). This PR solves this problem by using `f32` as the fallback type for `{float}` when there is a trait predicate of `f32: From<{float}>`. This allows adding `impl From<f16> for f32` without affecting the code that currently compiles (such as the example above; this PR shouldn't affect what is possible on stable).

This PR also allows adding a future-incompatibility warning for the fallback to `f32` (currently implemented in the third commit) if the lang team wants one (allowing the `f32` fallback to be removed in the future); alternatively this could be expanded in the future into something more general like @tgross35 suggested in https://github.com/rust-lang/rust/issues/123831#issuecomment-2064728053. I think it would be also possible to disallow the `f32` fallback in a future edition.

As expected, a crater check showed [no non-spurious regressions](https://github.com/rust-lang/rust/pull/139087#issuecomment-2764732580).

For reference, I've based the implementation loosely on the existing `calculate_diverging_fallback`. This first commit adds the `f32` fallback, the second adds `impl From<f16> for f32`, and the third adds a FCW lint for the `f32` fallback. I think this falls under the types team, so
r? types

Fixes: rust-lang/rust#123831
Tracking issue: rust-lang/rust#116909

@rustbot label +T-lang +T-types +T-libs-api +F-f16_and_f128

To decide on whether a future-incompatibility warning is desired or otherwise (see above):
@rustbot label +I-lang-nominated

cc https://github.com/rust-lang/rust/issues/154024 https://github.com/rust-lang/rust/issues/154005
2026-04-15 18:09:11 +00:00
Balt d87a2e7ddd Fix typo for danging_ptr
Co-authored-by: Josh Stone <cuviper@gmail.com>
2026-04-15 11:56:45 -05:00
Balt 4095bbdd2d Add new Layout methods to release notes 2026-04-15 11:48:40 -05:00
Erick Tryzelaar f52f12501b Add --quiet flag to x.py and bootstrap to suppress output
This adds a `--quiet` flag to x.py and bootstrap to suppress some of the
output when compiling Rust. It conflicts with `--verbose`, matching the
behavior of `cargo` which does not allow `--verbose` and `--quiet`.

It works by passing quiet flags down to the underlying cargo, or LLVM
build processes. Note that for LLVM, we only can suppress logs when we
explicitly configure it with ninja. Otherwise we won't know what flag
to pass along to whichever build system cmake decides to use.

This can be helpful with AI workloads in the Rust codebase to help
shrink down the output to reduce token usage, which can help prevent
context pollution and lower costs.

This patch was partially generated with Gemini, but I've reviewed the
changes it made.
2026-04-15 16:46:41 +00:00
Balt fba9ef8702 Add insert_mut to release notes
Co-authored-by: Josh Stone <cuviper@gmail.com>
2026-04-15 11:38:59 -05:00
Balt e910c38861 Add push_mut to release notes 2026-04-15 11:32:54 -05:00
bors 9620eae30a Auto merge of #155339 - JonathanBrouwer:rollup-2nyGW0a, r=JonathanBrouwer
Rollup of 5 pull requests

Successful merges:

 - rust-lang/rust#155331 (Reformat `top_level_options!` and `options!` macro declarations)
 - rust-lang/rust#155332 (bump std libc to `0.2.185`)
 - rust-lang/rust#155286 (attribute cleanup: rustc_confusables)
 - rust-lang/rust#155306 (`CValue::zst()` - add missing "ZST" in docs)
 - rust-lang/rust#155311 (various small `rustc_expand` cleanups)
2026-04-15 14:53:37 +00:00
mu001999 77419b45dc Add FIXME for the fatal errors 2026-04-15 21:52:11 +08:00
mu001999 1fca34d15d Emit fatal on defaults for generic params in binders if with nested defs 2026-04-15 21:41:19 +08:00
Amanieu d'Antras 9e4d2a7ca8 Merge pull request #2071 from davidtwco/sve-intrinsics
initial SVE intrinsics
2026-04-15 12:47:10 +00:00
Jonathan Brouwer 439410f68a Rollup merge of #155311 - cyrgani:expand-clean, r=Kivooeo,petrochenkov
various small `rustc_expand` cleanups

Each commit should be reviewable on its own.
2026-04-15 14:39:09 +02:00
Jonathan Brouwer 420eec616f Rollup merge of #155306 - DanielEScherzer:cvalue-zst-article, r=JohnTitor
`CValue::zst()` - add missing "ZST" in docs
2026-04-15 14:39:08 +02:00
Jonathan Brouwer 1de718c323 Rollup merge of #155286 - mejrs:confusables, r=JonathanBrouwer
attribute cleanup: rustc_confusables

r? @jdonszelmann
2026-04-15 14:39:07 +02:00
Jonathan Brouwer 86fe9e259d Rollup merge of #155332 - folkertdev:bump-std-libc-0.2.185, r=tgross35
bump std libc to `0.2.185`

https://github.com/rust-lang/libc/releases/tag/0.2.185

r? tgross35
2026-04-15 14:39:06 +02:00
Jonathan Brouwer e4eff63647 Rollup merge of #155331 - Zalathar:options-fmt, r=petrochenkov
Reformat `top_level_options!` and `options!` macro declarations

These macros are already tricky, and having weird formatting doesn't help. Using a more regular style makes it easier to see where nesting begins and ends.

Extracted from https://github.com/rust-lang/rust/pull/154501 after the changes in https://github.com/rust-lang/rust/pull/149357 made rebasing very difficult.

There should be no change to compiler behaviour.
2026-04-15 14:39:06 +02:00