Introduce `structurally_normalize_const`, use it in `rustc_hir_typeck`
Introduces `structurally_normalize_const` to typecking to separate the "eval a const" step from the "try to turn a valtree into a target usize" in HIR typeck, where we may still have infer vars and stuff around.
I also changed `check_expr_repeat` to move a double evaluation of a const into a single one. I'll leave inline comments.
r? ```@BoxyUwU```
I hesitated to really test this on the new solver where it probably matters for unevaluated consts. If you're worried about the side-effects, I'd be happy to craft some more tests 😄
|
||
|---|---|---|
| .. | ||
| arena.rs | ||
| def.rs | ||
| def_path_hash_map.rs | ||
| definitions.rs | ||
| diagnostic_items.rs | ||
| hir.rs | ||
| hir_id.rs | ||
| intravisit.rs | ||
| lang_items.rs | ||
| lib.rs | ||
| pat_util.rs | ||
| stable_hash_impls.rs | ||
| target.rs | ||
| tests.rs | ||
| weak_lang_items.rs | ||