| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Replace the `&'tcx List<Ty<'tcx>>` in `TyKind::Tuple` with `SubstsRef<'tcx>`
Part of the suggested refactoring for https://github.com/rust-lang/rust/issues/42340. As expected, this is a little messy, because there are many places that the components of tuples are expected to be types, rather than arbitrary kinds. However, it should open up the way for a refactoring of `TyS` itself.
r? @nikomatsakis
|
|
Use arenas to avoid Lrc in queries #1
Based on https://github.com/rust-lang/rust/pull/59536.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Promote rust comments to rustdoc
|
|
Don't stop evaluating due to errors before borrow checking
r? @oli-obk
Fix #60005. Follow up to #59903. Blocked on #53708, fixing the ICE in `src/test/ui/consts/match_ice.rs`.
|
|
|
|
|
|
|
|
This also fully stabilizes two-phase borrows on all editions
|
|
Add `TyCtxt::is_mutable_static`
|
|
|
|
Refactor Adjust and CastKind
fixes rust-lang#59588
|
|
Make const parameters enforce no variance constraints
Fixes https://github.com/rust-lang/rust/issues/60047. Also includes some minor const refactoring for convenience.
|
|
Fix ICE on const evaluation of const method
Fix #54954.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Properly parse '--extern-private' with name and path
It turns out that https://github.com/rust-lang/rust/pull/57586 didn't properly parse `--extern-private name=path`.
This PR properly implements the `--extern-private` option. I've added a new `extern-private` option to `compiletest`, which causes an `--extern-private` option to be passed to the compiler with the proper path.
Part of https://github.com/rust-lang/rust/issues/44663
|
|
|
|
|
|
Related to #58372
Related to #58967
|
|
Add discr_index to multi-variant layouts
We remove the assumption that the discriminant is always field 0, in
preparations for layouts like generators where this is not (always) going to be
the case.
Specifically, upvars are going to go before the discriminant. In theory, it's possible to remove _that_ assumption instead and keep the discriminant at field index 0, but one assumption or the other had to go :)
There is one place I know of in the debuginfo code where we'll still need to remove assumptions that the discriminant is the _only_ field. I was planning on doing this along with the upcoming generator change, which will also include tests that exercise the code changing in this PR.
r? @eddyb
cc @oli-obk
cc @cramertj
|
|
We relax the assumption that the discriminant is always field 0, in
preparations for layouts like generators where this is not going to be
the case.
|
|
|
|
specialization to find the right field
|
|
destructors
|
|
Move query definitions over to the proc macro
r? @oli-obk
|
|
|
|
|
|
|
|
Add a -Z time option which prints only passes which runs once
This ensures `-Z time-passes` fits on my screen =P
r? @michaelwoerister
|
|
Allow closure to unsafe fn coercion
Closes #57883
|
|
rustc_target: factor out common fields of non-Single Variants.
@tmandry and I were discussing ways to generalize the current variants/discriminant layout to allow more fields in the "`enum`" (or another multi-variant types, such as potentially generator state, in the future), shared by all variants, than just the tag/niche discriminant.
This refactor should make it easier to extend multi-variant layouts, as nothing is duplicating anymore between "tagged enums" and "niche-filling enums".
r? @oli-obk
|
|
|
|
|
|
|
|
rustc(codegen): uncache `def_symbol_name` prefix from `symbol_name`.
The `def_symbol_name` query was an optimization to avoid recomputing the common part of a symbol name, as only the hash needs to be added to it for each symbol.
However, #57967 will add a new mangling scheme, which doesn't readily support this kind of reuse - while it's plausible, it requires a lot more effort, since you'd have to "symbolically evaluate" mangling, and keep it in a form where the backreference positions can be computed correctly in the final step.
So I want to see how much time we're actually saving with this `def_symbol_name` optimization, nowadays.
cc @michaelwoerister
|
|
r=petrochenkov,QuietMisdreavus
RFC 2008: Enum Variants
Part of #44109. See [Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/rfc-2008/near/132663140) for previous discussion.
r? @petrochenkov
cc @nikomatsakis
|
|
|
|
|