294967 Commits

Author SHA1 Message Date
Jieyou Xu
4b50703be8
Skip tidy triagebot linkcheck if triagebot.toml doesn't exist 2025-06-18 19:14:48 +08:00
bors
1bb335244c Auto merge of #138165 - jdonszelmann:inline, r=oli-obk
Rewrite `inline` attribute parser to use new infrastructure and improve diagnostics for all parsed attributes

r? `@oli-obk`

This PR:
- creates a new parser for inline attributes
- creates consistent error messages and error codes between attribute parsers; inline and others
- as such changes a few error messages for other attributes to be (in my eyes) much more consistent
- tests ast-lowering lints introduced by rust-lang/rust#138164 since this is now useful for the first time
- Coalesce some useless error codes

Builds on top of rust-lang/rust#138164

Closes rust-lang/rust#137950
2025-06-18 06:25:21 +00:00
bors
27733d46d7 Auto merge of #130887 - Soveu:repeatn, r=scottmcm
Safer implementation of RepeatN

I've seen the "Use MaybeUninit for RepeatN" commit while reading This Week In Rust and immediately thought about something I've written some time ago - https://github.com/Soveu/repeat_finite/blob/master/src/lib.rs.

Using the fact, that `Option` will find niche in `(T, NonZeroUsize)`, we can construct something that has the same size as `(T, usize)` while completely getting rid of `MaybeUninit`.
This leaves only `unsafe` on `TrustedLen`, which is pretty neat.
2025-06-18 03:18:10 +00:00
bors
77ec48f564 Auto merge of #142644 - jhpratt:rollup-f2jed9t, r=jhpratt
Rollup of 14 pull requests

Successful merges:

 - rust-lang/rust#141574 (impl `Default` for `array::IntoIter`)
 - rust-lang/rust#141608 (Add support for repetition to `proc_macro::quote`)
 - rust-lang/rust#142100 (rustdoc: make srcIndex no longer a global variable)
 - rust-lang/rust#142371 (avoid `&mut P<T>` in `visit_expr` etc methods)
 - rust-lang/rust#142517 (Windows: Use anonymous pipes in Command)
 - rust-lang/rust#142520 (alloc: less static mut + some cleanup)
 - rust-lang/rust#142588 (Generic ctx imprv)
 - rust-lang/rust#142605 (Don't unwrap in enzyme builds in case of missing llvm-config)
 - rust-lang/rust#142608 (Refresh module-level docs for `rustc_target::spec`)
 - rust-lang/rust#142618 (Lint about `console` calls in rustdoc JS)
 - rust-lang/rust#142620 (Remove a panicking branch in `BorrowedCursor::advance`)
 - rust-lang/rust#142631 (Dont suggest remove semi inside macro expansion for redundant semi lint)
 - rust-lang/rust#142632 (Update cargo)
 - rust-lang/rust#142635 (Temporarily add back -Zwasm-c-abi=spec)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-18 00:17:48 +00:00
Jana Dönszelmann
81f8b570b9
bump rustdoc json version for inline attribute representation 2025-06-17 23:22:51 +02:00
Jana Dönszelmann
780b902111
fix clippy 2025-06-17 23:22:51 +02:00
Jana Dönszelmann
5ab5f8a24a
make error codes reflect reality better 2025-06-17 23:22:51 +02:00
Jacob Pratt
3ec1451692
Rollup merge of #142635 - bjorn3:add_back_wasm_spec_abi, r=workingjubilee
Temporarily add back -Zwasm-c-abi=spec

This allows a more gradual transition path for projects that need to use use the spec-complaint C ABI both with older and newer rustc versions.
2025-06-17 23:19:40 +02:00
Jacob Pratt
55b3b66a42
Rollup merge of #142632 - ehuss:update-cargo, r=ehuss
Update cargo

6 commits in fc1518ef02b77327d70d4026b95ea719dd9b8c51..2251525ae503fa196f6d7f9ce6d32eccb2d5f044
2025-06-06 04:49:44 +0000 to 2025-06-16 22:01:27 +0000
- feat: Add custom completer for `cargo remove &lt;TAB&gt;` (rust-lang/cargo#15662)
- chore(deps): update msrv (3 versions) to v1.85 (rust-lang/cargo#15668)
- refactor: replace InternedString with Cow in IndexPackage (rust-lang/cargo#15559)
- highlight the correct words (rust-lang/cargo#15659)
- CHANGELOG.md: typo (rust-lang/cargo#15660)
- Use `Not::not` rather than a custom `is_false` function (rust-lang/cargo#15645)
2025-06-17 23:19:40 +02:00
Jacob Pratt
f663823fd5
Rollup merge of #142631 - xizheyin:142143, r=Urgau
Dont suggest remove semi inside macro expansion for redundant semi lint

Fixes rust-lang/rust#142143

r? compiler
2025-06-17 23:19:39 +02:00
Jacob Pratt
6148ec9772
Rollup merge of #142620 - a1phyr:borrowed_buf_remove_branch, r=jhpratt
Remove a panicking branch in `BorrowedCursor::advance`
2025-06-17 23:19:38 +02:00
Jacob Pratt
a47b364dc6
Rollup merge of #142618 - GuillaumeGomez:eslint-no-console, r=lolbinarycat
Lint about `console` calls in rustdoc JS

As discussed [here](https://github.com/rust-lang/rust/pull/142100#discussion_r2151764395), this PR enforces that `console` is not used in rustdoc JS by default.

cc `@lolbinarycat`
2025-06-17 23:19:38 +02:00
Jacob Pratt
6acda82078
Rollup merge of #142608 - workingjubilee:redescribe-rustc_target-more-accurately, r=wesleywiser
Refresh module-level docs for `rustc_target::spec`

We have long since gone on a curveball from the flexible-target-specification RFC by introducing stability and soundness promises to the language and compiler which we often struggle with extending to target-specific implementation details. Indeed, we often *literally cannot*. We also have modified the search algorithm details. Update the comments for `rustc_target::spec` considerably.
2025-06-17 23:19:37 +02:00
Jacob Pratt
504b1a12f3
Rollup merge of #142605 - ZuseZ4:autodiff-check-builds2, r=oli-obk
Don't unwrap in enzyme builds in case of missing llvm-config

r? `@onur-ozkan`

For some reason x.py was now panicking in this location, so I also removed the unwrap here.
part 2 of https://github.com/rust-lang/rust/pull/140000, there shouldn't be other locations where we check for llvm-config.
2025-06-17 23:19:37 +02:00
Jacob Pratt
0eb8a66130
Rollup merge of #142588 - ZuseZ4:generic-ctx-imprv, r=oli-obk
Generic ctx imprv

Cleanup work for my gpu pr

r? `@oli-obk`
2025-06-17 23:19:36 +02:00
Jacob Pratt
eb7d246d85
Rollup merge of #142520 - hkBst:less-static-mut, r=tgross35
alloc: less static mut + some cleanup

I'm looking into https://github.com/rust-lang/rust/issues/125035 and would like some feedback on my approach.
2025-06-17 23:19:35 +02:00
Jacob Pratt
b5fcc90fd7
Rollup merge of #142517 - ChrisDenton:anon-pipe, r=Mark-Simulacrum
Windows: Use anonymous pipes in Command

When setting `Stdio::pipe` on `Command` we want to create an anonymous pipe that can be used asynchronously (at least on our end). Usually we'd use [`CreatePipe`](https://learn.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-createpipe) to open anonymous pipes but unfortunately it opens pipes for synchronous access. The alternative is to use [`CreateNamedPipeW`](https://learn.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-createnamedpipew) which does allow asynchronous access but that requires giving a file name to the pipe. So we currently have this awful hack where we attempt to emulate anonymous pipes using `CreateNamedPipeW` by attempting to create a unique name and looping until we find one that doesn't already exist.

The better option is to use the lower level [`NtCreateNamedPipeFile`](https://learn.microsoft.com/en-us/windows/win32/devnotes/nt-create-named-pipe-file) (which is used internally by both `CreatePipe` and `CreateNamedPipeW`). This function wasn't documented until a few years ago but now that it is it's ok for us to use it.

try-job: *msvc*
try-job: *mingw*
2025-06-17 23:19:34 +02:00
Jacob Pratt
e95fb09dfb
Rollup merge of #142371 - fee1-dead-contrib:push-xqlkumzurkus, r=petrochenkov
avoid `&mut P<T>` in `visit_expr` etc methods

trying a different way than rust-lang/rust#141636
r? ghost
2025-06-17 23:19:34 +02:00
Jacob Pratt
0772ee7f8b
Rollup merge of #142100 - lolbinarycat:rustdoc-srcIndex-138467, r=GuillaumeGomez
rustdoc: make srcIndex no longer a global variable

this is one-time initialization data, it can just
be a function parameter.

while we're doing that, we can more the json parsing into the function and save a few extra bytes of storage for free, at least in the case of multiple crates in a doc bundle.

fixes https://github.com/rust-lang/rust/issues/138467
2025-06-17 23:19:33 +02:00
Jacob Pratt
17ab49a94a
Rollup merge of #141608 - moatom:proc_macro-140238, r=dtolnay
Add support for repetition to `proc_macro::quote`

Progress toward: rust-lang/rust#140238
2025-06-17 23:19:32 +02:00
Jana Dönszelmann
672452d573
use consistent attr errors in all attribute parsers 2025-06-17 23:19:31 +02:00
Jacob Pratt
da985cb2be
Rollup merge of #141574 - fee1-dead-contrib:push-owzulzmzszzx, r=jhpratt
impl `Default` for `array::IntoIter`

cc rust-lang/rust#91583

my personal use of this feature comes from 092db5df63/src/cont.rs (L154-L170)

insta-stable, but I feel like this is small enough to _not_ require an ACP (but a FCP per https://forge.rust-lang.org/libs/maintaining-std.html#when-theres-new-trait-impls)? feel free to correct me if I am wrong.
2025-06-17 23:19:31 +02:00
Jana Dönszelmann
ee976bbbca
fix bugs in inline/force_inline and diagnostics of all attr parsers 2025-06-17 23:19:31 +02:00
Jana Dönszelmann
566f691374
convert entire codebase to parsed inline attrs 2025-06-17 23:19:31 +02:00
Jana Dönszelmann
0aade73c50
implement rustc_force_inline parser 2025-06-17 23:19:31 +02:00
Jonathan Dönszelmann
4f73cd0a6c implement inline parser 2025-06-17 23:19:31 +02:00
bors
27eb2690f4 Auto merge of #142567 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-06-17 21:13:37 +00:00
bors
f3db63916e Auto merge of #142613 - workingjubilee:rollup-yuod2hg, r=workingjubilee
Rollup of 13 pull requests

Successful merges:

 - rust-lang/rust#138538 (Make performance description of String::{insert,insert_str,remove} more precise)
 - rust-lang/rust#141946 (std: refactor explanation of `NonNull`)
 - rust-lang/rust#142216 (Miscellaneous RefCell cleanups)
 - rust-lang/rust#142542 (Manually invalidate caches in SimplifyCfg.)
 - rust-lang/rust#142563 (Refine run-make test ignores due to unpredictable `i686-pc-windows-gnu` unwind mechanism)
 - rust-lang/rust#142570 (Reject union default field values)
 - rust-lang/rust#142584 (Handle same-crate macro for borrowck semicolon suggestion)
 - rust-lang/rust#142585 (Update books)
 - rust-lang/rust#142586 (Fold unnecessary `visit_struct_field_def` in AstValidator)
 - rust-lang/rust#142587 (Make sure to propagate result from `visit_expr_fields`)
 - rust-lang/rust#142595 (Revert overeager warning for misuse of `--print native-static-libs`)
 - rust-lang/rust#142598 (Set elf e_flags on ppc64 targets according to abi)
 - rust-lang/rust#142601 (Add a comment to `FORMAT_VERSION`.)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-17 18:14:08 +00:00
bjorn3
a88a32d746 Temporarily add back -Zwasm-c-abi=spec
This allows a more gradual transition path for projects that need to use
use the spec-complaint C ABI both with older and newer rustc versions.
2025-06-17 17:15:01 +00:00
xizheyin
72fbf3ea61
Dont suggest remove semi inside macro expansion for redundant semi lint
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-06-18 00:36:51 +08:00
Eric Huss
3f1de7b2e8 Update cargo 2025-06-17 09:13:12 -07:00
Laurențiu Nicola
6a9c5d7ae0 Try to downgrade object 2025-06-17 19:00:01 +03:00
bors
86d0aef804 Auto merge of #137944 - davidtwco:sized-hierarchy, r=oli-obk
Sized Hierarchy: Part I

This patch implements the non-const parts of rust-lang/rfcs#3729. It introduces two new traits to the standard library, `MetaSized` and `PointeeSized`. See the RFC for the rationale behind these traits and to discuss whether this change makes sense in the abstract.

These traits are unstable (as is their constness), so users cannot refer to them without opting-in to `feature(sized_hierarchy)`. These traits are not behind `cfg`s as this would make implementation unfeasible, there would simply be too many `cfg`s required to add the necessary bounds everywhere. So, like `Sized`, these traits are automatically implemented by the compiler.

RFC 3729 describes changes which are necessary to preserve backwards compatibility given the introduction of these traits, which are implemented and as follows:

- `?Sized` is rewritten as `MetaSized`
- `MetaSized` is added as a default supertrait for all traits w/out an explicit sizedness supertrait already.

There are no edition migrations implemented in this,  as these are primarily required for the constness parts of the RFC and prior to stabilisation of this (and so will come in follow-up PRs alongside the const parts). All diagnostic output should remain the same (showing `?Sized` even if the compiler sees `MetaSized`) unless the `sized_hierarchy` feature is enabled.

Due to the use of unstable extern types in the standard library and rustc, some bounds in both projects have had to be relaxed already - this is unfortunate but unavoidable so that these extern types can continue to be used where they were before. Performing these relaxations in the standard library and rustc are desirable longer-term anyway, but some bounds are not as relaxed as they ideally would be due to the inability to relax `Deref::Target` (this will be investigated separately).

It is hoped that this is implemented such that it could be merged and these traits could exist "under the hood" without that being observable to the user (other than in any performance impact this has on the compiler, etc). Some details might leak through due to the standard library relaxations, but this has not been observed in test output.

**Notes:**

- Any commits starting with "upstream:" can be ignored, as these correspond to other upstream PRs that this is based on which have yet to be merged.
- This best reviewed commit-by-commit. I've attempted to make the implementation easy to follow and keep similar changes and test output updates together.
  - Each commit has a short description describing its purpose.
  - This patch is large but it's primarily in the test suite.
- I've worked on the performance of this patch and a few optimisations are implemented so that the performance impact is neutral-to-minor.
- `PointeeSized` is a different name from the RFC just to make it more obvious that it is different from `std::ptr::Pointee` but all the names are yet to be bikeshed anyway.
- `@nikomatsakis` has confirmed [that this can proceed as an experiment from the t-lang side](https://rust-lang.zulipchat.com/#narrow/channel/435869-project-goals/topic/SVE.20and.20SME.20on.20AArch64.20.28goals.23270.29/near/506196491)
- FCP in https://github.com/rust-lang/rust/pull/137944#issuecomment-2912207485

Fixes rust-lang/rust#79409.

r? `@ghost` (I'll discuss this with relevant teams to find a reviewer)
2025-06-17 15:08:50 +00:00
xizheyin
1ab8ff57d6
Add test suggest-remove-semi-in-macro-expansion-issue-142143.rs
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-06-17 22:37:24 +08:00
Benoît du Garreau
e3c21dd88b Remove a panicking branch in BorrowedCursor::advance 2025-06-17 13:09:49 +02:00
Guillaume Gomez
2bbc974bed Lint about console calls in rustdoc JS 2025-06-17 11:50:03 +02:00
Jubilee
68ebae97c5
Rollup merge of #142601 - nnethercote:format_version-comment, r=aDotInTheVoid
Add a comment to `FORMAT_VERSION`.

This minimizes the chance of two PRs changing it from N to N+1.

Fixes rust-lang/rust#94591.

r? `@aDotInTheVoid`
2025-06-17 00:28:21 -07:00
Jubilee
3800083399
Rollup merge of #142598 - ostylk:fix/ppc64_llvmabi, r=nikic,workingjubilee
Set elf e_flags on ppc64 targets according to abi

(This PR contains the non user-facing changes of https://github.com/rust-lang/rust/pull/142321)

Fixes https://github.com/rust-lang/rust/issues/85589 by making sure that ld.lld errors out instead of generating a broken binary.

Basically the problem is that ld.lld assumes that all ppc64 object files with e_flags=0 are object files which use the ELFv2 ABI (this here is the check https://github.com/llvm/llvm-project/blob/main/lld/ELF/Arch/PPC64.cpp#L639).
This pull request sets the correct e_flags to indicate the used ABI so ld.lld errors out when encountering ELFv1 ABI files instead of generating a broken binary.

For example compare code generation for this program (file name ``min.rs``):
```rust
#![feature(no_core, lang_items, repr_simd)]
#![crate_type = "bin"]
#![no_core]
#![no_main]

#[lang = "sized"]
trait Sized {}
#[lang = "copy"]
trait Copy {}
#[lang = "panic_cannot_unwind"]
pub fn panic() -> ! {
    loop {}
}

pub fn my_rad_unmangled_function() {
    loop {}
}

pub fn my_rad_function() {
    loop {}
}

#[no_mangle]
pub fn _start() {
    my_rad_unmangled_function();
    my_rad_function();
}
```
Compile with ``rustc --target=powerpc64-unknown-linux-gnu -C linker=ld.lld -C relocation-model=static min.rs``

Before change:
```
$ llvm-objdump -d min
Disassembly of section .text:
000000001001030c <.text>:
		...
10010334: 7c 08 02 a6  	mflr 0
10010338: f8 21 ff 91  	stdu 1, -112(1)
1001033c: f8 01 00 80  	std 0, 128(1)
10010340: 48 02 00 39  	bl 0x10030378 <_ZN3min25my_rad_unmangled_function17h7471c49af58039f5E>
10010344: 60 00 00 00  	nop
10010348: 48 02 00 49  	bl 0x10030390 <_ZN3min15my_rad_function17h37112b8fd1008c9bE>
1001034c: 60 00 00 00  	nop
		...
```
The branch instructions ``bl 0x10030378`` and ``bl 0x10030390`` are jumping into the ``.opd`` section which is data. That is a broken binary (because fixing those branches is the task of the linker).

After change:
```
error: linking with `ld.lld` failed: exit status: 1
  |
  = note:  "ld.lld" "/tmp/rustcNYKZCS/symbols.o" "<1 object files omitted>" "--as-needed" "-L" "/tmp/rustcNYKZCS/raw-dylibs" "-Bdynamic" "--eh-frame-hdr" "-z" "noexecstack" "-L" "<sysroot>/lib/rustlib/powerpc64-unknown-linux-gnu/lib" "-o" "min" "--gc-sections" "-z" "relro" "-z" "now"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: ld.lld: error: /tmp/rustcNYKZCS/symbols.o: ABI version 1 is not supported
```
Which is correct because ld.lld doesn't support ELFv1 ABI.
2025-06-17 00:28:20 -07:00
Jubilee
99c8475e52
Rollup merge of #142595 - workingjubilee:revert-warning-138139, r=ChrisDenton
Revert overeager warning for misuse of `--print native-static-libs`

In a PR to emit warnings on misuse of `--print native-static-libs`, we did not consider the matter of composing parts of build systems. If you are not directly invoking rustc, it can be difficult to know when you will in fact compile a staticlib, so making sure uses `--print native-static-lib` correctly can be just a nuisance.

Next cycle we can reland a slightly more narrowly focused variant or one that focuses on `--emit` instead of `--print native-static-libs`. But in its current state, I am not sure the warning is very useful.
2025-06-17 00:28:20 -07:00
Jubilee
5df238921f
Rollup merge of #142587 - compiler-errors:try-visit-expr-fields, r=jieyouxu
Make sure to propagate result from `visit_expr_fields`

We weren't propagating the `ControlFlow::Break` out of a struct field, which means that the solution implemented in rust-lang/rust#130443 didn't work for nested fields.

Fixes rust-lang/rust#142525.
2025-06-17 00:28:19 -07:00
Jubilee
301815496e
Rollup merge of #142586 - compiler-errors:remove-visit-struct-field-def, r=fmease
Fold unnecessary `visit_struct_field_def` in AstValidator

We don't need it anymore since we removed the `_: struct { }` syntax experiment.
2025-06-17 00:28:19 -07:00
Jubilee
bb3a2732ca
Rollup merge of #142585 - rustbot:docs-update, r=ehuss
Update books

## rust-lang/book

1 commits in 634724ea85ebb08a542970bf8871ac8b0f77fd15..4433c9f0cad8460bee05ede040587f8a1fa3f1de
2025-06-03 16:34:00 UTC to 2025-06-03 16:34:00 UTC

- Chapter 11 from tech review (rust-lang/book#4391)

## rust-lang/reference

10 commits in 8e0f593a30f3b56ddb0908fb7ab9249974e08738..d4c66b346f4b72d29e70390a3fa3ea7d4e064db1
2025-06-13 17:05:11 UTC to 2025-06-03 21:28:42 UTC

- Align pattern destructuring with rest of patterns documentation (rust-lang/reference#1853)
- Use extern "system" instead of "stdcall" in example (rust-lang/reference#1854)
- Mention that `thiscall` is a 32-bit calling convention (rust-lang/reference#1855)
- Add doc for keylocker target features (rust-lang/reference#1829)
- Add doc for `sha512`, `sm3` and `sm4` target features (rust-lang/reference#1830)
- Fix(typo): 'though' should be 'through' (rust-lang/reference#1850)
- intro note: make text more simple (rust-lang/reference#1844)
- nit: add missing period (rust-lang/reference#1843)
- add a warning about using `safe` on extern c-variadic functions (rust-lang/reference#1839)
- remove the `safe` keyword from a c-variadic foreign function. (rust-lang/reference#1838)

## rust-lang/rust-by-example

3 commits in 21f4e32b8b40d36453fae16ec07ad4b857c445b6..9baa9e863116cb9524a177d5a5c475baac18928a
2025-06-11 13:00:27 UTC to 2025-06-10 12:43:14 UTC

- introduce new ``@media`` query to set a higher content width on ultra wide screens (rust-lang/rust-by-example#1937)
- Fix syntax highligting (rust-lang/rust-by-example#1935)
- fix(rust-lang/rust#1656): update doc tests to use `playground` as the crate name (rust-lang/rust-by-example#1934)
2025-06-17 00:28:18 -07:00
Jubilee
b27b74f80e
Rollup merge of #142584 - Urgau:span-borrowck-139049, r=fmease
Handle same-crate macro for borrowck semicolon suggestion

Handles https://github.com/rust-lang/rust/pull/142543#discussion_r2149545623

cc ``@m-ou-se``
r? ``@fmease``
2025-06-17 00:28:17 -07:00
Jubilee
d4f23cdc91
Rollup merge of #142570 - jieyouxu:disunion, r=estebank
Reject union default field values

Fixes rust-lang/rust#142555.

The [`default_field_values` RFC][rfc] does not specify that default field values may be used on `union`s, and it's not clear how default field values may be used with `union`s without an design extension to the RFC. So, for now, reject trying to use default field values with `union`s.

### Review notes

- The first commit adds the `union` with default field values test case to `tests/ui/structs/default-field-values/failures.rs`, where `union`s with default field values are currently accepted.
- The second commit rejects trying to supply default field values to `union` definitions.
- When `default_field_values` feature gate is disabled, we show the feature gate error when the user tries to write `union`s with default field values. When the feature gate is enabled, we reject this usage with
   > unions cannot have default field values

``@rustbot`` label: +F-default_field_values

[rfc]: https://rust-lang.github.io/rfcs/3681-default-field-values.html
2025-06-17 00:28:17 -07:00
Jubilee
f2e9e2afac
Rollup merge of #142563 - jieyouxu:no-more-i686-mingw, r=mati865
Refine run-make test ignores due to unpredictable `i686-pc-windows-gnu` unwind mechanism

Closes rust-lang/rust#128911. This PR *re-enables* the `dump-ice-to-disk` test and the unstable feature usage metrics tests for {x86_64,i686} Windows MSVC hosts and x86_64 Windows GNU host. I'll keep an eye out for these tests, and will broaden the ignores if this test is still flaky on not just `i686-pc-windows-gnu`.

r? mati865

try-job: x86_64-msvc-1
try-job: i686-msvc-1
try-job: x86_64-mingw-1
2025-06-17 00:28:16 -07:00
Jubilee
725d8291ab
Rollup merge of #142542 - cjgillot:invalidate-simplify-cfg, r=SparrowLii
Manually invalidate caches in SimplifyCfg.

The current `SimplifyCfg` pass unconditionally invalidates CFG caches. This is unfortunate if there are no modifications that require this invalidation.
2025-06-17 00:28:16 -07:00
Jubilee
a2a767a5c7
Rollup merge of #142216 - nealsid:refcell-logging, r=tgross35
Miscellaneous RefCell cleanups

- Clarify `RefCell` error messages when borrow rules are broken
- Remove `Debug` impl for `BorrowError`/`BorrowMutError` since `#derive(Debug)` provides identical functionality
- Rename `BorrowFlag` to `BorrowCounter`
2025-06-17 00:28:15 -07:00
Jubilee
94ce4b5aa1
Rollup merge of #141946 - xizheyin:141933, r=jhpratt
std: refactor explanation of `NonNull`

Fixes rust-lang/rust#141933

I cut out the excessive explanation and used an example to explain how to maintain invariance, but I think what is quoted in the *rust reference* in the document needs to be added with a more layman's explanation and example.

(I'm not sure if I deleted too much)

r? `@workingjubilee`
2025-06-17 00:28:14 -07:00
Jubilee
346adcef4f
Rollup merge of #138538 - hkBst:patch-4, r=tgross35
Make performance description of String::{insert,insert_str,remove} more precise
2025-06-17 00:28:13 -07:00
Marijn Schouten
2d3a37d1e5 linked_list tests: buff check_links 2025-06-17 07:01:40 +00:00