Skip to content

Commit 53ef8be

Browse files
committed
Auto merge of #154758 - WaffleLapkin:aliassss, r=lcnr
`ty::Alias` refactor This PR changes the following alias-related types from this: ```rust pub enum AliasTyKind { Projection, Inherent, Opaque, Free, } pub struct AliasTy<I: Interner> { pub args: I::GenericArgs, pub def_id: I::DefId, } pub enum TyKind<I: Interner> { ... Alias(AliasTyKind, AliasTy<I>), } ``` Into this: ```rust pub enum AliasTyKind<I: Interner> { Projection { def_id: I::DefId }, Inherent { def_id: I::DefId }, Opaque { def_id: I::DefId }, Free { def_id: I::DefId }, } pub struct AliasTy<I: Interner> { pub args: I::GenericArgs, pub kind: AliasTyKind<I>, } pub enum TyKind<I: Interner> { ... Alias(AliasTy<I>), } ``` ... and then does a thousand other changes to accommodate for this change everywhere. This brings us closer to being able to have `AliasTyKind`s which don't require a `DefId` (and thus can be more easily created, etc). Although notably we depend on both `AliasTyKind -> DefId` and `DefId -> AliasTyKind` conversions in a bunch of places still. r? lcnr ---- A lot of these changes were done either by search & replace (via `ast-grep`) or on auto pilot, so I'm not quite sure I didn't mess up somewhere, but at least tests pass...
2 parents a51f720 + 17d8cbf commit 53ef8be

0 file changed

File tree

    0 commit comments

    Comments
     (0)