about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-09-22Add regression testIris Shi-0/+23
2025-09-22chore: remove dead linkssysrex-1/+0
2025-09-22avoid violating `slice::from_raw_parts` safety contract in `Vec::extract_if`Petros Angelatos-25/+49
The implementation of the `Vec::extract_if` iterator violates the safety contract adverized by `slice::from_raw_parts` by always constructing a mutable slice for the entire length of the vector even though that span of memory can contain holes from items already drained. The safety contract of `slice::from_raw_parts` requires that all elements must be properly initialized. As an example we can look at the following code: ```rust let mut v = vec![Box::new(0u64), Box::new(1u64)]; for item in v.extract_if(.., |x| **x == 0) { drop(item); } ``` In the second iteration a `&mut [Box<u64>]` slice of length 2 will be constructed. The first slot of the slice contains the bitpattern of an already deallocated box, which is invalid. This fixes the issue by only creating references to valid items and using pointer manipulation for the rest. I have also taken the liberty to remove the big `unsafe` blocks in place of targetted ones with a SAFETY comment. The approach closely mirrors the implementation of `Vec::retain_mut`. Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2025-09-22Merge pull request #20724 from ChayimFriedman2/ns-cleanup3Chayim Refael Friedman-0/+32
minor: Another regression test for next solver fixed bug
2025-09-22assert_unsafe_precondition: fix some incorrect check_language_ubRalf Jung-9/+10
2025-09-22Another regression test for next solver fixed bugChayim Refael Friedman-0/+32
2025-09-22Fix applicable on underscore for bind_unused_paramA4-Tacks-3/+30
Fixes: - applicable on underscore prefix parameter - using binding mode as an expression Examples --- ```rust fn foo($0_x: i32, y: i32) {} ``` **Before this PR**: ```rust fn foo(_x: i32, y: i32) { let _ = _x; } ``` **After this PR**: Assist not applicable --- ```rust fn foo(ref $0y: i32) {} ``` **Before this PR**: ```rust fn foo(ref y: i32) { let _ = ref y; } ``` **After this PR**: ```rust fn foo(ref y: i32) { let _ = y; } ```
2025-09-22Fix apply in internal if for pull_assignment_upA4-Tacks-0/+35
Example --- ```rust fn foo() { let mut a = 1; if true { a = 2; } else if true { $0a = 3; } else { a = 4; } } ``` **Before this PR**: ```rust fn foo() { let mut a = 1; if true { a = 2; } else a = if true { 3 } else { 4 }; } ``` **After this PR**: ```rust fn foo() { let mut a = 1; a = if true { 2 } else if true { 3 } else { 4 }; } ```
2025-09-21port `#[debugger_visualizer]` to the new attribute systemJana Dönszelmann-154/+185
2025-09-22Merge ref '9f32ccf35fb8' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-38860/+77064
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 9f32ccf35fb877270bc44a86a126440f04d676d0 Filtered ref: 87b13773969f65eec6762cfe4194954e7513f59b Upstream diff: https://github.com/rust-lang/rust/compare/2f3f27bf79ec147fec9d2e7980605307a74067f4...9f32ccf35fb877270bc44a86a126440f04d676d0 This merge was created using https://github.com/rust-lang/josh-sync.
2025-09-22Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to 9f32ccf35fb877270bc44a86a126440f04d676d0.
2025-09-22Move test fileIris Shi-0/+0
2025-09-22Update tests/rustdoc/private-mod-override-re-export.rsIris Shi-1/+1
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
2025-09-22Merge pull request #20718 from ChayimFriedman2/inlay-max-len-docsChayim Refael Friedman-1/+5
minor: Clarify `rust-analyzer.inlayHints.maxLength` is not a hard guarantee
2025-09-22Clarify `rust-analyzer.inlayHints.maxLength` is not a hard guaranteeChayim Refael Friedman-1/+5
2025-09-21Mark float intrinsics with no preconditions as safeltdk-188/+222
2025-09-22Introduce "wrapper" helpers to rustdocYotam Ofek-238/+248
2025-09-21Bless UI testsJules Bertholet-1/+5
2025-09-21Re-use some existing util fnsYotam Ofek-9/+7
2025-09-21Early return in `visibility_print_with_space`Yotam Ofek-4/+7
2025-09-21Auto merge of #146862 - matthiaskrgr:rollup-1zqootr, r=matthiaskrgrbors-408/+862
Rollup of 4 pull requests Successful merges: - rust-lang/rust#143857 (Port #[macro_export] to the new attribute parsing infrastructure) - rust-lang/rust#146486 (Improve `core::sync::atomic` coverage) - rust-lang/rust#146606 (ci: x86_64-gnu-tools: Add `--test-args` regression test) - rust-lang/rust#146639 (std: merge definitions of `StdioPipes`) r? `@ghost` `@rustbot` modify labels: rollup
2025-09-21Rollup merge of #146639 - joboet:shared-stdiopipes, r=Mark-SimulacrumMatthias Krüger-34/+21
std: merge definitions of `StdioPipes` All platforms define this structure the same way, so we can just put it in the `process` module directly.
2025-09-21Rollup merge of #146606 - Enselic:test-test-args, r=Mark-SimulacrumMatthias Krüger-0/+7
ci: x86_64-gnu-tools: Add `--test-args` regression test See https://github.com/rust-lang/rust/pull/146601#issuecomment-3293179561 r? ``@Mark-Simulacrum``
2025-09-21Rollup merge of #146486 - ferrocene:pvdrz/improve-atomic-coverage, r=ibraheemdevMatthias Krüger-4/+240
Improve `core::sync::atomic` coverage This PR improves the `core::sync::atomic` coverage by adding new tests to `coretests`. r? libs
2025-09-21Rollup merge of #143857 - Periodic1911:macro-export, r=jdonszelmannMatthias Krüger-370/+594
Port #[macro_export] to the new attribute parsing infrastructure Ports macro_export to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197 r? ``@oli-obk`` cc ``@JonathanBrouwer`` ``@jdonszelmann``
2025-09-21Add x86_64-unknown-motor (Motor OS) tier 3 targetU. Lasiotus-3/+131
Add the initial no-std Motor OS compiler target. Motor OS has been developed for several years in the open: https://github.com/moturus/motor-os. It has a more or less full implementation of Rust std library, as well as tokio/mio ports. Build instructions can be found here: https://github.com/moturus/motor-os/blob/main/docs/build.md. Signed-off-by: U. Lasiotus <lasiotus@motor-os.org>
2025-09-21emit attribute for readonly non-pure inline assemblyFolkert de Vries-2/+56
2025-09-21Make mips64el-unknown-linux-muslabi64 link dynamicallyJens Reidel-4/+1
I missed this target when I changed all the other tier 3 targets. Only realized that this one was still statically linked when I looked at the list of targets in the test later. Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-09-21Allow shared access to `Exclusive<T>` when `T: Sync`Jules Bertholet-10/+104
2025-09-21regression test for https://github.com/rust-lang/rust/issues/117763The 8472-0/+17
2025-09-21std: merge definitions of `StdioPipes`joboet-34/+21
All platforms define this structure the same way, so we can just put it in the `process` module directly.
2025-09-21Merge pull request #2594 from cammeresi/spelling-20250921Tshepang Mbambo-1/+1
Correct a misspelling of RUSTC_LOG
2025-09-21Explain tests and setting cfgsBen Kimock-0/+15
2025-09-21Change the cfg to a dashBen Kimock-78/+78
2025-09-21Add panic=immediate-abortBen Kimock-157/+541
2025-09-22mbe: Switch dummy extension used for errors from `LegacyBang` to `Bang`Josh Triplett-8/+8
2025-09-22Switch `dummy_bang` from `LegacyBang` to `Bang`Josh Triplett-14/+11
2025-09-21Correct a misspelling of RUSTC_LOGSidney Cammeresi-1/+1
2025-09-21Auto merge of #146659 - cjgillot:impossible-taint, r=oli-obkbors-61/+201
Consider errors in MIR as impossible predicates to empty the body. The ICEs come from elaborating drops or performing state transform in MIR bodies that fail typeck or borrowck. If the body is tainted, replace it with `unreachable`. Fixes https://github.com/rust-lang/rust/issues/122630 Fixes https://github.com/rust-lang/rust/issues/122904 Fixes https://github.com/rust-lang/rust/issues/125185 Fixes https://github.com/rust-lang/rust/issues/139556
2025-09-21remove prepare_test_specific_dir and update tests accordinglybit-aloo-89/+65
2025-09-21add explicit config assignment when running the test, as the src is assigned ↵bit-aloo-0/+9
to CARGO_MANIFEST_DIR, so the config actually use the <src>/bootstrap.toml and the /tmp/bootstrap.toml
2025-09-21initialize out with CARGO_TARGET_DIR and then go for manifest and then for ↵bit-aloo-8/+19
current
2025-09-21add dry_run flag in config builder and remove runtime test hacksbit-aloo-7/+15
2025-09-21remove create_config_without_ci_llvm_override duplicationbit-aloo-21/+19
2025-09-21rename config_toml to with_default_toml_configbit-aloo-18/+33
2025-09-21this is dicy, whether we have a method to explicitly enable_llvm_overridebit-aloo-0/+15
2025-09-21move most of the test to new testCtxbit-aloo-191/+152
2025-09-21allow symlinking during testbit-aloo-1/+1
2025-09-21remove using default toml config for test in get_toml, we handle it via ↵bit-aloo-4/+0
using the temp directory created via the testCtx
2025-09-21let verify method run in test settingsbit-aloo-1/+1