| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This introduce an additional collection of opaques on HIR, as they can no
longer be listed using the free item list.
|
|
|
|
|
|
Stabilize `const_float_classify`
Tracking issue: https://github.com/rust-lang/rust/issues/72505
Also reverts https://github.com/rust-lang/rust/pull/114486
Closes https://github.com/rust-lang/rust/issues/72505
Stabilized const API:
```rust
impl f32 {
pub const fn is_nan(self) -> bool;
pub const fn is_infinite(self) -> bool;
pub const fn is_finite(self) -> bool;
pub const fn is_subnormal(self) -> bool;
pub const fn is_normal(self) -> bool;
pub const fn classify(self) -> FpCategory;
pub const fn is_sign_positive(self) -> bool;
pub const fn is_sign_negative(self) -> bool;
}
impl f64 {
pub const fn is_nan(self) -> bool;
pub const fn is_infinite(self) -> bool;
pub const fn is_finite(self) -> bool;
pub const fn is_subnormal(self) -> bool;
pub const fn is_normal(self) -> bool;
pub const fn classify(self) -> FpCategory;
pub const fn is_sign_positive(self) -> bool;
pub const fn is_sign_negative(self) -> bool;
}
```
cc `@rust-lang/wg-const-eval` `@rust-lang/libs-api`
|
|
Rollup of 4 pull requests
Successful merges:
- #131034 (Implement RFC3695 Allow boolean literals as cfg predicates)
- #131202 (Use wide pointers consistenly across the compiler)
- #131230 (Enable `--no-sandbox` option by default for rustdoc GUI tests)
- #131232 (Week off of reviews to focus on docs)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Week off of reviews to focus on docs
Dedicating a week to work on rustc-dev-guide.
Should be back on Oct. 11/12.
|
|
Enable `--no-sandbox` option by default for rustdoc GUI tests
It's apparently common enough for people to have issues with the `sandbox` mode in chromium, so better disable it by default.
r? `@notriddle`
|
|
Use wide pointers consistenly across the compiler
This PR replace every use of "fat pointer" for the more recent "wide pointer" terminology.
Since some time T-lang as preferred the "wide pointer" terminology, as can be seen on [the last RFCs](https://github.com/search?q=repo%3Arust-lang%2Frfcs+%22wide+pointer%22&type=code), on some [lints](https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#ambiguous-wide-pointer-comparisons), but also in [the reference](https://doc.rust-lang.org/stable/reference/expressions/operator-expr.html?highlight=wide%20pointer#pointer-to-pointer-cast).
Currently we have a [mix of both](https://github.com/search?q=repo%3Arust-lang%2Frust+%22wide+pointer%22&type=code) (including in error messages), which isn't great, but with this PR no more.
r? `@jieyouxu` (feel free to re-roll)
|
|
Implement RFC3695 Allow boolean literals as cfg predicates
This PR implements https://github.com/rust-lang/rfcs/pull/3695: allow boolean literals as cfg predicates, i.e. `cfg(true)` and `cfg(false)`.
r? `@nnethercote` *(or anyone with parser knowledge)*
cc `@clubby789`
|
|
r=GuillaumeGomez
rustdoc: prevent ctors from resolving
Fixes #130591
|
|
|
|
Dedicating a week to work on rustc-dev-guide.
|
|
|
|
remove blank issue template
r? `@Noratrieb`
So there are currently two blank issue templates. One called "Blank Issue" and one called "Blank issue". Wildly different, of course. It seems that one is auto generated by GitHub, while the other one has an explicit template for it. This removes the explicit one so there's only one "Blank [iI]ssue" in the list. Unfortunately, the only way to test if it works is merging this and finding out, but it seems obvious that it would work.

|
|
|
|
|
|
|
|
|
|
|
|
Disable jump threading `UnOp::Not` for non-bool
Fix #131195, where jumpthreading was optimizing `!a == b` into `a != b` for non-bool, where this is definitely not true.
|
|
Merge `glb` and `lub` modules
Tons of code is duplicated across them, and it's easy to factor that out.
r? `@lcnr`
|
|
Rollup of 7 pull requests
Successful merges:
- #131024 (Don't give method suggestions when method probe fails due to bad implementation of `Deref`)
- #131112 (TransmuteFrom: Gracefully handle unnormalized types and normalization errors)
- #131176 (.gitignore files for nix)
- #131183 (Refactoring to `OpaqueTyOrigin`)
- #131187 (Avoid ICE in coverage builds with bad `#[coverage(..)]` attributes)
- #131192 (Handle `rustc_query_impl` cases of `rustc::potential_query_instability` lint)
- #131197 (Avoid emptiness check in `PeekMut::pop`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
It's no longer necessary now that the `glb` and `lub` modules have been
merged.
|
|
Most of the code in these two modules is duplicated in the other module.
This commit eliminates the duplication by replacing them with a new
module `lattice_op`. The new `LatticeOpKind` enum is used to distinguish
between glb and lub in the few places where the behaviour differs.
|
|
Avoid emptiness check in `PeekMut::pop`
This PR avoids an unnecessary emptiness check in `PeekMut::pop` by replacing `Option::unwrap` with `Option::unwrap_unchecked`.
|
|
ismailarilik:handle-potential-query-instability-lint-for-rustc-query-impl, r=compiler-errors
Handle `rustc_query_impl` cases of `rustc::potential_query_instability` lint
This PR removes `#![allow(rustc::potential_query_instability)]` line from [`compiler/rustc_query_impl/src/lib.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_query_impl/src/lib.rs#L5) <s>and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors</s> (was not necessary for this PR).
A somewhat tracking issue: https://github.com/rust-lang/rust/issues/84447
r? ``@compiler-errors``
|
|
Avoid ICE in coverage builds with bad `#[coverage(..)]` attributes
This code can sometimes witness malformed coverage attributes in builds that are going to fail, so use `span_delayed_bug` to avoid an inappropriate ICE in that case.
Fixes #127880.
|
|
Refactoring to `OpaqueTyOrigin`
Pulled out of a larger PR that uses these changes to do cross-crate encoding of opaque origin, so we can use them for edition 2024 migrations. These changes should be self-explanatory on their own, tho 😄
|
|
.gitignore files for nix
This adds support for direnv and nix flakes / nix shell. I'm not sure if we should have a working nix configuration though.
r? ``@noratrieb``
|
|
TransmuteFrom: Gracefully handle unnormalized types and normalization errors
~~Refactor to share code between `TransmuteFrom`'s trait selection and error reporting code paths. Additionally normalizes the source and destination types, and gracefully handles normalization errors.~~
Fixes #130413
r? `@compiler-errors`
|
|
Don't give method suggestions when method probe fails due to bad implementation of `Deref`
If we have a bad `Deref` impl, we used to bail with `MethodError::NoMatch`, which makes the error reporting code think that there was no applicable method (and thus try to suggest importing something, even if it's in scope).
Suppress this error, which fixes #131003.
|
|
ismailarilik:handle_potential_query_instability_lint_for_rustc_metadata, r=compiler-errors
Handle `rustc_metadata` cases of `rustc::potential_query_instability` lint
This PR removes `#![allow(rustc::potential_query_instability)]` line from [`compiler/rustc_metadata/src/lib.rs`](https://github.com/rust-lang/rust/blob/master/compiler/rustc_metadata/src/lib.rs#L3) and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors.
A somewhat tracking issue: https://github.com/rust-lang/rust/issues/84447
|
|
|
|
|
|
Clippy subtree update
r? `@Manishearth`
|
|
clippy-subtree-update
|
|
|
|
Rollup of 3 pull requests
Successful merges:
- #130419 (Streamline `HirCollector`)
- #131163 (Add `get_line` confusable to `Stdin::read_line()`)
- #131173 (Fix `target_abi` in SOLID targets)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Rustup
r? `@ghost`
changelog: none
|
|
|
|
|
|
Fix `target_abi` in SOLID targets
The `armv7a-kmc-solid_asp3-eabi` and `armv7a-kmc-solid_asp3-eabihf` targets clearly have the ABI in their name, so it should also be exposed in Rust's `target_abi` cfg variable.
CC target maintainer `@kawadakk.`
|