@@ -651,6 +651,10 @@ pub enum ImplSource<'tcx, N> {
651651
652652 /// ImplSource for a `const Drop` implementation.
653653 ConstDestruct ( ImplSourceConstDestructData < N > ) ,
654+
655+ /// ImplSource for a `std::marker::Tuple` implementation.
656+ /// This has no nested predicates ever, so no data.
657+ Tuple ,
654658}
655659
656660impl < ' tcx , N > ImplSource < ' tcx , N > {
@@ -665,7 +669,8 @@ impl<'tcx, N> ImplSource<'tcx, N> {
665669 ImplSource :: Object ( d) => d. nested ,
666670 ImplSource :: FnPointer ( d) => d. nested ,
667671 ImplSource :: DiscriminantKind ( ImplSourceDiscriminantKindData )
668- | ImplSource :: Pointee ( ImplSourcePointeeData ) => Vec :: new ( ) ,
672+ | ImplSource :: Pointee ( ImplSourcePointeeData )
673+ | ImplSource :: Tuple => Vec :: new ( ) ,
669674 ImplSource :: TraitAlias ( d) => d. nested ,
670675 ImplSource :: TraitUpcasting ( d) => d. nested ,
671676 ImplSource :: ConstDestruct ( i) => i. nested ,
@@ -683,7 +688,8 @@ impl<'tcx, N> ImplSource<'tcx, N> {
683688 ImplSource :: Object ( d) => & d. nested ,
684689 ImplSource :: FnPointer ( d) => & d. nested ,
685690 ImplSource :: DiscriminantKind ( ImplSourceDiscriminantKindData )
686- | ImplSource :: Pointee ( ImplSourcePointeeData ) => & [ ] ,
691+ | ImplSource :: Pointee ( ImplSourcePointeeData )
692+ | ImplSource :: Tuple => & [ ] ,
687693 ImplSource :: TraitAlias ( d) => & d. nested ,
688694 ImplSource :: TraitUpcasting ( d) => & d. nested ,
689695 ImplSource :: ConstDestruct ( i) => & i. nested ,
@@ -750,6 +756,7 @@ impl<'tcx, N> ImplSource<'tcx, N> {
750756 nested : i. nested . into_iter ( ) . map ( f) . collect ( ) ,
751757 } )
752758 }
759+ ImplSource :: Tuple => ImplSource :: Tuple ,
753760 }
754761 }
755762}
0 commit comments