about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-07-23Merge pull request #4490 from Kobzol/use-josh-syncRalf Jung-354/+41
Use `josh-sync` instead of `miri-script` for Josh synchronization
2025-07-23Auto merge of #144233 - cjgillot:unsat-mir, r=oli-obkbors-51/+95
Consider parent predicates in ImpossiblePredicates pass. This pass is double edged. It avoids some ICEs (yay!) but also degrades diagnostics from constant evaluation. Fixes rust-lang/rust#121363 Fixes rust-lang/rust#131507 Fixes rust-lang/rust#140100 Fixes rust-lang/rust#140365
2025-07-23Remove Zulip API keys and use `set -x`Jakub Beránek-5/+5
2025-07-23Update CI workflowJakub Beránek-10/+23
2025-07-23Suggest unwrapping when private method name is available in inner typeEsteban Küber-2/+34
Given ```rust fn main() { let maybe_vec = Some(vec![1,2,3]); assert_eq!(maybe_vec.len(), 3); } ``` suggest unwraping `maybe_vec` to call `.len()` on the `Vec<_>`. ``` error[E0624]: method `len` is private --> $DIR/enum-method-probe.rs:61:9 | LL | res.len(); | ^^^ private method --> $SRC_DIR/core/src/option.rs:LL:COL | = note: private method defined here | note: the method `len` exists on the type `Vec<{integer}>` --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL help: consider using `Option::expect` to unwrap the `Vec<{integer}>` value, panicking if the value is an `Option::None` | LL | res.expect("REASON").len(); | +++++++++++++++++ ```
2025-07-23Clippy fixupJens Reidel-1/+1
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-07-23Auto merge of #144360 - matthiaskrgr:rollup-b6ej0mm, r=matthiaskrgrbors-1428/+221
Rollup of 9 pull requests Successful merges: - rust-lang/rust#144173 (Remove tidy checks for `tests/ui/issues/`) - rust-lang/rust#144234 (Fix broken TLS destructors on 32-bit win7) - rust-lang/rust#144239 (Clean `rustc/parse/src/lexer` to improve maintainability) - rust-lang/rust#144256 (Don't ICE on non-TypeId metadata within TypeId) - rust-lang/rust#144290 (update tests/ui/SUMMARY.md) - rust-lang/rust#144292 (mbe: Use concrete type for `get_unused_rule`) - rust-lang/rust#144298 (coverage: Enlarge empty spans during MIR instrumentation, not codegen) - rust-lang/rust#144311 (Add powerpc64le-unknown-linux-musl to CI rustc targets) - rust-lang/rust#144315 (bootstrap: add package.json and package-lock.json to dist tarball) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-23Don't emit two `assume`s in transmutes when one is a subset of the otherScott McMurray-12/+150
For example, transmuting between `bool` and `Ordering` doesn't need two `assume`s because one range is a superset of the other. Multiple are still used for things like `char` <-> `NonZero<u32>`, which overlap but where neither fully contains the other.
2025-07-23Upgrade semicolon_in_expressions_from_macros from warn to denyJosh Triplett-44/+41
This is already warn-by-default, and a future compatibility warning (FCW) that warns in dependencies. Upgrade it to deny-by-default, as the next step towards hard error.
2025-07-23Point at the type that doesn't impl `Clone` in more cases beyond closuresEsteban Küber-15/+12
2025-07-23Remove `rvalue_creates_operand` entirelyScott McMurray-47/+2
Split to a separate commit to it could be reverted later if necessary, should we get new `Rvalue`s where we can't handle it this way.
2025-07-23Move `dist-apple-various` from x86_64 to aarch64Jake Goulding-1/+1
`macos-13` is going away soonish.
2025-07-23re-enable direct `bitcast`s for Int/Float vector transmutes (but not ones ↵Scott McMurray-0/+197
involving pointers)
2025-07-23Let `codegen_transmute_operand` just handle everythingScott McMurray-59/+59
When combined with 143720, this means `rvalue_creates_operand` can just return `true` for *every* `Rvalue`. (A future PR could consider removing it, though just letting it optimize out is fine for now.) It's nicer anyway, IMHO, because it avoids needing the layout checks to be consistent in the two places, and thus is an overall reduction in code. Plus it's a more helpful building block when used in other places this way.
2025-07-23Update `CONTRIBUTING.md`Jakub Beránek-6/+8
2025-07-23Merge pull request #20291 from ChayimFriedman2/fix-cargo-lockChayim Refael Friedman-0/+1
minor: Fix Cargo.lock
2025-07-23Update `dlmalloc` dependency of libstdAlex Crichton-3/+3
This primarily pulls in alexcrichton/dlmalloc-rs/55 and alexcrichton/dlmalloc-rs/54 to address 144199. Notably the highest byte in the wasm address space is no longer allocatable and additionally the allocator internally uses `wrapping_add` instead of `add` on pointers since on 32-bit platforms offsets might be larger than half the address space.
2025-07-23Use `TempDir` for copied lockfilesShoyu Vanilla-6/+55
2025-07-23Fix Cargo.lockChayim Refael Friedman-0/+1
The dependency of `xtask` on `time` was mistakenly removed.
2025-07-23coretests/num: use ldexp instead of hard-coding a power of 2Ralf Jung-32/+38
2025-07-23Merge pull request #20285 from A4-Tacks/fix-rename-selfChayim Refael Friedman-31/+44
Change rename self to parameter use `Self` type
2025-07-23RustWrapper: Suppress getNextNonDebugInfoInstructionWANG Rui-1/+1
Link: https://github.com/llvm/llvm-project/pull/144383
2025-07-23Remove rename_self_outside_of_methodsA4-Tacks-8/+2
2025-07-23Rollup merge of #144315 - lolbinarycat:bootstrap-dist-package.json, r=KobzolMatthias Krüger-0/+2
bootstrap: add package.json and package-lock.json to dist tarball this ensures that js-related tests can still be run from within such a dist tarball. followup to rust-lang/rust#142924 r? ```````@Kobzol```````
2025-07-23Rollup merge of #144311 - Gelbpunkt:ci-rustc-ppc64le-musl, r=KobzolMatthias Krüger-0/+1
Add powerpc64le-unknown-linux-musl to CI rustc targets I missed this in the promotion to tier 2 with host tools.
2025-07-23Rollup merge of #144298 - Zalathar:empty-span, r=wesleywiserMatthias Krüger-46/+57
coverage: Enlarge empty spans during MIR instrumentation, not codegen This re-lands the part of rust-lang/rust#140847 that was (hopefully) not responsible for the coverage-instrumentation regressions that caused that PR to be reverted. --- Enlarging empty spans was historically performed during MIR instrumentation, but had to be moved to codegen as part of larger changes in rust-lang/rust#134497, leading to the status quo. But now there should be no reason not to move that step back to its more logical home in instrumentaion.
2025-07-23Rollup merge of #144292 - ↵Matthias Krüger-16/+20
joshtriplett:mbe-use-concrete-type-for-get-unused-rule, r=petrochenkov mbe: Use concrete type for `get_unused_rule` Rather than adding `get_unused_rule` to the `TTMacroExpander` trait, put it on the concrete `MacroRulesMacroExpander`, and downcast to that type via `Any` in order to call it. Suggested-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> r? ```````@petrochenkov```````
2025-07-23Rollup merge of #144290 - makai410:summary-ups, r=jieyouxuMatthias Krüger-2/+2
update tests/ui/SUMMARY.md follow-up of rust-lang/rust#143985 . r? ```````@jieyouxu```````
2025-07-23Rollup merge of #144256 - oli-obk:type-id-ice, r=RalfJungMatthias Krüger-1/+32
Don't ICE on non-TypeId metadata within TypeId fixes rust-lang/rust#144253 r? ``````````@RalfJung``````````
2025-07-23Rollup merge of #144239 - xizheyin:clean-lexer, r=fee1-deadMatthias Krüger-85/+83
Clean `rustc/parse/src/lexer` to improve maintainability This PR refactors the lexer code to improve maintainability and eliminate code duplication. In the first commit, I improve the error handling: - rename `make_unclosed_delims_error` to more appropriate `make_mismatched_closing_delims_errors` - changes return type from Option<Diag> to `Vec<Diag>` to avoid lengthy vec processing at `lex_token_trees` - use `splice` instead of `extend` to make the logic clearer, since `errs` sounds more generic and better suited as a return value In the second commit, I replace the magic number 5 with UNCLOSED_DELIMITER_SHOW_LIMIT constant. In the third commit, I moves `eof_err` function below parsing logic for better code flow. In the forth one, I extract `calculate_spacing` function to eliminate duplicate spacing logic between `bump` and `bump_minimal` functions. r? compiler
2025-07-23Rollup merge of #144234 - roblabla:fix-win7-tls-dtors, r=ChrisDentonMatthias Krüger-3/+14
Fix broken TLS destructors on 32-bit win7 Fixes rust-lang/rust#141300 On the 32-bit win7 target, we use OS TLS instead of native TLS, due to issues with how the OS handles alignment. Unfortunately, this caused issues due to the TLS destructors not running, causing memory leaks among other problems. On Windows, to support OS TLS, the TlsAlloc family of function is used by Rust. This function does not support TLS destructors at all. However, rust has some code to emulate those destructors, by leveraging the TLS support functionality found in the MSVC CRT (specifically, in tlssup.c of the CRT). To use this functionality, the user must do two things: 1. They must put the address to their callback in a section between `.CRT$XLB` and `.CRT$XLY`. 2. They must add a reference to `_tls_used` (or `__tls_used` on x86) to make sure the TLS support code in tlssup.c isn't garbage collected by the linker. Prior to this commit, this second bit wasn't being done properly by the Rust TLS support code. Instead of adding a reference to _tls_used, it instead had a reference to its own callback to prevent it from getting GC'd by the linker. While this is _also_ necessary, not having a reference on _tls_used made the entire support non-functional. This commit reworks the code to: 1. Add an unconditional `#[used]` attribute on the CALLBACK, which should be enough to prevent it from getting GC'd by the linker. 2. Add a reference to `_tls_used`, which should pull the TLS support code into the Rust programs and not let it be GC'd by the linker.
2025-07-23Rollup merge of #144173 - Kivooeo:tidy_checks, r=jieyouxuMatthias Krüger-1275/+10
Remove tidy checks for `tests/ui/issues/` r? ``````````@jieyouxu`````````` As it is making cleanup efforts more difficult. This change was discussed here [#t-compiler > Discussion for ui test suite improvements @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Discussion.20for.20ui.20test.20suite.20improvements/near/529566433)
2025-07-23Merge pull request #20289 from ChayimFriedman2/expr-store-diags-macrosLukas Wirth-44/+9
internal: Remove `ExpressionStoreDiagnostics::MacroError`, instead recreate it from the `MacroCallId`
2025-07-23Auto merge of #143843 - JonathanBrouwer:macro-use-parser, r=oli-obkbors-150/+480
Ports `#[macro_use]` and `#[macro_escape]` to the new attribute parsing infrastructure Ports `#[macro_use]` and `#[macro_escape]` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971351163 r? `@jdonszelmann` `@oli-obk`
2025-07-23Fix gcc_icmp with non-native integersAntoni Boucher-4/+20
2025-07-23Fix `unused_async` FP on function with `todo!` (#15308)Alex Macleod-23/+78
Closes rust-lang/rust-clippy#15305 changelog: [`unused_async`] fix FP on function with `todo!`
2025-07-23Remove `ExpressionStoreDiagnostics::MacroError`, instead recreate it from ↵Chayim Refael Friedman-44/+9
the `MacroCallId` This simplifies the code and also makes us report parse error in macros too.
2025-07-23Merge pull request #1883 from Kobzol/pullFolkert de Vries-27727/+48038
Rustc pull update
2025-07-23resolve: Change the underscore disambiguator to avoid regressionsVadim Petrochenkov-1/+5
2025-07-23resolve: Make disambiguators for underscore bindings module-localVadim Petrochenkov-45/+58
2025-07-23Reformat codeJakub Beránek-5/+1
2025-07-23Merge ref '5a30e4307f05' from rust-lang/rustJakub Beránek-27727/+48042
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 5a30e4307f0506bed87eeecd171f8366fdbda1dc Filtered ref: 59749e9f8c765d3021796a9fe0c188643c4b8d77 This merge was created using https://github.com/rust-lang/josh-sync.
2025-07-23Prepare for merging from rust-lang/rustJakub Beránek-1/+1
This updates the rust-version file to 5a30e4307f0506bed87eeecd171f8366fdbda1dc.
2025-07-23Add regression test for matches! + non_exhaustive_omitted_patterns lintJonas Platte-0/+7
2025-07-23Stop using the old `validate_attr` logic for stability attributesJonathan Brouwer-14/+47
2025-07-23Disable non_exhaustive_omitted_patterns within matches! macroJonas Platte-0/+2
2025-07-23add codegen test for variadics (also replacing some existing does-this-build ↵Ralf Jung-59/+110
tests)
2025-07-23Fix `compiletest` bad handling of `ignore-backends`Guillaume Gomez-0/+5
2025-07-23Add `ignore-backends` annotations in failing GCC backend ui testsGuillaume Gomez-34/+123
2025-07-23Ports `#[macro_use]` and `#[macro_escape]` to the new attribute parsing ↵Jonathan Brouwer-4/+4
infrastructure