| Age | Commit message (Collapse) | Author | Lines |
|
1.26.2 release
This includes a backport of #51235 which fixes #51117 on stable. It has not been tested.
r? @nikomatsakis since the backport was not clean.
cc @rust-lang/core @rust-lang/release
|
|
|
|
|
|
`PointerKind` is included in `LoanPath` and hence forms part of the
equality check; this led to having two unequal paths that both
represent `*x`, depending on whether the `*` was inserted
automatically or explicitly. Bad mojo. The `note` field, in contrast,
is intended more-or-less primarily for this purpose of adding extra
data.
|
|
Stable point release (1.26.1)
This includes all items on [the wishlist](https://github.com/rust-lang/rust/issues/50756), plus https://github.com/rust-lang/rust/pull/50694, which backported cleanly.
The target date is May 29th, Tuesday next week.
cc @rust-lang/compiler @oli-obk @eddyb -- I backported https://github.com/rust-lang/rust/pull/50812, but it wasn't a clean patch so review would be appreciated.
|
|
|
|
|
|
|
|
|
|
|
|
A high impact bug because a lot of common traits use a `Self`
substitution by default. Should be backported to beta.
There was a check for this which wasn't catching all cases, it was made
more robust.
Fixes #49376
Fixes #50626
r? @petrochenkov
|
|
Fix #50811
Make sure the float comparison output is consistent with the expected behavior when NaN is involved.
----
Note: This PR is a **BREAKING CHANGE**. If you have used `>` or `>=` to compare floats, and make the result as the length of a fixed array type, like:
```rust
use std::f64::NAN;
let x: [u8; (NAN > NAN) as usize] = [1];
```
then the code will no longer compile. Previously, all float comparison involving NaN will just return "Greater", i.e. `NAN > NAN` would wrongly return `true` during const evaluation. If you need to retain the old behavior (why), you may replace `a > b` with `a != a || b != b || a > b`.
|
|
|
|
Fixes #50595.
This bug currently affects stable. Why I think we can go for hard error:
- It will in stable for at most one cycle and there is no legitimate
reason to abuse it, nor any known uses in the wild.
- It only affects `bin` crates (which have a `main`), so there is
little practical difference between a hard error or a deny lint, both
are a one line fix.
The fix was to just unshadow a variable. Thanks @nikomatsakis for the
mentoring!
r? @nikomatsakis
|
|
This commit updates our manifest generation for rustup to filter out any
components/extensions which are actually missing. This is intended to help
mitigate #49462 by making the manifests reflect reality, that many targets now
are missing a `rust-docs` component rather than requiring it exists.
|
|
Stable release 1.26.0
|
|
|
|
[beta] Process backports
* https://github.com/rust-lang/rust/pull/50419: rustdoc: Resolve nested `impl Trait`s
* https://github.com/rust-lang/rust/pull/50474: Fix ICE in assertion macro
r? @Mark-Simulacrum
|
|
|
|
|
|
[beta] Revert "Implement FromStr for PathBuf"
This is a backport of https://github.com/rust-lang/rust/pull/50401
|
|
This reverts commit 05a9acc3b844ff284a3e3d85dde2d9798abfb215.
|
|
[beta] Yet another round of backports
* #50092: Warn on pointless `#[derive]` in more places
* #50227: Fix ICE with erroneous `impl Trait` in a trait impl
#50092 also needed some tweaks on the beta branch (see my own two commits).
r? @alexcrichton
|
|
* Changed `// compile-pass` to `// must-compile-successfully`
* Removed checks on unstable features
|
|
ExpansionKind::ForeignItems was added in #49350, which is not included
in the 1.26 beta.
|
|
Fixes #49841
|
|
This fixes the regression in #49934 and ensures that unused `#[derive]`s on statements, expressions and generic type parameters survive to trip the `unused_attributes` lint. For `#[derive]` on macro invocations it has a hardcoded warning since linting occurs after expansion. This also adds regression testing for some nodes that were already warning properly.
closes #49934
|
|
[Beta] Process backports
* #50257: Don't ICE on tuple struct ctor with incorrect arg count
|
|
|
|
[beta] More backports
* https://github.com/rust-lang/rust/pull/49368: Feature gate where clauses on associated types
* https://github.com/rust-lang/rust/pull/50253: drop elaboration should reveal all *(needs `beta-accepted` stamp)*
r? @alexcrichton
|
|
Fixes #49685
|
|
This used to happen by default as part of the normalization routine
that was being used.
|
|
|
|
|
|
[beta] Remove dependency on `parking_lot`
Unfortunately the `parking_lot` crate enables the `synchapi` feature of the
`winapi` crate which activates a dependency on `libsynchronization.a`. The MinGW
version of `libsynchronization.a` pulls in a dependency
`api-ms-core-synch-l1-2-0.dll` which causes rustc to not work on Windows 7
(tracked in #49438)
The `parking_lot` crate is not currently used in the compiler unless parallel
queries are enabled. This feature is not enabled by default and not used at all
in the beta/stable compilers. As a result the dependency in this commit was
removed and the CI build which checks parallel queries was disabled.
This isn't a great long-term solution but should hopefully be enough of a patch
for beta to buy us some more time to figure this out.
|
|
Unfortunately the `parking_lot` crate enables the `synchapi` feature of the
`winapi` crate which activates a dependency on `libsynchronization.a`. The MinGW
version of `libsynchronization.a` pulls in a dependency
`api-ms-core-synch-l1-2-0.dll` which causes rustc to not work on Windows 7
(tracked in #49438)
The `parking_lot` crate is not currently used in the compiler unless parallel
queries are enabled. This feature is not enabled by default and not used at all
in the beta/stable compilers. As a result the dependency in this commit was
removed and the CI build which checks parallel queries was disabled.
This isn't a great long-term solution but should hopefully be enough of a patch
for beta to buy us some more time to figure this out.
|
|
[beta] Backport #50072
* #50072: Allow variant discriminant initializers to refer to other initializers of the same enum
|
|
the same enum
|
|
[beta] Process backports
* https://github.com/rust-lang/rust/pull/49779: Don't report compile-time errors for promoteds
* https://github.com/rust-lang/rust/pull/50110: Warn on all erroneous constants
|
|
|
|
|
|
The error messages differ between optimized and nonoptimized mode
|
|
|
|
[beta] Another round of backports
This is a backport of:
* https://github.com/rust-lang/rust/pull/50039
* https://github.com/rust-lang/rust/pull/50121
|
|
[beta] Backport - Improve assertion in Query::force().
Follow up to https://github.com/rust-lang/rust/pull/49695#issuecomment-383214077
r? @alexcrichton
|
|
|
|
|
|
|
|
This reverts commit e53a2a72743810e05f58c61c9d8a4c89b712ad2e.
|
|
`()`, not `!`.
Note that this commit, since it is trying to be minimal in order to
ease backporting to the beta and release channels, does *not* include
the old future-proofing warnings that we used to have associated with
such fallback to `()`; see discussion at this comment:
https://github.com/rust-lang/rust/issues/49691#issuecomment-381266730
|