@@ -232,14 +232,9 @@ private module Identity {
232232 */
233233 pragma [ nomagic]
234234 private predicate convTypeArguments ( Type fromTypeArgument , Type toTypeArgument , int i ) {
235- exists ( int j |
236- fromTypeArgument = getTypeArgumentRanked ( _, _, i ) and
237- toTypeArgument = getTypeArgumentRanked ( _, _, j ) and
238- i <= j and
239- j <= i
240- |
241- convIdentity ( fromTypeArgument , toTypeArgument )
242- )
235+ fromTypeArgument = getTypeArgumentRanked ( _, _, pragma [ only_bind_into ] ( i ) ) and
236+ toTypeArgument = getTypeArgumentRanked ( _, _, pragma [ only_bind_into ] ( i ) ) and
237+ convIdentity ( fromTypeArgument , toTypeArgument )
243238 }
244239
245240 pragma [ nomagic]
@@ -929,19 +924,16 @@ private module Variance {
929924 private predicate convTypeArguments (
930925 TypeArgument fromTypeArgument , TypeArgument toTypeArgument , int i , TVariance v
931926 ) {
932- exists ( int j |
933- fromTypeArgument = getTypeArgumentRanked ( _, _, i , _) and
934- toTypeArgument = getTypeArgumentRanked ( _, _, j , _) and
935- i <= j and
936- j <= i
937- |
927+ fromTypeArgument = getTypeArgumentRanked ( _, _, pragma [ only_bind_into ] ( i ) , _) and
928+ toTypeArgument = getTypeArgumentRanked ( _, _, pragma [ only_bind_into ] ( i ) , _) and
929+ (
938930 convIdentity ( fromTypeArgument , toTypeArgument ) and
939931 v = TNone ( )
940932 or
941- convRefTypeTypeArgumentOut ( fromTypeArgument , toTypeArgument , j ) and
933+ convRefTypeTypeArgumentOut ( fromTypeArgument , toTypeArgument , i ) and
942934 v = TOut ( )
943935 or
944- convRefTypeTypeArgumentIn ( toTypeArgument , fromTypeArgument , j ) and
936+ convRefTypeTypeArgumentIn ( toTypeArgument , fromTypeArgument , i ) and
945937 v = TIn ( )
946938 )
947939 }
0 commit comments