From d655302465457c5d3285ae5339201a0769cc38dc Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 5 Sep 2024 11:24:19 -0700 Subject: Support `where` clause and type equality constraint. (#4986) * Support `where` clause. * Fix. * Fix parser. * Enhance test to cover traditional __generic syntax. * Update user-guide. * Support `where` clause on associatedtype. * Fix. * Put in more comments. --- source/slang/slang-syntax.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source/slang/slang-syntax.cpp') diff --git a/source/slang/slang-syntax.cpp b/source/slang/slang-syntax.cpp index a55f0eb1a..ec7169e04 100644 --- a/source/slang/slang-syntax.cpp +++ b/source/slang/slang-syntax.cpp @@ -338,7 +338,7 @@ Index getFilterCountImpl(const ReflectClassInfo& clsInfo, MemberFilterStyle filt RefPtr result = new WitnessTable(); result->baseType = as(newBaseType); result->witnessedType = as(newWitnessedType); - for (auto requirement : m_requirements) + for (auto requirement : m_requirementDictionary) { auto newRequirement = requirement.value.specialize(astBuilder, subst); result->add(requirement.key, newRequirement); @@ -500,7 +500,6 @@ Index getFilterCountImpl(const ReflectClassInfo& clsInfo, MemberFilterStyle filt void WitnessTable::add(Decl* decl, RequirementWitness const& witness) { - m_requirements.add(KeyValuePair(decl, witness)); m_requirementDictionary.add(decl, witness); } -- cgit v1.2.3