From 5d2b8191a5f5f6033da0a98f2eff885a508e574d Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 30 Jul 2025 20:26:30 +0200 Subject: [PATCH] Rust: Dont use constraint implementations for type parameters --- .../codeql/typeinference/internal/TypeInference.qll | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll index 1eaf6ef8e840..81c58bd008e2 100644 --- a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll +++ b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll @@ -944,7 +944,8 @@ module Make1 Input1> { not exists(countConstraintImplementations(type, constraint)) and conditionSatisfiesConstraintTypeAt(abs, sub, constraintMention, _, _) and resolveTypeMentionRoot(sub) = abs.getATypeParameter() and - constraint = resolveTypeMentionRoot(constraintMention) + constraint = resolveTypeMentionRoot(constraintMention) and + none() or countConstraintImplementations(type, constraint) > 0 and rootTypesSatisfaction(type, constraint, abs, sub, constraintMention) and