@@ -837,13 +837,15 @@ MutableTerm PropertyMap::computeConstraintTermForTypeWitness(
837837 //
838838 // Where S[n] is the nth substitution term.
839839
840- auto result = Context.getRelativeTermForType (typeWitness, substitutions);
840+ auto result = Context.getRelativeTermForType (
841+ typeWitness, substitutions);
841842
842- RewriteSystem::TypeWitness witness (Term::get (subjectType, Context),
843- Term::get (result, Context));
844- unsigned witnessID = System.recordTypeWitness (witness);
845- path.add (RewriteStep::forAbstractTypeWitness (
846- witnessID, /* inverse=*/ false ));
843+ unsigned relationID = System.recordRelation (
844+ Term::get (result, Context),
845+ Term::get (subjectType, Context));
846+ path.add (RewriteStep::forRelation (
847+ /* startOffset=*/ 0 , relationID,
848+ /* inverse=*/ false ));
847849
848850 return result;
849851 }
@@ -862,11 +864,11 @@ MutableTerm PropertyMap::computeConstraintTermForTypeWitness(
862864 props->getConcreteType () == typeWitness) {
863865 auto result = props->getKey ();
864866
865- RewriteSystem::TypeWitness witness ( Term::get (subjectType, Context),
866- result );
867- unsigned witnessID = System. recordTypeWitness (witness);
868- path. add ( RewriteStep::forAbstractTypeWitness (
869- witnessID, /* inverse=*/ false ));
867+ unsigned relationID = System. recordRelation (
868+ result, Term::get (subjectType, Context) );
869+ path. add ( RewriteStep::forRelation (
870+ /* startOffset= */ 0 , relationID,
871+ /* inverse=*/ false ));
870872
871873 if (Debug.contains (DebugFlags::ConcretizeNestedTypes)) {
872874 llvm::dbgs () << " ^^ Type witness can re-use property bag of "
0 commit comments