@@ -634,6 +634,10 @@ pub enum ImplSource<'tcx, N> {
634634
635635 /// ImplSource for a `const Drop` implementation.
636636 ConstDestruct ( ImplSourceConstDestructData < N > ) ,
637+
638+ /// ImplSource for a `std::marker::Tuple` implementation.
639+ /// This has no nested predicates ever, so no data.
640+ Tuple ,
637641}
638642
639643impl < ' tcx , N > ImplSource < ' tcx , N > {
@@ -648,7 +652,8 @@ impl<'tcx, N> ImplSource<'tcx, N> {
648652 ImplSource :: Object ( d) => d. nested ,
649653 ImplSource :: FnPointer ( d) => d. nested ,
650654 ImplSource :: DiscriminantKind ( ImplSourceDiscriminantKindData )
651- | ImplSource :: Pointee ( ImplSourcePointeeData ) => Vec :: new ( ) ,
655+ | ImplSource :: Pointee ( ImplSourcePointeeData )
656+ | ImplSource :: Tuple => Vec :: new ( ) ,
652657 ImplSource :: TraitAlias ( d) => d. nested ,
653658 ImplSource :: TraitUpcasting ( d) => d. nested ,
654659 ImplSource :: ConstDestruct ( i) => i. nested ,
@@ -666,7 +671,8 @@ impl<'tcx, N> ImplSource<'tcx, N> {
666671 ImplSource :: Object ( d) => & d. nested ,
667672 ImplSource :: FnPointer ( d) => & d. nested ,
668673 ImplSource :: DiscriminantKind ( ImplSourceDiscriminantKindData )
669- | ImplSource :: Pointee ( ImplSourcePointeeData ) => & [ ] ,
674+ | ImplSource :: Pointee ( ImplSourcePointeeData )
675+ | ImplSource :: Tuple => & [ ] ,
670676 ImplSource :: TraitAlias ( d) => & d. nested ,
671677 ImplSource :: TraitUpcasting ( d) => & d. nested ,
672678 ImplSource :: ConstDestruct ( i) => & i. nested ,
@@ -733,6 +739,7 @@ impl<'tcx, N> ImplSource<'tcx, N> {
733739 nested : i. nested . into_iter ( ) . map ( f) . collect ( ) ,
734740 } )
735741 }
742+ ImplSource :: Tuple => ImplSource :: Tuple ,
736743 }
737744 }
738745}
0 commit comments