| Age | Commit message (Collapse) | Author | Lines |
|
It is not shipped with host tools, so it was located in the wrong group.
|
|
|
|
|
|
|
|
|
|
Turn "any heap allocators" into "any heap allocator".
|
|
|
|
|
|
r=GuillaumeGomez
GCC backend subtree update
cc `@antoyo`
r? ghost
|
|
operations of other unsafe blocks
|
|
rust-lang/rust-clippy#13468 delegated all `--print` requests to `rustc`;
this PR adds an exception to `crate-root-lint-levels`
(rust-lang/rust#139180), i.e.:
```
$ rustc -Zunstable-options --print=crate-root-lint-levels /dev/null | wc -l
230
$ clippy-driver -Zunstable-options --print=crate-root-lint-levels /dev/null | wc -l
230
$ cargo run --bin clippy-driver -- -Zunstable-options --print=crate-root-lint-levels /dev/null | wc -l
1020
```
So as to have a way to print all Clippy lint levels in a
machine-readable format.
----
changelog: none
|
|
fix: Remove `SolverDefId::ForeignId`
|
|
contributing: clarify when to update a branch vs avoid during review
|
|
|
|
|
|
|
|
Replace it with normal `SolverDefId::TypeAliasId`.
The split caused a very funny bug where code was getting `TypeAliasId` where it expected `ForeignId`, because `TypeAliasId` had a `From` impl from `hir_def::TypeAliasId` and `ForeignId` had not, plus a careless `into()`.
I could've fixed this specific bug but opted to remove the split instead; currently, it just provides more room for bugs, as we don't have typed IDs for the solver anyway, and even when we'll have (hopefully), that doesn't seem like a very useful distinction, for example in hir-def foreign types are just `TypeAliasId` with some flags.
Constructing a test for this isn't trivial; the trivial test (creating a foreign type, even proving a trait bound for it) fails to fail before the change, probably because we don't use the new solver everywhere yet so we don't trigger this specific code path.
|
|
|
|
|
|
Fixes rust-lang/rust-clippy#15564.
changelog: [`cargo::panic`]: Enabled to run in `const` contexts
|
|
|
|
|
|
|
|
subtree-update_cg_gcc_2025-08-26
|
|
|
|
instead of an `Option`
|
|
|
|
Rollup of 11 pull requests
Successful merges:
- rust-lang/rust#144373 (remove deprecated Error::description in impls)
- rust-lang/rust#144551 (Add aarch64_be-unknown-linux-musl target)
- rust-lang/rust#145076 (Add new Tier-3 target: riscv64a23-unknown-linux-gnu)
- rust-lang/rust#145481 (Add parentheses for closure when suggesting calling closure)
- rust-lang/rust#145596 (Losslessly optimize PNG files)
- rust-lang/rust#145615 (Fix doc of `std::os::windows::io::BorrowedSocket::borrow_raw`)
- rust-lang/rust#145841 (Always build miri for the host in `x run miri`)
- rust-lang/rust#145861 (bootstrap: vendor `clippy_test_deps` too)
- rust-lang/rust#145863 (formatting_options: Make all methods `const`)
- rust-lang/rust#145867 (cg_llvm: Assert that LLVM range-attribute values don't exceed 128 bits)
- rust-lang/rust#145875 (Make bootstrap command caching opt-in)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
Make bootstrap command caching opt-in
It was opt-out before, which was causing some really hard to debug issues.
CC `@Shourya742`
r? `@jieyouxu`
|
|
cg_llvm: Assert that LLVM range-attribute values don't exceed 128 bits
The underlying implementation of `LLVMCreateConstantRangeAttribute` assumes that each of `LowerWords` and `UpperWords` points to enough u64 values to define an integer of the specified bit-length, and will encounter UB if that is not the case.
Our safe wrapper function always passes pointers to `[u64; 2]` arrays, regardless of the bit-length specified. That's fine in practice, because scalar primitives never exceed 128 bits, but it is technically a soundness hole in a safe function.
We can close the soundness hole by explicitly asserting `size_bits <= 128`. This is effectively just a stricter version of the existing check that the value must be small enough to fit in `c_uint`.
---
This is a narrower version of the fix in rust-lang/rust#145846.
|
|
formatting_options: Make all methods `const`
Related to rust-lang/rust#118117.
Having `const fn`s that take a `mut &` was unstable until Rust 1.83 (see rust-lang/rust#129195). Because of this, not all methods on `FormattingOptions` were implemented as `const`. As this has been stabilized now, there is no reason not to have all methods `const`.
Thanks to `@Ternvein` for bringing this to my attention (see [1]).
r? `@m-ou-se` (As you were the reviewer for the original implementation – feel free to reroll if you are busy or if you aren't interested)
[1]: https://github.com/rust-lang/rust/issues/118117#issuecomment-2687470635
|
|
bootstrap: vendor `clippy_test_deps` too
This internal crate explicitly separates itself from the `rustc`
workspace, but it is needed for `./x test clippy` to work, including its
dependencies when building from a vendored `rustc-src` tarball.
|
|
Always build miri for the host in `x run miri`
Previously we were building Miri for the passed `--target`, which was wrong.
Fixes: https://github.com/rust-lang/rust/issues/145839
r? `@jieyouxu`
|
|
Fix doc of `std::os::windows::io::BorrowedSocket::borrow_raw`
A small oversight in 0cb69dec57f I noticed while reading.
|
|
Losslessly optimize PNG files
Losslessly optimizes all of the PNG files in the repo. Done with:
```
oxipng -o max -a -s
oxipng -o max --zopfli -a -s
```
|
|
Add parentheses for closure when suggesting calling closure
Fixes rust-lang/rust#145404
|
|
r=davidtwco
Add new Tier-3 target: riscv64a23-unknown-linux-gnu
MCP: [Tier 3 target proposal: riscv64a23-unknown-linux-gnu](https://github.com/rust-lang/compiler-team/issues/894)
Changes:
- add new target: riscv64a23-unknown-linux-gnu
- add target page
|
|
Add aarch64_be-unknown-linux-musl target
This PR adds a target definition for big-endian Aarch64 with musl-libc.
cc `@Gelbpunkt`
|
|
remove deprecated Error::description in impls
[libs-api permission](https://github.com/rust-lang/libs-team/issues/615#issuecomment-3074045829)
r? `@cuviper`
or `@jhpratt`
|
|
While provenance cannot be captured through these arguments, the
address / object identity can.
|
|
|
|
|
|
|
|
The docs say this lint is included in `nursery`, but it is now in
`restriction`.
changelog:[`cognitive_complexity`]: Fixed documentation comment to state
that the lint is in `restriction`, not `nursery`
|
|
|
|
The argument needs to be lifetime-extended, so this special case isn't
actually perfectly equivalent to the general case.
|
|
|
|
The docs say this lint is included in `nursery`, but it is now in `restriction`.
|