about summary refs log tree commit diff
path: root/compiler/rustc_interface/src/errors.rs
diff options
context:
space:
mode:
authorAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2022-09-17 21:35:47 +0300
committerAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2023-01-07 13:38:38 +0300
commitd227506683e846cbeb872e089d660187a7a6041f (patch)
tree97757eecf7d6c28f320b8cfdf1bc8601be4f713f /compiler/rustc_interface/src/errors.rs
parent93bf84c9021350608607330175d0513f71f0f967 (diff)
downloadrust-d227506683e846cbeb872e089d660187a7a6041f.tar.gz
rust-d227506683e846cbeb872e089d660187a7a6041f.zip
don't normalize in astconv
We delay projection normalization to further stages in order to
register user type annotations before normalization in HIR typeck.

There are two consumers of astconv: ItemCtxt and FnCtxt.
The former already expects unnormalized types from astconv, see its
AstConv trait impl.
The latter needs `RawTy` for a cleaner interface.

Unfortunately astconv still needs the normalization machinery in
order to resolve enum variants that have projections in the self type,
e.g. `<<T as Trait>::Assoc>::StructVariant {}`.
This is why `AstConv::normalize_ty_2` is necessary.
Diffstat (limited to 'compiler/rustc_interface/src/errors.rs')
0 files changed, 0 insertions, 0 deletions