fold_with not super_fold_with in TypeFoldable impl for Predicate

This commit is contained in:
Jack Huey 2021-01-04 01:14:07 -05:00
parent 4cd6f85a07
commit 876192e8cd
2 changed files with 2 additions and 2 deletions

View File

@ -1017,7 +1017,7 @@ fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<V::Br
impl<'tcx> TypeFoldable<'tcx> for ty::Predicate<'tcx> { impl<'tcx> TypeFoldable<'tcx> for ty::Predicate<'tcx> {
fn super_fold_with<F: TypeFolder<'tcx>>(self, folder: &mut F) -> Self { fn super_fold_with<F: TypeFolder<'tcx>>(self, folder: &mut F) -> Self {
let new = self.inner.kind.super_fold_with(folder); let new = self.inner.kind.fold_with(folder);
folder.tcx().reuse_or_mk_predicate(self, new) folder.tcx().reuse_or_mk_predicate(self, new)
} }

View File

@ -1,4 +1,4 @@
error: cannot specialize on `ForAll(Binder(ProjectionPredicate(ProjectionTy { substs: [V], item_def_id: DefId(0:6 ~ repeated_projection_type[317d]::Id::This) }, (I,))))` error: cannot specialize on `Binder(ProjectionPredicate(ProjectionTy { substs: [V], item_def_id: DefId(0:6 ~ repeated_projection_type[317d]::Id::This) }, (I,)))`
--> $DIR/repeated_projection_type.rs:19:1 --> $DIR/repeated_projection_type.rs:19:1
| |
LL | / impl<I, V: Id<This = (I,)>> X for V { LL | / impl<I, V: Id<This = (I,)>> X for V {