305339 Commits

Author SHA1 Message Date
Patrick-6
2c1f1f0e9b Add GenMC estimation mode. Improve error handling and output printing. 2025-09-18 10:25:41 +02:00
Ralf Jung
fc7eb3c28d
Merge pull request #4578 from Patrick-6/miri-genmc-cas
Add compare_exchange support for GenMC mode
2025-09-12 16:10:02 +00:00
Ralf Jung
af16b80cb9
Merge pull request #4582 from RalfJung/wasip2-helloworld
make a basic hello world work on wasip2
2025-09-12 15:39:39 +00:00
Patrick-6
a70d78a552 Implement more features for GenMC mode
- Handling Compare-Exchange operations.
  - Limitation: Compare-Exchange currently ignores possibility of spurious failures.
  - Limitation: Compare-Exchange failure memory ordering is ignored.
    - Upgrade compare-exchange success ordering to avoid reporting non-existent bugs.
- Add warnings for GenMC mode for unsupported features.
- Add a lot of tests, including translation of GenMC litmus tests and Loom tests.
- Cleanup
2025-09-12 17:37:25 +02:00
Ralf Jung
260dd6f7ea make a basic hello world work on wasip2 2025-09-12 17:09:06 +02:00
Ralf Jung
225e8ff17b move _Unwind_RaiseException out of the frame_in_std section 2025-09-12 16:30:41 +02:00
Ralf Jung
25b2a7d6b2
Merge pull request #4581 from rust-lang/rustup-2025-09-12
Automatic Rustup
2025-09-12 12:13:42 +00:00
Ralf Jung
8b5335cbba disable broken parts of CI for now 2025-09-12 13:34:30 +02:00
The Miri Cronjob Bot
7bc4a3be4c Merge ref '2a9bacf61876' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 2a9bacf6187685931d52346a0ecff2e52bdc91cc
Filtered ref: d7fc6d06166167894862d54c9618a3cd7599fa9c
Upstream diff: f4665ab836...2a9bacf618

This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-12 05:00:07 +00:00
The Miri Cronjob Bot
44edbc6d54 Prepare for merging from rust-lang/rust
This updates the rust-version file to 2a9bacf6187685931d52346a0ecff2e52bdc91cc.
2025-09-12 04:52:27 +00:00
bors
2a9bacf618 Auto merge of #145177 - joboet:move-pal-thread, r=ibraheemdev
std: move `thread` into `sys`

Part of https://github.com/rust-lang/rust/issues/117276.
2025-09-11 22:31:43 +00:00
bors
5eda692e73 Auto merge of #146386 - weihanglo:update-cargo, r=weihanglo
Update cargo submodule

13 commits in 761c4658d0079d607e6d33cf0c060e61a617cad3..24bb93c388fb8c211a37986539f24a819dc669d3
2025-09-04 01:25:01 +0000 to 2025-09-10 23:16:07 +0000
- Bump miow to 0.60.1 (rust-lang/cargo#15950)
- test(help): Ensure consistent behavior regardless of rustup use (rust-lang/cargo#15949)
- docs(changelog): Clarify how manifest paths are used (rust-lang/cargo#15946)
- fix(flock): check if they are marked unsupported in libstd (rust-lang/cargo#15941)
- test(manifest): Fix test output order (rust-lang/cargo#15940)
- refactor(shell): Simplify some code (rust-lang/cargo#15937)
- fix(manifest): Report script manifest errors for the right line number (rust-lang/cargo#15927)
- refactor: replace flock with std flock (rust-lang/cargo#15935)
- fix(cli): Adjust messages to match rustc  (rust-lang/cargo#15928)
- fix: Switch from --nocapture to --no-capture (rust-lang/cargo#15930)
- Render individual compilation sections in `--timings` pipeline graph (rust-lang/cargo#15923)
- test(credential): Switch more expected results to snapshots (rust-lang/cargo#15929)
- refactor(cli): Pull out error chain iteration (rust-lang/cargo#15926)
2025-09-11 19:25:03 +00:00
Ralf Jung
36376bc5a5
Merge pull request #4580 from JoJoDeveloping/fix-4579-protector-0sized
Fix #4579 by checking if the strong protector is actually "active".
2025-09-11 17:49:09 +00:00
Johannes Hostert
16b34c6f70
move zero-sized protector dealloc test 2025-09-11 19:15:50 +02:00
Ralf Jung
166af83c69
Merge pull request #4577 from RalfJung/release-seq
Fix release/scquire synchonization for loads from the store buffer
2025-09-11 15:43:36 +00:00
Johannes Hostert
2b5b191965
Fix miri issue 4579 by checking if the strong protector is actually "active".
Where "active" means that the accessed bit is set.

This also reverts miri PR 3831.
2025-09-11 17:18:20 +02:00
Ralf Jung
24d195bc07 weak_memory: fix sync clock handling when loading from old store elements 2025-09-11 17:14:58 +02:00
Weihang Lo
c3bd8b6f38
Update cargo submodule 2025-09-11 08:57:19 -04:00
Ralf Jung
ad6004d953 add release sequence test 2025-09-11 11:25:03 +02:00
bors
76c5ed2847 Auto merge of #146429 - Zalathar:rollup-eivhl6u, r=Zalathar
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#142315 (core::ptr: deduplicate docs for as_ref, addr, and as_uninit_ref)
 - rust-lang/rust#146335 (disable core dumps for panic-uninitialized-zeroed)
 - rust-lang/rust#146347 (report duplicate symbols added by the driver)
 - rust-lang/rust#146370 (Update the LoongArch target documentation)
 - rust-lang/rust#146379 (Fix `compare_against_sw_vers` test)
 - rust-lang/rust#146380 (Unify and deduplicate bits conv float tests)
 - rust-lang/rust#146415 (s390x: mark soft-float target feature as incompatible)
 - rust-lang/rust#146422 (Less greedily parse `[const]` bounds)
 - rust-lang/rust#146424 (Improve `core::ops` coverage)
 - rust-lang/rust#146425 (Improve `core::array` coverage)
 - rust-lang/rust#146428 (Revert `assert!` desugaring changes (rust-lang/rust#122661))

r? `@ghost`
`@rustbot` modify labels: rollup
2025-09-11 09:04:28 +00:00
Ralf Jung
906bfe94ed
Merge pull request #4576 from rust-lang/rustup-2025-09-11
Automatic Rustup
2025-09-11 08:50:21 +00:00
bors
5e33838cca Auto merge of #146400 - nikic:llvm-21.1.1, r=dianqk
Update to LLVM 21.1.1

Fixes https://github.com/rust-lang/rust/issues/145988.
Fixes https://github.com/rust-lang/rust/issues/146163.
2025-09-11 05:58:14 +00:00
The Miri Cronjob Bot
3790e37ca2 Merge ref 'f4665ab8368a' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: f4665ab8368ad2e8a86d4390ae35c28bdd9561bb
Filtered ref: d2e3c00d12fb613c03777e620c50528112247ad2
Upstream diff: a09fbe2c83...f4665ab836

This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-11 05:01:01 +00:00
Jeremy Smart
1a1510816a
handle const generics, ?Sized, early bound lifetimes 2025-09-16 10:17:25 -04:00
The Miri Cronjob Bot
68bff8cb9d Prepare for merging from rust-lang/rust
This updates the rust-version file to f4665ab8368ad2e8a86d4390ae35c28bdd9561bb.
2025-09-11 04:53:20 +00:00
Stuart Cook
613a3b6a42
Rollup merge of #146428 - jieyouxu:revert-assert-desugaring, r=estebank,jackh726
Revert `assert!` desugaring changes (#122661)

Reverts rust-lang/rust#122661 to prevent rust-lang/rust#145770 slipping into beta.

cc `@estebank` (FYI)

### Review remarks

- Commit 1 is the MCVE reported in rust-lang/rust#145770 added as a regression test `tests/ui/macros/assert-desugaring-145770.rs`. Against `master`, this test fails.
- Commit 2 reverts rust-lang/rust#122661 (with a merge conflict fixed). `tests/ui/macros/assert-desugaring-145770.rs` now passes.
2025-09-11 14:06:33 +10:00
Stuart Cook
5258dfc0b7
Rollup merge of #146425 - ferrocene:pvdrz/improve-array-coverage, r=workingjubilee
Improve `core::array` coverage

This PR improves the `core::array` coverage by adding new tests to `coretests`
2025-09-11 14:06:33 +10:00
Stuart Cook
81840271c3
Rollup merge of #146424 - ferrocene:pvdrz/improve-ops-coverage, r=workingjubilee
Improve `core::ops` coverage

This PR improves the `core::ops` coverage by adding new tests to `coretests`
2025-09-11 14:06:32 +10:00
Stuart Cook
d037d1097f
Rollup merge of #146422 - fmease:less-greedy-maybe-const-bounds, r=estebank
Less greedily parse `[const]` bounds

> [!IMPORTANT]
> If you're coming here from any beta backport nomination thread on Zulip, only the last commit is truly relevant (the first commit doesn't need to be backported, it only contains test modifications)!

Don't consider `[` to start a bound, only consider `[const]` in its entirety to do so. This drastically reduces (but doesn't eliminate!) the chance of *real* breakages. Like `const`, `~const` and `async` before, `[const]` unavoidably brings along theoretical breakages, see preexisting tests: `macro-const-trait-bound-theoretical-regression.rs` and `macro-async-trait-bound-theoretical-regression.rs`.

Side note: It's unfortunate that we have to do this but apart from the known fact that MBE hurts forward compatibility, the `[const]` syntax is simply a bit scuffed (also CC'ing https://github.com/rust-lang/rust/issues/146122, section (3)).

Fixes [after beta backport] rust-lang/rust#146417.

* 1st commit: Restore the original test intentions of several preexisting related tests that were unfortunately lost over time
  * I've added a bunch of SCREAMING comments to make it less likely to be lost again
  * CC PR rust-lang/rust#119099 which added most of these tests
  * CC [#144409 (comment)](https://github.com/rust-lang/rust/pull/144409#discussion_r2337587513) for further context (NB: It's not the only PR that negatively affected the test intention)
* 2nd commit: Actually address the regression

r? `@oli-obk` or anyone
2025-09-11 14:06:32 +10:00
Stuart Cook
77ec4781c6
Rollup merge of #146415 - RalfJung:s390x-softfloat, r=workingjubilee
s390x: mark soft-float target feature as incompatible

This provides a more informative warning when someone manually sets `+soft-float` on s390x.
2025-09-11 14:06:31 +10:00
Stuart Cook
c69a792137
Rollup merge of #146380 - rperier:unify_and_dedup_bits_conv_float_tests, r=tgross35
Unify and deduplicate bits conv float tests

cc rust-lang/rust#141726

This is a proposal to unify and deduplicate the bits conv tests for f16, f32, f64 and f128
2025-09-11 14:06:30 +10:00
Stuart Cook
c79c990df1
Rollup merge of #146379 - madsmtm:fix-platform_version-test, r=tgross35
Fix `compare_against_sw_vers` test

The `saturating_sub` doesn't actually perform its intended since the version numbers are signed integers (which I changed in a later revision of https://github.com/rust-lang/rust/pull/138944).

Fixes the issue described in https://github.com/rust-lang/rust/pull/138944#issuecomment-3270662876.

r? tgross35
2025-09-11 14:06:29 +10:00
Stuart Cook
88b51304f9
Rollup merge of #146370 - heiher:update-loong-linux-docs, r=jieyouxu
Update the LoongArch target documentation

This patch defines minimum CPU feature requirements, updates toolchain baseline, and streamlines maintainer list:

- Specify double-precision floating-point and LSX as mandatory CPU features
- Raise the minimum required binutils version to 2.42+, due to relocations introduced by the default medium code model
- Remove outdated maintainers to reduce irrelevant notifications

r? `@jieyouxu`
2025-09-11 14:06:29 +10:00
Stuart Cook
f38c788d84
Rollup merge of #146347 - folkertdev:duplicate-symbol-panic, r=fee1-dead
report duplicate symbols added by the driver

The panic message did not mention what symbols were duplicates, which made the panic hard to debug. This came up in [#t-compiler/help > Easiest way to find offending duplicate symbols](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Easiest.20way.20to.20find.20offending.20duplicate.20symbols/with/538295740).

This behavior was introduced in https://github.com/rust-lang/rust/pull/138682.

r? ```@fee1-dead```
2025-09-11 14:06:28 +10:00
Stuart Cook
cc51a7efeb
Rollup merge of #146335 - arielb1:dont-dump-core, r=nnethercote
disable core dumps for panic-uninitialized-zeroed

That test causes a large amount of crashes. If a system has a /proc/sys/kernel/core_pattern that uploads core dumps enabled, it will take a long time to complete. Set dumpable to 0 to avoid that.

Before:
```
$ time ./panic-uninitialized-zeroed

real    0m47.457s
user    0m0.023s
sys     0m0.021s
```

After:
```
$ ./panic-uninitialized-zeroed

real    0m0.029s
user    0m0.019s
sys     0m0.010s
```
2025-09-11 14:06:27 +10:00
Stuart Cook
602841dc8c
Rollup merge of #142315 - lolbinarycat:core-dedup-ptr-docs-139190-pt3, r=workingjubilee
core::ptr: deduplicate docs for as_ref, addr, and as_uninit_ref

also add INFO.md file explaining the purpose of the ptr/docs dir, and give some pointers (heh) to future maintainers.

follow up to rust-lang/rust#142101

part of rust-lang/rust#139190

r? `@workingjubilee`
2025-09-11 14:06:26 +10:00
Jieyou Xu
b38a86f4d7
Revert "Rollup merge of #122661 - estebank:assert-macro-span, r=petrochenkov"
This reverts commit 1eeb8e8b151d1da7daa73837a25dc5f7a1a7fa28, reversing
changes made to 324bf2b9fd8bf9661e7045c8a93f5ff0ec1a8ca5.

Unfortunately the assert desugaring change is not backwards compatible,
see RUST-145770.

Code such as

```rust
#[derive(Debug)]
struct F {
    data: bool
}

impl std::ops::Not for F {
  type Output = bool;
  fn not(self) -> Self::Output { !self.data }
}

fn main() {
  let f = F { data: true };

  assert!(f);
}
```

would be broken by the assert desugaring change. We may need to land
the change over an edition boundary, or limit the editions that the
desugaring change impacts.
2025-09-11 09:10:46 +08:00
Jieyou Xu
fc58d8f5cc
Add regression test for assert desugaring change
Using the MCVE reported in RUST-145770.
2025-09-11 09:09:31 +08:00
Christian Poveda
a7528e7ec3
Improve core::array coverage 2025-09-10 17:25:24 -05:00
Christian Poveda Ruiz
789c8408ec
Update library/coretests/tests/ops.rs
Co-authored-by: Jubilee <workingjubilee@gmail.com>
2025-09-10 16:50:45 -05:00
Christian Poveda
5f2b04652f
Improve core::ops coverage 2025-09-10 16:32:04 -05:00
Ralf Jung
52fb37121b
Merge pull request #4575 from RalfJung/weakmem-origin
weak memory tests: add more info on where they come from, and test list of behaviors more thoroughly
2025-09-10 21:31:11 +00:00
bors
f4665ab836 Auto merge of #146418 - matthiaskrgr:rollup-za0lrux, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - rust-lang/rust#145327 (std: make address resolution weirdness local to SGX)
 - rust-lang/rust#145879 (default auto traits: use default supertraits instead of `Self: Trait` bounds on associated items)
 - rust-lang/rust#146123 (Suggest examples of format specifiers in error messages)
 - rust-lang/rust#146311 (Minor symbol comment fixes.)
 - rust-lang/rust#146322 (Make Barrier RefUnwindSafe again)
 - rust-lang/rust#146327 (Add tests for deref on pin)
 - rust-lang/rust#146340 (Strip frontmatter in fewer places)
 - rust-lang/rust#146342 (Improve C-variadic error messages: part 2)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-09-10 21:30:05 +00:00
León Orell Valerian Liehr
f5dad62d4c
Less greedily parse [const] bounds 2025-09-10 23:24:31 +02:00
León Orell Valerian Liehr
1558e65c9e
Restore the test intention of several MBE trait bound modifier tests 2025-09-10 23:24:31 +02:00
Ralf Jung
f8302a7c15 add release sequence test 2025-09-10 23:01:15 +02:00
Ralf Jung
3b2178336f s390x: mark soft-float target feature as incompatible 2025-09-10 22:47:29 +02:00
Matthias Krüger
bb45ea3acc
Rollup merge of #146342 - folkertdev:c-variadic-errors-take-3, r=workingjubilee
Improve C-variadic error messages: part 2

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

a reimplementation of https://github.com/rust-lang/rust/pull/143546 that builds on https://github.com/rust-lang/rust/pull/146165.

This PR

- disallows coroutines (e.g. `async fn`) from having a `...` argument
- disallows associated functions (both in traits and standard impl blocks) from having a `...` argument
- splits up a generic "ill-formed C-variadic function" into specific errors about using an incorrect ABI, not specifying an ABI, or missing the unsafe keyword

C-variadic coroutines probably don't make sense? C-variadic functions are for FFI purposes, combining that with async functions seems weird.

For associated functions, we're just cutting scope. It's probably fine, but it's probably better to explicitly allow it. So for now, at least give a more targeted error message.

Made to be reviewed commit-by-commit.

cc `@workingjubilee`
r? compiler
2025-09-10 20:29:10 +02:00
Matthias Krüger
86d39a0673
Rollup merge of #146340 - fmease:frontmatter-containment, r=fee1-dead,Urgau
Strip frontmatter in fewer places

* Stop stripping frontmatter in `proc_macro::Literal::from_str` (RUST-146132)
* Stop stripping frontmatter in expr-ctxt (but not item-ctxt!) `include`s (RUST-145945)
* Stop stripping shebang (!) in `proc_macro::Literal::from_str`
  * Not a breaking change because it did compare spans already to ensure there wasn't extra whitespace or comments (`Literal::from_str("#!\n0")` already yields `Err(_)` thankfully!)
* Stop stripping frontmatter+shebang inside some rustdoc code where it doesn't make any observable difference (see self review comments)
* (Stop stripping frontmatter+shebang inside internal test code)

Fixes https://github.com/rust-lang/rust/issues/145945.
Fixes https://github.com/rust-lang/rust/issues/146132.

r? fee1-dead
2025-09-10 20:29:09 +02:00
Matthias Krüger
868226b8b2
Rollup merge of #146327 - Darksonn:pin-deref-tests, r=lcnr
Add tests for deref on pin

Tests split out from rust-lang/rust#145608.

r? `@lcnr`
2025-09-10 20:29:08 +02:00