SIGN IN SIGN UP
rust-lang / rust UNCLAIMED

Empowering everyone to build reliable and efficient software.

0 0 124 Rust

Auto merge of #157094 - khyperia:UnevaluatedConstKind, r=BoxyUwU

introduce UnevaluatedConstKind

(no rush on this, boxy, if you get this notif, I know you're on break after rustweek)

Partially fixes https://github.com/rust-lang/project-const-generics/issues/98

- does not unify GCE `ConstKind::Expr` into Unevaluated, which is part of that issue
- does not do more advanced refactoring to take advantage of the new kind repr, only refactoring when things are very obviously able to take advantage
- does not change MIR's UnevaluatedConst to use UnevaluatedConstKind, as there's currently no benefit, and doing so instead overcomplicates many places. Possibly could be done in a followup, or I can do it here if desired.
- more advanced potentially behavior-changing changes can be done in a followup, as this diff is big enough as it is, IMO. same with merging GCE Exprs into Unevaluated.
  - (... but if this takes a while to get reviewed, I might plop some more stuff into this PR)
- I think it would be cute to rename UnevaluatedConst to AliasConst or something, to better reflect the parallels to AliasTy, but shrug, haha

r? @BoxyUwU
B
bors committed
6bdf43094fae65d298bc430362f116176cd25a3c