| Age | Commit message (Collapse) | Author | Lines |
|
Revert abort on unwinding through FFI on stable
This is entirely done to allow us more time for discussion about what behavior we want to specify here.
|
|
See #58794 for context.
|
|
|
|
[stable] Rust 1.33.0 release
r? @ghost
cc @rust-lang/release
|
|
|
|
Beta rollups
- https://github.com/rust-lang/rust/pull/58649
- https://github.com/rust-lang/rust/pull/58592
- https://github.com/rust-lang/rust/pull/58574
- https://github.com/rust-lang/rust/pull/58227
- https://github.com/rust-lang/rust/pull/58056
- https://github.com/rust-lang/rust/pull/57859
- https://github.com/rust-lang/rust/pull/57710
A few of these are via https://github.com/rust-lang/rust/pull/58641.
r? @pietroalbini
|
|
|
|
|
|
Cherry-picked (and squashed) from #58227.
|
|
Incorporates a bunch of the documentation-related comments that came up when discussing `Pin` stabilization.
|
|
This preserves the error you currently get on stable for the
old-lub-glb-object.rs test.
|
|
One surprise: old-lub-glb-object.rs, may indicate a bug
|
|
|
|
This set of diffs was produced by combing through
b68fad670bb3612cac26e50751e4fd9150e59977 and seeing where the
`leak_check` used to be invoked and how.
|
|
|
|
|
|
|
|
In our type inference system, when we "generalize" a type T to become
a suitable value for a type variable V, we sometimes wind up creating
new inference variables. So, for example, if we are making V be some
subtype of `&'X u32`, then we might instantiate V with `&'Y u32`.
This generalized type is then related `&'Y u32 <: &'X u32`, resulting
in a region constriant `'Y: 'X`. Previously, however, we were making
these fresh variables like `'Y` in the "current universe", but they
should be created in the universe of V. Moreover, we sometimes cheat
in an invariant context and avoid creating fresh variables if we know
the result must be equal -- we can only do that when the universes
work out.
|
|
|
|
[beta] Rollup backports
Cherry-picked:
* #58207: Make `intern_lazy_const` actually intern its argument.
* #58161: Lower constant patterns with ascribed types.
* #57908: resolve: Fix span arithmetics in the import conflict error
* #57835: typeck: remove leaky nested probe during trait object method resolution
* #57885: Avoid committing to autoderef in object method probing
* #57646: Fixes text becoming invisible when element targetted
Rolled up:
* #58522: [BETA] Update cargo
r? @ghost
|
|
|
|
|
|
|
|
These aren't fixed by this PR, but were broken in a few older attempts
at it. Make sure they don't regress.
|
|
|
|
|
|
In particular, the table entries (associated with type-variables
created during the probe) must persist as long as the candidates
assembled during the probe. If you make a nested probe without
creating a nested `ProbeContext`, the table entries are popped at the
end of the nested probe, while the type-variables would leak out via
the assembled candidates attached to `self` (the outer
`ProbeContext`). This causes an ICE (*if you are lucky*)!
|
|
|
|
|
|
This commit fixes a bug introduced by #55937 which started checking user
type annotations for associated type patterns. Where lowering a
associated constant expression would previously return a
`PatternKind::Constant`, it now returns a `PatternKind::AscribeUserType`
with a `PatternKind::Constant` inside, this commit unwraps that to
access the constant pattern inside and behaves as before.
|
|
Currently it just unconditionally allocates it in the arena.
For a "Clean Check" build of the the `packed-simd` benchmark, this
change reduces both the `max-rss` and `faults` counts by 59%; it
slightly (~3%) increases the instruction counts but the `wall-time` is
unchanged.
For the same builds of a few other benchmarks, `max-rss` and `faults`
drop by 1--5%, but instruction counts and `wall-time` changes are in the
noise.
Fixes #57432, fixes #57829.
|
|
|
|
[beta] Fix `attempted .def_id() on invalid def: NonMacroAttr(Builtin)`
backport of the fix so we can get update the bootstrap compiler to a compiler that has this fix. It's very hard to do development on stage 0/1 since resolve errors often end up with an ICE before outputting any useful diagnostics.
cc @rust-lang/compiler @rust-lang/infra I would like to fast-track this backport as it severly hampers @varkor's and my rustc developments. The ICE never happens for successful compiles, only if there are errors.
Since it is very minimalistic and can easily be reverted if desired I think/hope we can skip the usual beta nomination + beta accepted steps
|
|
|
|
[beta] Rollup backports
Cherry-picked:
* #58008: Pass correct arguments to places_conflict
* #58007: Don't panic when accessing enum variant ctor using `Self` in match
* #57978: Fix bug in integer range matching
* #57862: Build the standard library for thumbv7neon-unknown-linux-gnueabihf in CI
* #57659: Fix release manifest generation
r? @ghost
|
|
|
|
Closes #57030.
|
|
|
|
|
|
The borrow place *must* be a place that we track borrows for, otherwise
we will likely ICE.
|
|
[beta] rustbuild: fix build with rust 1.33
Fixes #57262
|
|
Fixes #57262
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
|
|
[beta] Rollup backports
* #57857: Fix Android CI failing to download SDKs
* #57840: Fix issue 57762
* #57698: Fix typo bug in DepGraph::try_mark_green().
r? @ghost
|
|
|
|
Address the review comments by simplifying the version check to
just "< 8".
|
|
Issue 57762 points out a compiler crash when the compiler was built
using a stock LLVM 7. LLVM 7 was released without a necessary fix for
a bug in the DWARF discriminant code.
This patch changes rustc to use the fallback mode on (non-Rust) LLVM 7.
Closes #57762
|
|
|
|
beta: Update RLS version to 1.33
We missed the 1.32 stable release for version bump, let's make it less confusing and backport a version bump for the current 1.33 beta.
https://github.com/rust-lang/rls/issues/1239
r? @pietroalbini
cc @nrc
|
|
Update beta to released compiler
|
|
|