@@ -644,52 +644,26 @@ impl<I: Interner> AliasTerm<I> {
644644 }
645645
646646 pub fn to_term ( self , interner : I ) -> I :: Term {
647- match self . kind ( interner) {
648- AliasTermKind :: ProjectionTy => Ty :: new_alias (
649- interner,
650- ty:: AliasTy {
651- kind : ty:: AliasTyKind :: Projection { def_id : self . def_id } ,
652- args : self . args ,
653- _use_alias_ty_new_instead : ( ) ,
654- } ,
655- )
656- . into ( ) ,
657- AliasTermKind :: InherentTy => Ty :: new_alias (
658- interner,
659- ty:: AliasTy {
660- kind : ty:: AliasTyKind :: Inherent { def_id : self . def_id } ,
661- args : self . args ,
662- _use_alias_ty_new_instead : ( ) ,
663- } ,
664- )
665- . into ( ) ,
666- AliasTermKind :: OpaqueTy => Ty :: new_alias (
667- interner,
668- ty:: AliasTy {
669- kind : ty:: AliasTyKind :: Opaque { def_id : self . def_id } ,
670- args : self . args ,
671- _use_alias_ty_new_instead : ( ) ,
672- } ,
673- )
674- . into ( ) ,
675- AliasTermKind :: FreeTy => Ty :: new_alias (
676- interner,
677- ty:: AliasTy {
678- kind : ty:: AliasTyKind :: Free { def_id : self . def_id } ,
679- args : self . args ,
680- _use_alias_ty_new_instead : ( ) ,
681- } ,
682- )
683- . into ( ) ,
647+ let alias_ty_kind = match self . kind ( interner) {
684648 AliasTermKind :: FreeConst
685649 | AliasTermKind :: InherentConst
686650 | AliasTermKind :: UnevaluatedConst
687- | AliasTermKind :: ProjectionConst => I :: Const :: new_unevaluated (
688- interner,
689- ty:: UnevaluatedConst :: new ( self . def_id . try_into ( ) . unwrap ( ) , self . args ) ,
690- )
691- . into ( ) ,
692- }
651+ | AliasTermKind :: ProjectionConst => {
652+ return I :: Const :: new_unevaluated (
653+ interner,
654+ ty:: UnevaluatedConst :: new ( self . def_id . try_into ( ) . unwrap ( ) , self . args ) ,
655+ )
656+ . into ( ) ;
657+ }
658+
659+ AliasTermKind :: ProjectionTy => ty:: Projection { def_id : self . def_id } ,
660+ AliasTermKind :: InherentTy => ty:: Inherent { def_id : self . def_id } ,
661+ AliasTermKind :: OpaqueTy => ty:: Opaque { def_id : self . def_id } ,
662+ AliasTermKind :: FreeTy => ty:: Free { def_id : self . def_id } ,
663+ } ;
664+
665+ Ty :: new_alias ( interner, ty:: AliasTy :: new_from_args ( interner, alias_ty_kind, self . args ) )
666+ . into ( )
693667 }
694668}
695669
0 commit comments