Rust: Strengthen isNotInstantiationOf uses

This commit is contained in:
Tom Hvitved
2025-12-10 20:44:27 +01:00
parent f30a3b3712
commit d5a95a8099
5 changed files with 40 additions and 203 deletions

View File

@@ -1430,11 +1430,19 @@ private module MethodResolution {
* Holds if the method inside `i` with matching name and arity can be ruled
* out as a target of this call, because the candidate receiver type represented
* by `derefChain` and `borrow` is incompatible with the `self` parameter type.
*
* The types are incompatible because they disagree on a concrete type somewhere
* inside `root`.
*/
pragma[nomagic]
private predicate hasIncompatibleTarget(ImplOrTraitItemNode i, string derefChain, boolean borrow) {
ReceiverIsInstantiationOfSelfParam::argIsNotInstantiationOf(MkMethodCallCand(this, derefChain,
borrow), i, _)
private predicate hasIncompatibleTarget(
ImplOrTraitItemNode i, string derefChain, boolean borrow, Type root
) {
exists(TypePath path |
ReceiverIsInstantiationOfSelfParam::argIsNotInstantiationOf(MkMethodCallCand(this,
derefChain, borrow), i, _, path) and
path.isCons(root.getATypeParameter(), _)
)
}
/**
@@ -1448,7 +1456,7 @@ private module MethodResolution {
ImplItemNode impl, string derefChain, boolean borrow
) {
ReceiverIsNotInstantiationOfBlanketLikeSelfParam::argIsNotInstantiationOf(MkMethodCallCand(this,
derefChain, borrow), impl, _)
derefChain, borrow), impl, _, _)
or
ReceiverSatisfiesBlanketLikeConstraint::dissatisfiesBlanketConstraint(MkMethodCallCand(this,
derefChain, borrow), impl)
@@ -1479,7 +1487,7 @@ private module MethodResolution {
forall(ImplOrTraitItemNode i |
methodCallNonBlanketCandidate(this, _, i, _, strippedTypePath, strippedType)
|
this.hasIncompatibleTarget(i, derefChain, borrow)
this.hasIncompatibleTarget(i, derefChain, borrow, strippedType)
)
}
@@ -1818,7 +1826,7 @@ private module MethodResolution {
*/
pragma[nomagic]
private predicate hasIncompatibleInherentTarget(Impl impl) {
ReceiverIsNotInstantiationOfInherentSelfParam::argIsNotInstantiationOf(this, impl, _)
ReceiverIsNotInstantiationOfInherentSelfParam::argIsNotInstantiationOf(this, impl, _, _)
}
/**

View File

@@ -256,8 +256,10 @@ module ArgIsInstantiationOf<
ArgSubstIsInstantiationOf::isInstantiationOf(arg, i, constraint)
}
predicate argIsNotInstantiationOf(Arg arg, ImplOrTraitItemNode i, AssocFunctionType constraint) {
ArgSubstIsInstantiationOf::isNotInstantiationOf(arg, i, constraint)
predicate argIsNotInstantiationOf(
Arg arg, ImplOrTraitItemNode i, AssocFunctionType constraint, TypePath path
) {
ArgSubstIsInstantiationOf::isNotInstantiationOf(arg, i, constraint, path)
}
}

View File

@@ -3064,7 +3064,7 @@ mod literal_overlap {
pub fn f() -> usize {
let mut x = 0;
x = x.f(); // $ target=usizef $ SPURIOUS: target=i32f target=Reff
x = x.f(); // $ target=usizef $ SPURIOUS: target=i32f
x
}
}

View File

@@ -11013,203 +11013,17 @@ inferType
| main.rs:3065:25:3069:5 | { ... } | | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:17:3066:17 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3066:21:3066:21 | 0 | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:9:3067:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:9:3067:17 | ... = ... | | {EXTERNAL LOCATION} | () |
| main.rs:3067:13:3067:13 | x | | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:13 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3067:13:3067:17 | x.f() | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | i32 |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | usize |
| main.rs:3068:9:3068:9 | x | TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef.TRef | {EXTERNAL LOCATION} | & |
| main.rs:3077:11:3112:1 | { ... } | | {EXTERNAL LOCATION} | () |
| main.rs:3078:5:3078:21 | ...::f(...) | | {EXTERNAL LOCATION} | () |
| main.rs:3079:5:3079:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo |