Skip to content

Conversation

hvitved
Copy link
Contributor

@hvitved hvitved commented Aug 25, 2025

No description provided.

@github-actions github-actions bot added the Rust Pull requests that update Rust code label Aug 25, 2025
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@hvitved hvitved force-pushed the rust/type-inference-method-call-resolution-rework branch 2 times, most recently from e4cfb86 to 4a8c37c Compare August 26, 2025 18:30
)
or
// todo: add special case for operations with implicit borrows

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
class State = string;

// private newtype TAccess =
// TMethodCallAccess(MethodCallDerefChainRef mcd) or

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
// // t0 = getTypeQualifier(this, path0) and
// // apos.getArgumentPosition(false).isSelf() and
// // exists(state)
// // else (

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
// )
// }
// bindingset[state]
// pragma[nomagic]

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
// .getParameterType(TArgumentDeclarationPosition(apos.getArgumentPosition()),
// TypePath::nil())
// |
// if selfParamType = TRefType()

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.

pragma[nomagic]
private Type getACandidateReceiverTypeAtNoMatch(TypePath path, string derefChain) {
this.receiverImplicitlyBorrowed() and

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
private Type getACandidateReceiverTypeAtRef(TypePath path, string derefChain) {
// exists(TypePath path0, Type t0, string derefChain |
// t0 = this.getACandidateReceiverTypeAt(path0, derefChain)
// |

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.

pragma[nomagic]
private Type testgetACandidateReceiverTypeAtRefNoMatch2(
TypePath path, string derefChain, Type rootType, string name, int arity

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.

pragma[nomagic]
private Type testgetACandidateReceiverTypeRefsAt(TypePath path, string derefChain) {
result = this.getACandidateReceiverTypeRefsAt(path, derefChain) and

Check warning

Code scanning / CodeQL

Singleton set literal

Singleton set literal can be replaced by its member.
@@ -1087,10 +1094,11 @@
* For example, if this access is the method call `M(42)`, then the inferred
* type at argument position `0` is `int`.
*/
Type getInferredType(AccessPosition apos, TypePath path);
bindingset[state]

Check warning

Code scanning / CodeQL

Missing QLDoc for parameter

The QLDoc has no documentation for state, but the QLDoc mentions int
@hvitved hvitved force-pushed the rust/type-inference-method-call-resolution-rework branch from 4a8c37c to e75d79e Compare August 27, 2025 15:34
if
apos.isReturn() and
(this instanceof DerefExpr or this instanceof IndexExpr)
then (

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
}

pragma[nomagic]
private Type testgetACandidateReceiverTypeAtNoMatch(TypePath path, string derefChain) {

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
}

pragma[nomagic]
private Type testgetACandidateReceiverTypeAtNoMatch(

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
// not exists(resolveNonImplMethodCallTarget(rootType, name, arity))
)
}

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
)
}

private Type testgetTypeAt(TypePath path, ImplOrTraitItemNode i) {

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
}

pragma[nomagic]
private predicate methodCallHasTraitCandidate(

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
)
)
}

bindingset[trait, name]
pragma[inline_late]
private Function getImplTraitMethod(ImplTraitReturnType trait, string name) {
result = getMethodSuccessor(trait.getImplTraitTypeRepr(), name)
private Function getImplTraitMethod(ImplTraitReturnType trait, string name, int arity) {

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
}

bindingset[traitObject, name]
pragma[inline_late]
private Function getDynTraitMethod(DynTraitType traitObject, string name) {
result = getMethodSuccessor(traitObject.getTrait(), name)
private Function getDynTraitMethod(DynTraitType traitObject, string name, int arity) {

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.
or
bindingset[t, name, arity]
pragma[inline_late]
private Function resolveNonImplMethodCallTarget(Type t, string name, int arity) {

Check warning

Code scanning / CodeQL

Dead code

This code is never used, and it's not publicly exported.

/**
* Holds if `constraint` might occur as the third argument of
* `potentialInstantiationOf`. Defaults to simply projecting the third
* argument of `potentialInstantiationOf`.
*/
default predicate relevantTypeMention(TypeMention tm) { potentialInstantiationOf(_, _, tm) }
default predicate relevantTypeMention(Constraint tm) { potentialInstantiationOf(_, _, tm) }

Check warning

Code scanning / CodeQL

Missing QLDoc for parameter

The QLDoc has no documentation for tm, but the QLDoc mentions constraint
@hvitved hvitved force-pushed the rust/type-inference-method-call-resolution-rework branch 2 times, most recently from 660cedb to 80b6846 Compare August 28, 2025 19:00
@hvitved hvitved force-pushed the rust/type-inference-method-call-resolution-rework branch from 80b6846 to 8bbe395 Compare August 29, 2025 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant