StructsΒ§
- Normalizer π
- Sort
Normalizer π - TVar
Subst π
EnumsΒ§
TraitsΒ§
FunctionsΒ§
- get_
impl_ πdata_ for_ alias_ reft - normalize_
alias_ πreft - Normalizes an
AliasReft. This uses the trait solver to find theImplSourceUserDefinedDataand uses theargsthere, which we map back to Flux via refining. This loses refinements, but thatβs fine becauseAliasReftshould not rely on refinements for trait solving. - normalize_
projection_ πty_ with_ rustc - Normalize an
rty::AliasTyby converting it to rustc, normalizing it using rustc api, and then mapping the result back torty. This will lose refinements and it should only be used to normalize sorts because they should only contain unrefined types. However, we are also using it as a hack to normalize types in cases where we fail to collect a candidate, this is unsound and should be removed. - structurally_
normalize_ expr - Do one step of normalization, unfolding associated refinements if they are concrete.