================
@@ -172,7 +170,8 @@ static bool isStrictSubset(const VariantMatchInfo &VMI0,
for (unsigned Bit : VMI0.RequiredTraits.set_bits())
if (!VMI1.RequiredTraits.test(Bit))
return false;
- if (!isSubset<TraitProperty>(VMI0.ConstructTraits, VMI1.ConstructTraits))
+ if (!isOrderedSubset<TraitProperty>(VMI0.ConstructTraits,
----------------
chichunchen wrote:
Thanks, this is also tracked in #233036. The `RequiredTraits.count()` guard is
on main: the issue's `repeated_construct_subset` example already ties at 8 and
picks the wrong variant without this PR's scoring changes. Choosing the
highest-valued construct match makes such ties more common.
https://github.com/llvm/llvm-project/pull/231668
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits