Rust: Improve type inference for closures#21206
Conversation
b5bd829 to
29951e8
Compare
d40ec21 to
c337f51
Compare
c337f51 to
888f87a
Compare
|
|
||
| private module InvokedClosureSatisfiesConstraintInput implements | ||
| SatisfiesConstraintInputSig<InvokedClosureExpr> | ||
| private module InvokedClosureSatisfiesTypeInput implements SatisfiesTypeInputSig<InvokedClosureExpr> |
Check warning
Code scanning / CodeQL
Dead code Warning
| hasTypeConstraint(tt, type, constraint) and | ||
| rootTypesSatisfaction(type, constraint, abs, cond, _) and | ||
| predicate potentialInstantiationOf(Term term, TypeAbstraction abs, TypeMention cond) { | ||
| exists(Constraint constraint, Type type, Type constraintRoot | |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable Warning
| Term term, Constraint constraint, TypeAbstraction abs, TypeMention sub, TypePath path, | ||
| Type t | ||
| ) { | ||
| exists(Type constraintRoot, TypeMention constraintMention, boolean ambigous | |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable Warning
| ) | ||
| } | ||
|
|
||
| predicate satisfiesConstraintTypeThrough( |
Check warning
Code scanning / CodeQL
Dead code Warning
| ) { | ||
| // not exists(getTypeArgument(a, target, tp, _)) and | ||
| exists( | ||
| TypeAbstraction abs, TypeMention constraint, TypePath pathToTypeParamInSub, |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable Warning
| // not exists(getTypeArgument(a, target, tp, _)) and | ||
| exists( | ||
| TypeAbstraction abs, TypeMention constraint, TypePath pathToTypeParamInSub, | ||
| TypePath pathToTp, TypePath pathToTp2, TypePath suffix, TypeParameter tp2, TypePath path3, |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable Warning
| // not exists(getTypeArgument(a, target, tp, _)) and | ||
| exists( | ||
| TypeAbstraction abs, TypeMention constraint, TypePath pathToTypeParamInSub, | ||
| TypePath pathToTp, TypePath pathToTp2, TypePath suffix, TypeParameter tp2, TypePath path3, |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable Warning
| // not exists(getTypeArgument(a, target, tp, _)) and | ||
| exists( | ||
| TypeMention constraint, TypePath pathToTypeParamInSub, TypePath pathToT, | ||
| TypeParameter tp2, TypePath path4, TypePath prefix, TypeParameter constrainedTp, |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable Warning
No description provided.