Rust: Restrict type propagation into receivers

This commit is contained in:
Tom Hvitved
2026-02-17 08:59:44 +01:00
parent 8a051d7e57
commit e587541e55
2 changed files with 75 additions and 397 deletions

View File

@@ -778,13 +778,6 @@ private predicate typeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePat
prefix1 = TypePath::singleton(getArrayTypeParameter()) and
prefix2.isEmpty()
or
exists(Struct s |
n2 = [n1.(RangeExpr).getStart(), n1.(RangeExpr).getEnd()] and
prefix1 = TypePath::singleton(TTypeParamTypeParameter(s.getGenericParamList().getATypeParam())) and
prefix2.isEmpty() and
s = getRangeType(n1)
)
or
exists(ClosureExpr ce, int index |
n1 = ce and
n2 = ce.getParam(index).getPat() and
@@ -829,6 +822,12 @@ private predicate lubCoercion(AstNode parent, AstNode child, TypePath prefix) {
bodyReturns(parent, child) and
strictcount(Expr e | bodyReturns(parent, e)) > 1 and
prefix.isEmpty()
or
exists(Struct s |
child = [parent.(RangeExpr).getStart(), parent.(RangeExpr).getEnd()] and
prefix = TypePath::singleton(TTypeParamTypeParameter(s.getGenericParamList().getATypeParam())) and
s = getRangeType(parent)
)
}
/**
@@ -1031,10 +1030,10 @@ private module StructExprMatchingInput implements MatchingInputSig {
private module StructExprMatching = Matching<StructExprMatchingInput>;
pragma[nomagic]
private Type inferStructExprType0(AstNode n, boolean isReturn, TypePath path) {
private Type inferStructExprType0(AstNode n, FunctionPosition pos, TypePath path) {
exists(StructExprMatchingInput::Access a, StructExprMatchingInput::AccessPosition apos |
n = a.getNodeAt(apos) and
if apos.isStructPos() then isReturn = true else isReturn = false
if apos.isStructPos() then pos.isReturn() else pos.asPosition() = 0 // the acutal position doesn't matter, as long as it is positional
|
result = StructExprMatching::inferAccessType(a, apos, path)
or
@@ -1113,6 +1112,25 @@ private Trait getCallExprTraitQualifier(CallExpr ce) {
* Provides functionality related to context-based typing of calls.
*/
private module ContextTyping {
/**
* Holds if `f` mentions type parameter `tp` at some non-return position,
* possibly via a constraint on another mentioned type parameter.
*/
pragma[nomagic]
private predicate assocFunctionMentionsTypeParameterAtNonRetPos(
ImplOrTraitItemNode i, Function f, TypeParameter tp
) {
exists(FunctionPosition nonRetPos |
not nonRetPos.isReturn() and
tp = getAssocFunctionTypeAt(f, i, nonRetPos, _)
)
or
exists(TypeParameter mid |
assocFunctionMentionsTypeParameterAtNonRetPos(i, f, mid) and
tp = getATypeParameterConstraint(mid, _)
)
}
/**
* Holds if the return type of the function `f` inside `i` at `path` is type
* parameter `tp`, and `tp` does not appear in the type of any parameter of
@@ -1129,12 +1147,7 @@ private module ContextTyping {
) {
pos.isReturn() and
tp = getAssocFunctionTypeAt(f, i, pos, path) and
not exists(FunctionPosition nonResPos | not nonResPos.isReturn() |
tp = getAssocFunctionTypeAt(f, i, nonResPos, _)
or
// `Self` types in traits implicitly mention all type parameters of the trait
getAssocFunctionTypeAt(f, i, nonResPos, _) = TSelfTypeParameter(i)
)
not assocFunctionMentionsTypeParameterAtNonRetPos(i, f, tp)
}
/**
@@ -1184,7 +1197,7 @@ private module ContextTyping {
pragma[nomagic]
private predicate hasUnknownType(AstNode n) { hasUnknownTypeAt(n, _) }
signature Type inferCallTypeSig(AstNode n, boolean isReturn, TypePath path);
signature Type inferCallTypeSig(AstNode n, FunctionPosition pos, TypePath path);
/**
* Given a predicate `inferCallType` for inferring the type of a call at a given
@@ -1194,19 +1207,34 @@ private module ContextTyping {
*/
module CheckContextTyping<inferCallTypeSig/3 inferCallType> {
pragma[nomagic]
private Type inferCallTypeFromContextCand(AstNode n, TypePath prefix, TypePath path) {
result = inferCallType(n, false, path) and
private Type inferCallNonReturnType(AstNode n, FunctionPosition pos, TypePath path) {
result = inferCallType(n, pos, path) and
not pos.isReturn()
}
pragma[nomagic]
private Type inferCallNonReturnType(
AstNode n, FunctionPosition pos, TypePath prefix, TypePath path
) {
result = inferCallNonReturnType(n, pos, path) and
hasUnknownType(n) and
prefix = path.getAPrefix()
}
pragma[nomagic]
Type check(AstNode n, TypePath path) {
result = inferCallType(n, true, path)
result = inferCallType(n, any(FunctionPosition pos | pos.isReturn()), path)
or
exists(TypePath prefix |
result = inferCallTypeFromContextCand(n, prefix, path) and
exists(FunctionPosition pos, TypePath prefix |
result = inferCallNonReturnType(n, pos, prefix, path) and
hasUnknownTypeAt(n, prefix)
|
pos.isPosition()
or
// Never propagate type information directly into the receiver, since its type
// must already have been known in order to resolve the call
pos.isSelf() and
not prefix.isEmpty()
)
}
}
@@ -2607,12 +2635,9 @@ private Type inferMethodCallType0(
}
pragma[nomagic]
private Type inferMethodCallTypeNonSelf(AstNode n, boolean isReturn, TypePath path) {
exists(MethodCallMatchingInput::AccessPosition apos |
result = inferMethodCallType0(_, apos, n, _, path) and
not apos.isSelf() and
if apos.isReturn() then isReturn = true else isReturn = false
)
private Type inferMethodCallTypeNonSelf(AstNode n, FunctionPosition pos, TypePath path) {
result = inferMethodCallType0(_, pos, n, _, path) and
not pos.isSelf()
}
/**
@@ -2664,11 +2689,11 @@ private Type inferMethodCallTypeSelf(AstNode n, DerefChain derefChain, TypePath
)
}
private Type inferMethodCallTypePreCheck(AstNode n, boolean isReturn, TypePath path) {
result = inferMethodCallTypeNonSelf(n, isReturn, path)
private Type inferMethodCallTypePreCheck(AstNode n, FunctionPosition pos, TypePath path) {
result = inferMethodCallTypeNonSelf(n, pos, path)
or
result = inferMethodCallTypeSelf(n, DerefChain::nil(), path) and
isReturn = false
pos.isSelf()
}
/**
@@ -3301,14 +3326,11 @@ private module NonMethodCallMatchingInput implements MatchingInputSig {
private module NonMethodCallMatching = Matching<NonMethodCallMatchingInput>;
pragma[nomagic]
private Type inferNonMethodCallType0(AstNode n, boolean isReturn, TypePath path) {
exists(NonMethodCallMatchingInput::Access a, NonMethodCallMatchingInput::AccessPosition apos |
n = a.getNodeAt(apos) and
if apos.isReturn() then isReturn = true else isReturn = false
|
result = NonMethodCallMatching::inferAccessType(a, apos, path)
private Type inferNonMethodCallType0(AstNode n, FunctionPosition pos, TypePath path) {
exists(NonMethodCallMatchingInput::Access a | n = a.getNodeAt(pos) |
result = NonMethodCallMatching::inferAccessType(a, pos, path)
or
a.hasUnknownTypeAt(apos, path) and
a.hasUnknownTypeAt(pos, path) and
result = TUnknownType()
)
}
@@ -3379,11 +3401,10 @@ private module OperationMatchingInput implements MatchingInputSig {
private module OperationMatching = Matching<OperationMatchingInput>;
pragma[nomagic]
private Type inferOperationType0(AstNode n, boolean isReturn, TypePath path) {
exists(OperationMatchingInput::Access a, OperationMatchingInput::AccessPosition apos |
n = a.getNodeAt(apos) and
result = OperationMatching::inferAccessType(a, apos, path) and
if apos.isReturn() then isReturn = true else isReturn = false
private Type inferOperationType0(AstNode n, FunctionPosition pos, TypePath path) {
exists(OperationMatchingInput::Access a |
n = a.getNodeAt(pos) and
result = OperationMatching::inferAccessType(a, pos, path)
)
}
@@ -3716,11 +3737,13 @@ private module AwaitSatisfiesConstraintInput implements SatisfiesConstraintInput
}
}
private module AwaitSatisfiesConstraint =
SatisfiesConstraint<AwaitTarget, AwaitSatisfiesConstraintInput>;
pragma[nomagic]
private Type inferAwaitExprType(AstNode n, TypePath path) {
exists(TypePath exprPath |
SatisfiesConstraint<AwaitTarget, AwaitSatisfiesConstraintInput>::satisfiesConstraintType(n.(AwaitExpr)
.getExpr(), _, exprPath, result) and
AwaitSatisfiesConstraint::satisfiesConstraintType(n.(AwaitExpr).getExpr(), _, exprPath, result) and
exprPath.isCons(getFutureOutputTypeParameter(), path)
)
}
@@ -3922,13 +3945,15 @@ private AssociatedTypeTypeParameter getIntoIteratorItemTypeParameter() {
result = getAssociatedTypeTypeParameter(any(IntoIteratorTrait t).getItemType())
}
private module ForIterableSatisfiesConstraint =
SatisfiesConstraint<ForIterableExpr, ForIterableSatisfiesConstraintInput>;
pragma[nomagic]
private Type inferForLoopExprType(AstNode n, TypePath path) {
// type of iterable -> type of pattern (loop variable)
exists(ForExpr fe, TypePath exprPath, AssociatedTypeTypeParameter tp |
n = fe.getPat() and
SatisfiesConstraint<ForIterableExpr, ForIterableSatisfiesConstraintInput>::satisfiesConstraintType(fe.getIterable(),
_, exprPath, result) and
ForIterableSatisfiesConstraint::satisfiesConstraintType(fe.getIterable(), _, exprPath, result) and
exprPath.isCons(tp, path)
|
tp = getIntoIteratorItemTypeParameter()
@@ -3963,10 +3988,12 @@ private module InvokedClosureSatisfiesConstraintInput implements
}
}
private module InvokedClosureSatisfiesConstraint =
SatisfiesConstraint<InvokedClosureExpr, InvokedClosureSatisfiesConstraintInput>;
/** Gets the type of `ce` when viewed as an implementation of `FnOnce`. */
private Type invokedClosureFnTypeAt(InvokedClosureExpr ce, TypePath path) {
SatisfiesConstraint<InvokedClosureExpr, InvokedClosureSatisfiesConstraintInput>::satisfiesConstraintType(ce,
_, path, result)
InvokedClosureSatisfiesConstraint::satisfiesConstraintType(ce, _, path, result)
}
/**

View File

@@ -9512,7 +9512,6 @@ inferType
| main.rs:1412:17:1412:20 | self | TRef.TSlice | main.rs:1410:14:1410:23 | T |
| main.rs:1412:17:1412:27 | self.get(...) | | {EXTERNAL LOCATION} | Option |
| main.rs:1412:17:1412:27 | self.get(...) | T | {EXTERNAL LOCATION} | & |
| main.rs:1412:17:1412:27 | self.get(...) | T.TRef | main.rs:1410:14:1410:23 | T |
| main.rs:1412:17:1412:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & |
| main.rs:1412:17:1412:36 | ... .unwrap() | TRef | main.rs:1410:14:1410:23 | T |
| main.rs:1412:26:1412:26 | 0 | | {EXTERNAL LOCATION} | i32 |
@@ -14717,82 +14716,14 @@ inferType
| regressions.rs:15:21:33:5 | { ... } | | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | | {EXTERNAL LOCATION} | Vec |
| regressions.rs:16:17:16:21 | vec_e | A | {EXTERNAL LOCATION} | Global |
| regressions.rs:16:17:16:21 | vec_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:17:16:21 | vec_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec |
| regressions.rs:16:25:16:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
| regressions.rs:16:25:16:34 | ...::new(...) | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:16:25:16:34 | ...::new(...) | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | | {EXTERNAL LOCATION} | Option |
| regressions.rs:17:17:17:21 | opt_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:17:17:21 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | | {EXTERNAL LOCATION} | Option |
| regressions.rs:17:25:17:28 | None | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:17:25:17:28 | None | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:19:13:19:13 | e | | regressions.rs:5:5:7:5 | E |
| regressions.rs:19:17:19:40 | ...::V {...} | | regressions.rs:5:5:7:5 | E |
| regressions.rs:19:29:19:38 | ...::new(...) | | {EXTERNAL LOCATION} | Vec |
@@ -14800,320 +14731,40 @@ inferType
| regressions.rs:19:29:19:38 | ...::new(...) | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:9:23:9 | if ... {...} | | {EXTERNAL LOCATION} | () |
| regressions.rs:21:16:21:22 | Some(...) | | {EXTERNAL LOCATION} | Option |
| regressions.rs:21:16:21:22 | Some(...) | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:16:21:22 | Some(...) | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:21:21:21 | e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | | {EXTERNAL LOCATION} | Option |
| regressions.rs:21:26:21:30 | opt_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:21:26:21:30 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:21:32:23:9 | { ... } | | {EXTERNAL LOCATION} | () |
| regressions.rs:22:13:22:17 | vec_e | | {EXTERNAL LOCATION} | Vec |
| regressions.rs:22:13:22:17 | vec_e | A | {EXTERNAL LOCATION} | Global |
| regressions.rs:22:13:22:17 | vec_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:13:22:17 | vec_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:13:22:25 | vec_e.push(...) | | {EXTERNAL LOCATION} | () |
| regressions.rs:22:24:22:24 | e | | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:22:24:22:24 | e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | | {EXTERNAL LOCATION} | Option |
| regressions.rs:24:9:24:13 | opt_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:9:24:13 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:9:24:24 | ... = ... | | {EXTERNAL LOCATION} | () |
| regressions.rs:24:17:24:17 | e | | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | | {EXTERNAL LOCATION} | Option |
| regressions.rs:24:17:24:24 | e.into() | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:24:17:24:24 | e.into() | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:13:27:13 | _ | | {EXTERNAL LOCATION} | () |
| regressions.rs:27:17:30:9 | if ... {...} | | {EXTERNAL LOCATION} | () |
| regressions.rs:27:24:27:33 | Some(...) | | {EXTERNAL LOCATION} | Option |
| regressions.rs:27:24:27:33 | Some(...) | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:24:27:33 | Some(...) | T.T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:29:27:32 | last | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | | {EXTERNAL LOCATION} | Vec |
| regressions.rs:27:37:27:41 | vec_e | A | {EXTERNAL LOCATION} | Global |
| regressions.rs:27:37:27:41 | vec_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:41 | vec_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | | {EXTERNAL LOCATION} | Option |
| regressions.rs:27:37:27:47 | vec_e.pop() | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:27:37:27:47 | vec_e.pop() | T.T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:28:9:30:9 | { ... } | | {EXTERNAL LOCATION} | () |
| regressions.rs:29:13:29:17 | opt_e | | {EXTERNAL LOCATION} | Option |
| regressions.rs:29:13:29:17 | opt_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:13:29:17 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:13:29:31 | ... = ... | | {EXTERNAL LOCATION} | () |
| regressions.rs:29:21:29:24 | last | | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:24 | last | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | | {EXTERNAL LOCATION} | Option |
| regressions.rs:29:21:29:31 | last.into() | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:29:21:29:31 | last.into() | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | | {EXTERNAL LOCATION} | Option |
| regressions.rs:32:9:32:13 | opt_e | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:13 | opt_e | T.T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T.T.T.T | regressions.rs:3:5:3:23 | S |
| regressions.rs:32:9:32:22 | opt_e.unwrap() | T.T.T.T.T.T.T.T | regressions.rs:5:5:7:5 | E |
testFailures