- 15 8月, 2023 1 次提交
-
-
由 Esteban Küber 提交于
-
- 14 7月, 2023 1 次提交
-
-
由 Mahdi Dibaiee 提交于
-
- 08 7月, 2023 1 次提交
-
-
由 Nilstrieb 提交于
It makes it sound like the `ExprKind` and `Rvalue` are supposed to represent all pointer related casts, when in reality their just used to share a some enum variants. Make it clear there these are only coercion to make it clear why only some pointer related "casts" are in the enum.
-
- 27 6月, 2023 1 次提交
-
-
由 Maybe Waffle 提交于
-
- 21 4月, 2023 1 次提交
-
-
由 DrMeepster 提交于
-
- 03 4月, 2023 1 次提交
-
-
由 Camille GILLOT 提交于
-
- 26 2月, 2023 1 次提交
-
-
由 Camille GILLOT 提交于
-
- 28 1月, 2023 1 次提交
-
-
由 b-naber 提交于
-
- 26 1月, 2023 1 次提交
-
-
由 b-naber 提交于
-
- 02 9月, 2022 2 次提交
-
-
由 Nicholas Nethercote 提交于
To shrink it a little more.
-
由 Nicholas Nethercote 提交于
`thir::Pat::kind` is a `Box<PatKind>`, which doesn't follow the usual pattern in AST/HIR/THIR which is that the "kind" enum for a node is stored inline within the parent struct. This commit makes the `PatKind` directly inline within the `Pat`. This requires using `Box<Pat>` in all the types that hold a `Pat. Ideally, `Pat` would be stored in `Thir` like `Expr` and `Stmt` and referred to with a `PatId` rather than `Box<Pat>`. But this is hard to do because lots of `Pat`s get created after the destruction of the `Cx` that does normal THIR building. But this does get us a step closer to `PatId`, because all the `Box<Pat>` occurrences would be replaced with `PatId` if `PatId` ever happened. At 128 bytes, `Pat` is large. Subsequent commits will shrink it.
-
- 24 8月, 2022 4 次提交
-
-
由 Nicholas Nethercote 提交于
This matches the naming scheme used elsewhere, e.g. in the AST, and avoids name clashes with the `ExprKind::Closure` variant.
-
由 Nicholas Nethercote 提交于
This shrinks `thir::Expr`.
-
由 Nicholas Nethercote 提交于
This shrinks `thir::Expr`.
-
由 Nicholas Nethercote 提交于
Like expressions, statements, and match arms. This shrinks `thir::Stmt` and is a precursor to further shrinking `thir::Expr`.
-
- 12 7月, 2022 2 次提交
-
-
由 kadmin 提交于
-
由 Ding Xiang Fei 提交于
-
- 09 7月, 2022 1 次提交
-
-
由 Ralf Jung 提交于
There are several indications that we should not ZST as a ScalarInt: - We had two ways to have ZST valtrees, either an empty `Branch` or a `Leaf` with a ZST in it. `ValTree::zst()` used the former, but the latter could possibly arise as well. - Likewise, the interpreter had `Immediate::Uninit` and `Immediate::Scalar(Scalar::ZST)`. - LLVM codegen already had to special-case ZST ScalarInt. So instead add new ZST variants to those types that did not have other variants which could be used for this purpose.
-
- 06 7月, 2022 1 次提交
-
-
由 Alan Egerton 提交于
-
- 24 5月, 2022 1 次提交
-
-
由 Tomasz Miąsko 提交于
When constructing a MIR from a THIR field expression, introduce an additional downcast projection before accessing a field of an enum. When rebasing a place builder on top of a captured place, account for the fact that a single HIR enum field projection corresponds to two MIR projection elements: a downcast element and a field element.
-
- 14 4月, 2022 1 次提交
-
-
由 Amanieu d'Antras 提交于
-
- 06 4月, 2022 1 次提交
-
-
由 b-naber 提交于
-
- 02 4月, 2022 3 次提交
- 23 3月, 2022 4 次提交
- 08 3月, 2022 2 次提交
- 02 3月, 2022 1 次提交
-
-
由 mark 提交于
-
- 21 2月, 2022 1 次提交
-
-
由 Mark Rousskov 提交于
This reverts commit a240ccd8, reversing changes made to 393fdc10. This PR was likely responsible for a relatively large regression in dist-x86_64-msvc-alt builder times, from approximately 1.7 to 2.8 hours, bringing that builder into the pool of the slowest builders we currently have. This seems to be limited to the alt builder due to needing parallel-compiler enabled, likely leading to slow LLVM compilation for some reason.
-
- 16 2月, 2022 1 次提交
-
-
由 b-naber 提交于
-
- 15 2月, 2022 1 次提交
-
-
由 Nicholas Nethercote 提交于
Specifically, rename the `Const` struct as `ConstS` and re-introduce `Const` as this: ``` pub struct Const<'tcx>(&'tcx Interned<ConstS>); ``` This now matches `Ty` and `Predicate` more closely, including using pointer-based `eq` and `hash`. Notable changes: - `mk_const` now takes a `ConstS`. - `Const` was copy, despite being 48 bytes. Now `ConstS` is not, so need a we need separate arena for it, because we can't use the `Dropless` one any more. - Many `&'tcx Const<'tcx>`/`&Const<'tcx>` to `Const<'tcx>` changes - Many `ct.ty` to `ct.ty()` and `ct.val` to `ct.val()` changes. - Lots of tedious sigil fiddling.
-
- 13 1月, 2022 1 次提交
-
-
由 Tomasz Miąsko 提交于
-
- 09 9月, 2021 3 次提交