about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2022-02-02 14:24:45 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2022-02-15 16:19:59 +1100
commit64ae3ae0068a549ea35f6e19a62bb778ebaafe20 (patch)
tree602ce5146d25440d3b39a1e847c7f2bbd73c76bb /compiler/rustc_mir_transform/src
parentd071ce1d5774a6bd93a623df1a3cabf940b12b46 (diff)
downloadrust-64ae3ae0068a549ea35f6e19a62bb778ebaafe20.tar.gz
rust-64ae3ae0068a549ea35f6e19a62bb778ebaafe20.zip
Overhaul `Const`.
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.
Diffstat (limited to 'compiler/rustc_mir_transform/src')
0 files changed, 0 insertions, 0 deletions