about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-01-19Rollup merge of #135697 - compiler-errors:poly-trait-ref, r=lqdMatthias Krüger-125/+116
Get rid of `ToPolyTraitRef` It's generally a footgun, since it throws away `PredicatePolarity`. This PR doesn't attempt to fix any related bugs having to do with binders or polarity; it just tries to pass through `TraitPredicate`s around instead of `TraitRef`s. There should be basically no functional changes.
2025-01-19Rollup merge of #135680 - Zalathar:counters-cleanup, r=compiler-errorsMatthias Krüger-197/+136
coverage: Clean up a few things after the counters overhaul Follow-up to #135481. No functional change; this is mostly just deleting or moving code.
2025-01-19Rollup merge of #135663 - frank-king:fix/135614, r=compiler-errorsMatthias Krüger-3/+110
Fix ICE in resolving associated items as non-bindings Fixes #135614 so that imported associated functions of traits can be shadowed by local bindings and associated constants of traits can be used in patterns.
2025-01-19Rollup merge of #135640 - Gelbpunkt:drop-mips-glibc-patches, r=KobzolMatthias Krüger-127/+0
Drop MIPS glibc 2.23 patches that reside in crosstool-ng now These patches were added to crosstool-ng in https://github.com/crosstool-ng/crosstool-ng/commit/b88d3385162415294cba57e7b4cecc03259548fb and are therefore duplicate and fail to apply, breaking builds of `dist-mips*-linux`. I have compile tested `dist-mipsel-linux`, I assume the other targets will work just as fine now.
2025-01-19Rollup merge of #135623 - marcoieni:mingw-check-tidy-dockerfile, r=KobzolMatthias Krüger-1/+3
ci: use ghcr ubuntu image for mingw-check-tidy
2025-01-19Rollup merge of #135616 - marcoieni:split-i686-msvc-job, r=KobzolMatthias Krüger-5/+21
CI: split i686-msvc job to two free runners try-job: i686-msvc-1 try-job: i686-msvc-2
2025-01-18Auto merge of #135633 - marcoieni:ci-free-arm-linux, r=Kobzolbors-1/+1
ci: switch to linux free arm runners try-job: aarch64-gnu try-job: aarch64-gnu-debug try-job: dist-aarch64-linux
2025-01-18Get rid of `ToPolyTraitRef`Michael Goulet-125/+116
2025-01-18Auto merge of #135682 - matthiaskrgr:rollup-cl7zlt1, r=matthiaskrgrbors-377/+444
Rollup of 7 pull requests Successful merges: - #133700 (const-eval: detect more pointers as definitely not-null) - #135290 (Encode constraints that hold at all points as logical edges in location-sensitive polonius) - #135478 (Run clippy for rustc_codegen_gcc on CI) - #135583 (Move `std::pipe::*` into `std::io`) - #135612 (Include x scripts in tarballs) - #135624 (ci: mirror buildkit image to ghcr) - #135661 (Stabilize `float_next_up_down`) r? `@ghost` `@rustbot` modify labels: rollup
2025-01-18Auto merge of #135667 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 13 commits in 088d496082726091024f1689c124a0c3dccbd775..045bf21b36a2e1f3ed85e38278d1c3cc4305e134 2025-01-10 20:10:21 +0000 to 2025-01-17 14:59:36 +0000 - created a function for user defined aliases (rust-lang/cargo#15076) - took the functionality of the third party subcommand from the list_commands function (rust-lang/cargo#15075) - fix: wrong concat and field name (rust-lang/cargo#15074) - fix(publish): Report all unpublishable packages (rust-lang/cargo#15070) - docs(cargo-clippy): correct typo (rust-lang/cargo#15072) - docs(cargo-package): alwasy include the lockfile (rust-lang/cargo#15067) - docs(ref): Deprecate 'package.authors' (rust-lang/cargo#15068) - fix(build-std): parse as comma-separated list (rust-lang/cargo#15065) - Fix benchsuite issue with newer versions of git (rust-lang/cargo#15069) - Document that cargo automatically registers variables used in env! macro to trigger rebuilds (rust-lang/cargo#15062) - perf(cargo-package): match certain path prefix with pathspec (rust-lang/cargo#14997) - Clarify note in example (rust-lang/cargo#15054) - chore(deps): update msrv (3 versions) to v1.82 (rust-lang/cargo#15050)
2025-01-18Rollup merge of #135661 - tgross35:stabilize-float_next_up_down, r=scottmcmMatthias Krüger-17/+32
Stabilize `float_next_up_down` FCP completed at [1]. For `f16` and `f128`, this just removes the gates in comments and doctests. Closes https://github.com/rust-lang/rust/issues/91399 [1]: https://github.com/rust-lang/rust/issues/91399#issuecomment-2598734570
2025-01-18Rollup merge of #135624 - marcoieni:mirror-buildkit-image, r=KobzolMatthias Krüger-6/+17
ci: mirror buildkit image to ghcr
2025-01-18Rollup merge of #135612 - onur-ozkan:include-x-scripts-in-tarballs, r=clubby789Matthias Krüger-7/+11
Include x scripts in tarballs Helps to provide 1:1 build experience between git-managed and tarball sources.
2025-01-18Rollup merge of #135583 - NobodyXu:move-pipe-to-io, r=joshtriplettMatthias Krüger-291/+274
Move `std::pipe::*` into `std::io` Resolve concern from final comment period https://github.com/rust-lang/rust/issues/127154#issuecomment-2590419895
2025-01-18Rollup merge of #135478 - Kobzol:gcc-clippy, r=onur-ozkanMatthias Krüger-6/+19
Run clippy for rustc_codegen_gcc on CI Requested on [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/Run.20clippy.20for.20rustc_codegen_gcc.20in.20the.20Rust.20CI). Opening as a draft, since it's not clear which rules should be applied to it. r? `@ghost`
2025-01-18Rollup merge of #135290 - lqd:polonius-next-episode-8, r=jackh726Matthias Krüger-40/+66
Encode constraints that hold at all points as logical edges in location-sensitive polonius Currently, with the full setup in #134980 (but is from #134268), the polonius location-sensitive analysis converts `Locations::All` typeck constraints as edges at all points in the CFG. This was temporary. There's a FIXME about that already, and this PR implements it: we now use the constraints that hold at all points during traversal instead of eagerly materializing them as physical edges. Another easy one `@jackh726.` This fixes the slowness that was happening on the big CFG from the `saturating-float-casts` test (because of its 12M materialized edges) without, AFAICT, simply moving this overhead to traversal: materializing the logical edges is done on-demand. r? `@jackh726` (no rush either)
2025-01-18Rollup merge of #133700 - RalfJung:const-non-null, r=lcnrMatthias Krüger-10/+25
const-eval: detect more pointers as definitely not-null This fixes https://github.com/rust-lang/rust/issues/133523 by making the `scalar_may_be_null` check smarter: for instance, an odd offset in any 2-aligned allocation can never be null, even if it is out-of-bounds. More generally, if an allocation with unknown base address B is aligned to alignment N, and a pointer is at offset X inside that allocation, then we know that `(B + X) mod N = B mod N + X mod N = X mod N`. Since `0 mod N` is definitely 0, if we learn that `X mod N` is *not* 0 we can deduce that `B + X` is not 0. This is immediately visible on stable, via `ptr.is_null()` (and, more subtly, by not raising a UB error when such a pointer is used somewhere that a non-null pointer is required). Therefore nominating for `@rust-lang/lang.`
2025-01-18Auto merge of #135678 - matthiaskrgr:rollup-psuyzpn, r=matthiaskrgrbors-52/+134
Rollup of 6 pull requests Successful merges: - #134455 (cleanup promoteds move check) - #135421 (Make tidy warn on unrecognized directives) - #135611 (Remove unnecessary assertion for reference error) - #135620 (ci: improve github action name) - #135639 (new solver: prefer trivial builtin impls) - #135654 (add src/librustdoc and src/rustdoc-json-types to RUSTC_IF_UNCHANGED_ALLOWED_PATHS) r? `@ghost` `@rustbot` modify labels: rollup
2025-01-18coverage: Add a few more comments to counter creationZalathar-0/+15
2025-01-18coverage: Remove `BcbCounter` and `BcbExpression`Zalathar-70/+18
Making these separate types from `CovTerm` and `Expression` was historically very helpful, but now that most of the counter-creation work is handled by `node_flow` they are no longer needed.
2025-01-18coverage: Flatten top-level counter creation into plain functionsZalathar-95/+91
- Move `make_bcb_counters` out of `CoverageCounters` - Split out `make_node_counter_priority_list` - Flatten `Transcriber` into the function `transcribe_counters`
2025-01-18Auto merge of #135675 - erickt:fix-fuchsia-sha, r=lqdbors-1/+1
Bump Fuchsia integration commit This advances Fuchsia to a checkout from 2025-01-13, which corresponds to a recent Rust roll, and hopefully avoids #135667, where a repository used by the older version of Rust was accidentally archived and broke checking out the prior version. try-job: x86_64-fuchsia cc `@ehuss`
2025-01-18Rollup merge of #135654 - lolbinarycat:bootstrap-135650, r=onur-ozkanMatthias Krüger-0/+2
add src/librustdoc and src/rustdoc-json-types to RUSTC_IF_UNCHANGED_ALLOWED_PATHS fixes https://github.com/rust-lang/rust/issues/135650 r? ``@onur-ozkan``
2025-01-18Rollup merge of #135639 - lqd:trivial-builtin-impls, r=lcnrMatthias Krüger-6/+41
new solver: prefer trivial builtin impls As discussed [on zulip](https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/needs_help.3A.20trivial.20builtin.20impls), this PR: - adds a new `BuiltinImplSource::Trivial` source, and marks the `Sized` builtin impls as trivial - prefers these trivial builtin impls in `merge_trait_candidates` The comments can likely be wordsmithed a bit better, and I ~stole~ was inspired by the old solver ones. Let me know how you want them improved. When enabling the new solver for tests, 3 UI tests now pass: - `regions/issue-26448-1.rs` and its sibling `regions/issue-26448-2.rs` were rejected by the new solver but accepted by the old one - and `issues/issue-42796.rs` where the old solver emitted some overflow errors in addition to the expected error (For some reason one of these tests is run-pass, but I can take care of that another day) r? lcnr
2025-01-18Rollup merge of #135620 - marcoieni:edit-ghcr-action-name, r=KobzolMatthias Krüger-1/+1
ci: improve github action name
2025-01-18Rollup merge of #135611 - chenyukang:yukang-fix-135341-ice-crash, r=oli-obkMatthias Krüger-6/+13
Remove unnecessary assertion for reference error Fixes #135341 From comment: https://github.com/rust-lang/rust/issues/135341#issuecomment-2594430504 r? ``@oli-obk``
2025-01-18Rollup merge of #135421 - cod10129:warn-tidy-ignore, r=onur-ozkanMatthias Krüger-30/+68
Make tidy warn on unrecognized directives This PR makes it so tidy warns on unrecognized directives, as recommended on [the discussion of #130984](https://github.com/rust-lang/rust/issues/130984#issuecomment-2589284620). This is edited from the previous version of this PR, which only warned on "tidy-ignore" and no other tidy directive typos. Fixes #130984. ``@rustbot`` label A-tidy C-enhancement
2025-01-18Rollup merge of #134455 - lcnr:move-errors-in-promoteds, r=compiler-errorsMatthias Krüger-9/+9
cleanup promoteds move check r? types
2025-01-18const-eval: detect more pointers as definitely not-nullRalf Jung-10/+25
2025-01-18coverage: Move `phys_counter_for_node` into `CoverageCounters`Zalathar-19/+18
2025-01-18Bump Fuchsia integration commitErick Tryzelaar-1/+1
This advances Fuchsia to a checkout from 2025-01-13, which corresponds to a recent Rust roll, and hopefully avoids #135667, where a repository used by the older version of Rust was accidentally archived and broke checking out the prior version. try-job: x86_64-fuchsia
2025-01-18coverage: Remove the `Site` enum now that we only instrument nodesZalathar-35/+16
2025-01-17Update cargoWeihang Lo-0/+0
2025-01-18Fix ICE in resolving associated items as non-bindingsFrank King-3/+110
2025-01-18Auto merge of #135618 - lcnr:coherence-unknown, r=compiler-errorsbors-28/+115
add cache to `AmbiguityCausesVisitor` fixes #135457, alternative to #135524. cc https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/new-solver.20hang.20.23135457 r? `@compiler-errors`
2025-01-17Add references to the IEEE functions for `float_next_up_down`Trevor Gross-0/+24
Mention the IEEE function by name and create a doc alias of the same.
2025-01-17Stabilize `float_next_up_down`Trevor Gross-17/+8
FCP completed at [1]. Closes https://github.com/rust-lang/rust/issues/91399 [1]: https://github.com/rust-lang/rust/issues/91399#issuecomment-2598734570
2025-01-17Auto merge of #135329 - oli-obk:push-sytltwnzxlrq, r=Noratriebbors-2/+20
Stable Hash: Ignore all HirIds that just identify the node itself This should provide better incremental caching, but it seems there is more to it. These IDs also serve no purpose being in the stable hash of the item they refer to, only when referring to *another* item is it important that we hash the `HirId`. So we can at least avoid the cost during stable hashing, even if we don't benefit from it by avoiding some queries' caches from being invalidated Unsure how to make sure we do this right by construction. Would be nice to do something type based
2025-01-17add src/librustdoc and src/rustdoc-json-types to ↵binarycat-0/+2
RUSTC_IF_UNCHANGED_ALLOWED_PATHS fixes https://github.com/rust-lang/rust/issues/135650
2025-01-17new solver: prefer trivial builtin impls over where-clausesRémy Rakic-6/+41
for now, only builtin `Sized` impls are tracked as being `Trivial`
2025-01-17Drop MIPS glibc 2.23 patches that reside in crosstool-ng nowJens Reidel-127/+0
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-01-17ci: switch to linux free arm runnersMarcoIeni-1/+1
2025-01-17Auto merge of #135534 - folkertdev:fix-wasm-i128-f128, r=tgross35bors-0/+110
use indirect return for `i128` and `f128` on wasm32 fixes #135532 Based on https://github.com/WebAssembly/tool-conventions/blob/main/BasicCABI.md we now use an indirect return for `i128`, `u128` and `f128`. That is what LLVM ended up doing anyway. r? `@bjorn3`
2025-01-18Fix use of pipe in tests/run-make/broken-pipe-no-ice/rmake.rsJiahao XU-1/+1
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2025-01-18Fix import of pipe in kernel_copy.rsJiahao XU-3/+2
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2025-01-17add testlcnr-0/+70
2025-01-17ci: use ghcr ubuntu image for mingw-check-tidyMarcoIeni-1/+3
2025-01-17ci: mirror buildkit image to ghcrMarcoIeni-6/+17
2025-01-17encode `Locations::All` typeck constraints as logical edgesRémy Rakic-25/+49
Instead of materializing `Locations::All` constraints as physical edges at all the points in the CFG, we record them as logical edges and only materialize them during traversal as successors for a given node. This fixes the slowness/hang in the `saturating-float-casts.rs` test.
2025-01-17make `LocalizedConstraintGraph` a struct and not an aliasRémy Rakic-21/+23
this prepares the code structure for adding logical edges to the graph next