diff --git a/rust/ql/lib/change-notes/2025-08-14-if-while-let-chains.md b/rust/ql/lib/change-notes/2025-08-14-if-while-let-chains.md new file mode 100644 index 000000000000..f4d364d50354 --- /dev/null +++ b/rust/ql/lib/change-notes/2025-08-14-if-while-let-chains.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* [`let` chains in `if` and `while`](https://doc.rust-lang.org/edition-guide/rust-2024/let-chains.html) are now supported, as well as [`if let` guards in `match` expressions](https://rust-lang.github.io/rfcs/2294-if-let-guard.html). \ No newline at end of file diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll index dc08c0d32a78..bb29047cb92a 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll @@ -7,8 +7,7 @@ private import codeql.rust.controlflow.CfgNodes private import codeql.rust.internal.CachedStages private predicate isPostOrder(AstNode n) { - n instanceof Expr and - not n instanceof LetExpr + n instanceof Expr or n instanceof OrPat or diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index 58cb9f6a95f1..be7bad449dbc 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -200,8 +200,7 @@ class TypeReprTree extends LeafTree instanceof TypeRepr { } /** * Provides `ControlFlowTree`s for expressions. * - * Since expressions construct values, they are modeled in post-order, except for - * `LetExpr`s. + * Since expressions construct values, they are modeled in post-order. */ module ExprTrees { class ArrayExprTree extends StandardPostOrderTree, ArrayExpr { @@ -341,21 +340,15 @@ module ExprTrees { child = [super.getCondition(), super.getABranch()] } - private ConditionalCompletion conditionCompletion(Completion c) { - if super.getCondition() instanceof LetExpr - then result = c.(MatchCompletion) - else result = c.(BooleanCompletion) - } - override predicate succ(AstNode pred, AstNode succ, Completion c) { // Edges from the condition to the branches last(super.getCondition(), pred, c) and ( - first(super.getThen(), succ) and this.conditionCompletion(c).succeeded() + first(super.getThen(), succ) and c.(ConditionalCompletion).succeeded() or - first(super.getElse(), succ) and this.conditionCompletion(c).failed() + first(super.getElse(), succ) and c.(ConditionalCompletion).failed() or - not super.hasElse() and succ = this and this.conditionCompletion(c).failed() + not super.hasElse() and succ = this and c.(ConditionalCompletion).failed() ) or // An edge from the then branch to the last node @@ -401,10 +394,7 @@ module ExprTrees { } } - // `LetExpr` is a pre-order tree such that the pattern itself ends up - // dominating successors in the graph in the same way that patterns do in - // `match` expressions. - class LetExprTree extends StandardPreOrderTree, LetExpr { + class LetExprTree extends StandardPostOrderTree, LetExpr { override AstNode getChildNode(int i) { i = 0 and result = this.getScrutinee() @@ -456,21 +446,15 @@ module ExprTrees { override predicate first(AstNode node) { first(super.getCondition(), node) } - private ConditionalCompletion conditionCompletion(Completion c) { - if super.getCondition() instanceof LetExpr - then result = c.(MatchCompletion) - else result = c.(BooleanCompletion) - } - override predicate succ(AstNode pred, AstNode succ, Completion c) { super.succ(pred, succ, c) or last(super.getCondition(), pred, c) and - this.conditionCompletion(c).succeeded() and + c.(ConditionalCompletion).succeeded() and first(this.getLoopBody(), succ) or last(super.getCondition(), pred, c) and - this.conditionCompletion(c).failed() and + c.(ConditionalCompletion).failed() and succ = this } } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll index 2d3526c13702..a91bdeb44528 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll @@ -71,13 +71,7 @@ module ConditionalCompletionSplitting { child = parent.(LogicalNotExpr).getExpr() and childCompletion.getDual() = parentCompletion or - ( - childCompletion = parentCompletion - or - // needed for `let` expressions - childCompletion.(MatchCompletion).getValue() = - parentCompletion.(BooleanCompletion).getValue() - ) and + childCompletion = parentCompletion and ( child = parent.(BinaryLogicalOperation).getAnOperand() or @@ -92,6 +86,9 @@ module ConditionalCompletionSplitting { or child = parent.(PatternTrees::PostOrderPatTree).getPat(_) ) + or + child = parent.(LetExpr).getPat() and + childCompletion.(MatchCompletion).getValue() = parentCompletion.(BooleanCompletion).getValue() } } diff --git a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll index 932b846c4a39..d2b97d7c2e7f 100644 --- a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll +++ b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll @@ -194,9 +194,16 @@ module Ssa { ae.getRhs() = value ) or - exists(LetStmtCfgNode ls | - ls.getPat().(IdentPatCfgNode).getName() = write and - ls.getInitializer() = value + exists(IdentPatCfgNode pat | pat.getName() = write | + exists(LetStmtCfgNode ls | + pat = ls.getPat() and + ls.getInitializer() = value + ) + or + exists(LetExprCfgNode le | + pat = le.getPat() and + le.getScrutinee() = value + ) ) } diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index c50833593b7a..727f14bb94ab 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -241,6 +241,12 @@ module LocalFlow { nodeTo.getCfgNode() = s.getPat() ) or + // An edge from the right-hand side of a let expression to the left-hand side. + exists(LetExprCfgNode e | + nodeFrom.getCfgNode() = e.getScrutinee() and + nodeTo.getCfgNode() = e.getPat() + ) + or exists(IdentPatCfgNode p | not p.isRef() and nodeFrom.getCfgNode() = p and @@ -379,6 +385,8 @@ module RustDataFlow implements InputSig { predicate neverSkipInPathGraph(Node node) { node.(Node::Node).getCfgNode() = any(LetStmtCfgNode s).getPat() or + node.(Node::Node).getCfgNode() = any(LetExprCfgNode e).getPat() + or node.(Node::Node).getCfgNode() = any(AssignmentExprCfgNode a).getLhs() or exists(MatchExprCfgNode match | @@ -899,6 +907,12 @@ module VariableCapture { v.getPat() = ls.getPat().getPat() and ls.getInitializer() = source ) + or + exists(LetExprCfgNode le | + this = le and + v.getPat() = le.getPat().getPat() and + le.getScrutinee() = source + ) } CapturedVariable getVariable() { result = v } diff --git a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll index 056310492549..02fe1f2ad7fa 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll @@ -1,6 +1,6 @@ private import rust private import codeql.rust.controlflow.ControlFlowGraph -private import codeql.rust.elements.internal.generated.ParentChild +private import codeql.rust.elements.internal.generated.ParentChild as ParentChild private import codeql.rust.elements.internal.PathImpl::Impl as PathImpl private import codeql.rust.elements.internal.PathExprBaseImpl::Impl as PathExprBaseImpl private import codeql.rust.elements.internal.FormatTemplateVariableAccessImpl::Impl as FormatTemplateVariableAccessImpl @@ -36,6 +36,38 @@ module Impl { ClosureBodyScope() { this = any(ClosureExpr ce).getBody() } } + /** + * A scope for conditions, which may introduce variables using `let` expressions. + * + * Such variables are only available in the body guarded by the condition. + */ + class ConditionScope extends VariableScope, Expr { + private AstNode parent; + private AstNode body; + + ConditionScope() { + parent = + any(IfExpr ie | + this = ie.getCondition() and + body = ie.getThen() + ) + or + parent = + any(WhileExpr we | + this = we.getCondition() and + body = we.getLoopBody() + ) + } + + /** Gets the parent of this condition. */ + AstNode getParent() { result = parent } + + /** + * Gets the body in which variables introduced in this scope are available. + */ + AstNode getBody() { result = body } + } + private Pat getAPatAncestor(Pat p) { (p instanceof IdentPat or p instanceof OrPat) and exists(Pat p0 | result = p0.getParentPat() | @@ -152,8 +184,14 @@ module Impl { /** Gets the `let` statement that introduces this variable, if any. */ LetStmt getLetStmt() { this.getPat() = result.getPat() } + /** Gets the `let` expression that introduces this variable, if any. */ + LetExpr getLetExpr() { this.getPat() = result.getPat() } + /** Gets the initial value of this variable, if any. */ - Expr getInitializer() { result = this.getLetStmt().getInitializer() } + Expr getInitializer() { + result = this.getLetStmt().getInitializer() or + result = this.getLetExpr().getScrutinee() + } /** Holds if this variable is captured. */ predicate isCaptured() { this.getAnAccess().isCapture() } @@ -193,15 +231,53 @@ module Impl { string getName() { result = name_ } } + pragma[nomagic] + private Element getImmediateChildAdj(Element e, int preOrd, int index) { + result = ParentChild::getImmediateChild(e, index) and + preOrd = 0 and + not exists(ConditionScope cs | + e = cs.getParent() and + result = cs.getBody() + ) + or + result = e.(ConditionScope).getBody() and + preOrd = 1 and + index = 0 + } + + /** + * An adjusted version of `ParentChild::getImmediateChild`, which makes the following + * two adjustments: + * + * 1. For conditions like `if cond body`, instead of letting `body` be the second child + * of `if`, we make it the last child of `cond`. This ensures that variables + * introduced in the `cond` scope are available in `body`. + * + * 2. A similar adjustment is made for `while` loops: the body of the loop is made a + * child of the loop condition instead of the loop itself. + */ + pragma[nomagic] + private Element getImmediateChildAdj(Element e, int index) { + result = + rank[index + 1](Element res, int preOrd, int i | + res = getImmediateChildAdj(e, preOrd, i) + | + res order by preOrd, i + ) + } + + private Element getImmediateParentAdj(Element e) { e = getImmediateChildAdj(result, _) } + private AstNode getAnAncestorInVariableScope(AstNode n) { ( n instanceof Pat or n instanceof VariableAccessCand or n instanceof LetStmt or + n = any(LetExpr le).getScrutinee() or n instanceof VariableScope ) and exists(AstNode n0 | - result = getImmediateParent(n0) or + result = getImmediateParentAdj(n0) or result = n0.(FormatTemplateVariableAccess).getArgument().getParent().getParent() | n0 = n @@ -243,14 +319,15 @@ module Impl { this instanceof VariableScope or this instanceof VariableAccessCand or this instanceof LetStmt or - getImmediateChild(this, _) instanceof RelevantElement + this = any(LetExpr le).getScrutinee() or + getImmediateChildAdj(this, _) instanceof RelevantElement } pragma[nomagic] - private RelevantElement getChild(int index) { result = getImmediateChild(this, index) } + private RelevantElement getChild(int index) { result = getImmediateChildAdj(this, index) } pragma[nomagic] - private RelevantElement getImmediateChildMin(int index) { + private RelevantElement getImmediateChildAdjMin(int index) { // A child may have multiple positions for different accessors, // so always use the first result = this.getChild(index) and @@ -258,16 +335,16 @@ module Impl { } pragma[nomagic] - RelevantElement getImmediateChild(int index) { + RelevantElement getImmediateChildAdj(int index) { result = - rank[index + 1](Element res, int i | res = this.getImmediateChildMin(i) | res order by i) + rank[index + 1](Element res, int i | res = this.getImmediateChildAdjMin(i) | res order by i) } pragma[nomagic] RelevantElement getImmediateLastChild() { exists(int last | - result = this.getImmediateChild(last) and - not exists(this.getImmediateChild(last + 1)) + result = this.getImmediateChildAdj(last) and + not exists(this.getImmediateChildAdj(last + 1)) ) } } @@ -288,13 +365,13 @@ module Impl { | // first child of a previously numbered node result = getPreOrderNumbering(scope, parent) + 1 and - n = parent.getImmediateChild(0) + n = parent.getImmediateChildAdj(0) or // non-first child of a previously numbered node exists(RelevantElement child, int i | result = getLastPreOrderNumbering(scope, child) + 1 and - child = parent.getImmediateChild(i) and - n = parent.getImmediateChild(i + 1) + child = parent.getImmediateChildAdj(i) and + n = parent.getImmediateChildAdj(i + 1) ) ) } @@ -309,7 +386,7 @@ module Impl { result = getPreOrderNumbering(scope, leaf) and leaf != scope and ( - not exists(leaf.getImmediateChild(_)) + not exists(leaf.getImmediateChildAdj(_)) or leaf instanceof VariableScope ) @@ -331,7 +408,7 @@ module Impl { /** * Holds if `v` is named `name` and is declared inside variable scope * `scope`. The pre-order numbering of the binding site of `v`, amongst - * all nodes nester under `scope`, is `ord`. + * all nodes nested under `scope`, is `ord`. */ private predicate variableDeclInScope(Variable v, VariableScope scope, string name, int ord) { name = v.getText() and @@ -354,11 +431,13 @@ module Impl { ord = getLastPreOrderNumbering(scope, let) + 1 ) or - exists(IfExpr ie, LetExpr let | + exists(LetExpr let, Expr scrutinee | let.getPat() = pat and - ie.getCondition() = let and - scope = ie.getThen() and - ord = getPreOrderNumbering(scope, scope) + scrutinee = let.getScrutinee() and + scope = getEnclosingScope(scrutinee) and + // for `let` expressions, variables are bound _after_ the expression, i.e. + // not in the RHS + ord = getLastPreOrderNumbering(scope, scrutinee) + 1 ) or exists(ForExpr fe | @@ -366,13 +445,6 @@ module Impl { scope = fe.getLoopBody() and ord = getPreOrderNumbering(scope, scope) ) - or - exists(WhileExpr we, LetExpr let | - let.getPat() = pat and - we.getCondition() = let and - scope = we.getLoopBody() and - ord = getPreOrderNumbering(scope, scope) - ) ) ) } @@ -612,7 +684,7 @@ module Impl { or exists(Expr mid | assignmentExprDescendant(mid) and - getImmediateParent(e) = mid and + getImmediateParentAdj(e) = mid and not mid instanceof DerefExpr and not mid instanceof FieldExpr and not mid instanceof IndexExpr diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index 5b00d802d7cd..07f1180f1bd7 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -328,6 +328,11 @@ private module CertainTypeInference { let.getInitializer() = n2 ) or + exists(LetExpr let | + let.getPat() = n1 and + let.getScrutinee() = n2 + ) + or n1 = n2.(ParenExpr).getExpr() ) or @@ -466,11 +471,6 @@ private predicate typeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePat or n1 = n2.(MatchExpr).getAnArm().getExpr() or - exists(LetExpr let | - n1 = let.getScrutinee() and - n2 = let.getPat() - ) - or exists(MatchExpr me | n1 = me.getScrutinee() and n2 = me.getAnArm().getPat() diff --git a/rust/ql/test/library-tests/controlflow-unstable/Cfg.expected b/rust/ql/test/library-tests/controlflow-unstable/Cfg.expected index 11e23459648a..38fc5fe08733 100644 --- a/rust/ql/test/library-tests/controlflow-unstable/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow-unstable/Cfg.expected @@ -13,13 +13,14 @@ edges | test.rs:5:67:11:5 | { ... } | test.rs:5:5:11:5 | exit fn test_and_if_let (normal) | | | test.rs:6:9:10:9 | if ... {...} else {...} | test.rs:5:67:11:5 | { ... } | | | test.rs:6:12:6:12 | a | test.rs:6:12:6:31 | [boolean(false)] ... && ... | false | -| test.rs:6:12:6:12 | a | test.rs:6:17:6:31 | let ... = b | true | +| test.rs:6:12:6:12 | a | test.rs:6:31:6:31 | b | true | | test.rs:6:12:6:31 | [boolean(false)] ... && ... | test.rs:9:13:9:17 | false | false | | test.rs:6:12:6:31 | [boolean(true)] ... && ... | test.rs:7:13:7:13 | d | true | -| test.rs:6:17:6:31 | let ... = b | test.rs:6:31:6:31 | b | | -| test.rs:6:21:6:27 | Some(...) | test.rs:6:12:6:31 | [boolean(false)] ... && ... | no-match | +| test.rs:6:17:6:31 | [boolean(false)] let ... = b | test.rs:6:12:6:31 | [boolean(false)] ... && ... | false | +| test.rs:6:17:6:31 | [boolean(true)] let ... = b | test.rs:6:12:6:31 | [boolean(true)] ... && ... | true | +| test.rs:6:21:6:27 | Some(...) | test.rs:6:17:6:31 | [boolean(false)] let ... = b | no-match | | test.rs:6:21:6:27 | Some(...) | test.rs:6:26:6:26 | d | match | -| test.rs:6:26:6:26 | d | test.rs:6:12:6:31 | [boolean(true)] ... && ... | match | +| test.rs:6:26:6:26 | d | test.rs:6:17:6:31 | [boolean(true)] let ... = b | match | | test.rs:6:26:6:26 | d | test.rs:6:26:6:26 | d | | | test.rs:6:31:6:31 | b | test.rs:6:21:6:27 | Some(...) | | | test.rs:6:33:8:9 | { ... } | test.rs:6:9:10:9 | if ... {...} else {...} | | @@ -40,13 +41,13 @@ edges | test.rs:13:59:21:5 | { ... } | test.rs:13:5:21:5 | exit fn test_and_if_let2 (normal) | | | test.rs:14:9:20:9 | if ... {...} else {...} | test.rs:13:59:21:5 | { ... } | | | test.rs:14:12:14:12 | a | test.rs:14:12:14:25 | [boolean(false)] ... && ... | false | -| test.rs:14:12:14:12 | a | test.rs:14:17:14:25 | let ... = b | true | +| test.rs:14:12:14:12 | a | test.rs:14:25:14:25 | b | true | | test.rs:14:12:14:25 | [boolean(false)] ... && ... | test.rs:14:12:15:16 | [boolean(false)] ... && ... | false | | test.rs:14:12:14:25 | [boolean(true)] ... && ... | test.rs:15:16:15:16 | c | true | | test.rs:14:12:15:16 | [boolean(false)] ... && ... | test.rs:19:13:19:17 | false | false | | test.rs:14:12:15:16 | [boolean(true)] ... && ... | test.rs:17:13:17:13 | d | true | -| test.rs:14:17:14:25 | let ... = b | test.rs:14:25:14:25 | b | | -| test.rs:14:21:14:21 | d | test.rs:14:12:14:25 | [boolean(true)] ... && ... | match | +| test.rs:14:17:14:25 | [boolean(true)] let ... = b | test.rs:14:12:14:25 | [boolean(true)] ... && ... | true | +| test.rs:14:21:14:21 | d | test.rs:14:17:14:25 | [boolean(true)] let ... = b | match | | test.rs:14:21:14:21 | d | test.rs:14:21:14:21 | d | | | test.rs:14:25:14:25 | b | test.rs:14:21:14:21 | d | | | test.rs:15:16:15:16 | c | test.rs:14:12:15:16 | [boolean(false)] ... && ... | false | diff --git a/rust/ql/test/library-tests/controlflow/BasicBlocks.expected b/rust/ql/test/library-tests/controlflow/BasicBlocks.expected index 1b4b770c1309..96ea01f56d90 100644 --- a/rust/ql/test/library-tests/controlflow/BasicBlocks.expected +++ b/rust/ql/test/library-tests/controlflow/BasicBlocks.expected @@ -118,20 +118,29 @@ dominates | test.rs:91:17:91:22 | ExprStmt | test.rs:91:17:91:22 | ExprStmt | | test.rs:97:5:104:5 | enter fn test_while_let | test.rs:97:5:104:5 | enter fn test_while_let | | test.rs:97:5:104:5 | enter fn test_while_let | test.rs:99:9:103:9 | while ... { ... } | -| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:99:15:99:39 | let ... = ... | +| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | | test.rs:97:5:104:5 | enter fn test_while_let | test.rs:99:24:99:24 | x | +| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:99:29:99:32 | iter | | test.rs:97:5:104:5 | enter fn test_while_let | test.rs:100:13:102:13 | if ... {...} | +| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:100:17:100:17 | x | | test.rs:97:5:104:5 | enter fn test_while_let | test.rs:101:17:101:22 | ExprStmt | | test.rs:99:9:103:9 | while ... { ... } | test.rs:99:9:103:9 | while ... { ... } | -| test.rs:99:15:99:39 | let ... = ... | test.rs:99:9:103:9 | while ... { ... } | -| test.rs:99:15:99:39 | let ... = ... | test.rs:99:15:99:39 | let ... = ... | -| test.rs:99:15:99:39 | let ... = ... | test.rs:99:24:99:24 | x | -| test.rs:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} | -| test.rs:99:15:99:39 | let ... = ... | test.rs:101:17:101:22 | ExprStmt | +| test.rs:99:15:99:39 | [boolean(false)] let ... = ... | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | | test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x | | test.rs:99:24:99:24 | x | test.rs:100:13:102:13 | if ... {...} | +| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x | | test.rs:99:24:99:24 | x | test.rs:101:17:101:22 | ExprStmt | +| test.rs:99:29:99:32 | iter | test.rs:99:9:103:9 | while ... { ... } | +| test.rs:99:29:99:32 | iter | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | +| test.rs:99:29:99:32 | iter | test.rs:99:24:99:24 | x | +| test.rs:99:29:99:32 | iter | test.rs:99:29:99:32 | iter | +| test.rs:99:29:99:32 | iter | test.rs:100:13:102:13 | if ... {...} | +| test.rs:99:29:99:32 | iter | test.rs:100:17:100:17 | x | +| test.rs:99:29:99:32 | iter | test.rs:101:17:101:22 | ExprStmt | | test.rs:100:13:102:13 | if ... {...} | test.rs:100:13:102:13 | if ... {...} | +| test.rs:100:17:100:17 | x | test.rs:100:13:102:13 | if ... {...} | +| test.rs:100:17:100:17 | x | test.rs:100:17:100:17 | x | +| test.rs:100:17:100:17 | x | test.rs:101:17:101:22 | ExprStmt | | test.rs:101:17:101:22 | ExprStmt | test.rs:101:17:101:22 | ExprStmt | | test.rs:106:5:113:5 | enter fn test_for | test.rs:106:5:113:5 | enter fn test_for | | test.rs:106:5:113:5 | enter fn test_for | test.rs:107:9:112:9 | for ... in ... { ... } | @@ -167,18 +176,30 @@ dominates | test.rs:140:13:140:19 | ExprStmt | test.rs:140:13:140:19 | ExprStmt | | test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:145:5:151:5 | enter fn test_if_let_else | | test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:146:9:150:9 | if ... {...} else {...} | +| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:146:12:146:26 | [boolean(false)] let ... = a | | test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:146:21:146:21 | n | +| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:147:13:147:13 | n | | test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:149:13:149:13 | 0 | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:9:150:9 | if ... {...} else {...} | +| test.rs:146:12:146:26 | [boolean(false)] let ... = a | test.rs:146:12:146:26 | [boolean(false)] let ... = a | +| test.rs:146:12:146:26 | [boolean(false)] let ... = a | test.rs:149:13:149:13 | 0 | | test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n | +| test.rs:146:21:146:21 | n | test.rs:147:13:147:13 | n | +| test.rs:147:13:147:13 | n | test.rs:147:13:147:13 | n | | test.rs:149:13:149:13 | 0 | test.rs:149:13:149:13 | 0 | | test.rs:153:5:158:5 | enter fn test_if_let | test.rs:153:5:158:5 | enter fn test_if_let | | test.rs:153:5:158:5 | enter fn test_if_let | test.rs:153:5:158:5 | exit fn test_if_let (normal) | | test.rs:153:5:158:5 | enter fn test_if_let | test.rs:154:9:156:9 | if ... {...} | +| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:154:12:154:26 | [boolean(false)] let ... = a | | test.rs:153:5:158:5 | enter fn test_if_let | test.rs:154:21:154:21 | n | +| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:155:13:155:21 | ExprStmt | | test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | exit fn test_if_let (normal) | | test.rs:154:9:156:9 | if ... {...} | test.rs:154:9:156:9 | if ... {...} | +| test.rs:154:12:154:26 | [boolean(false)] let ... = a | test.rs:154:9:156:9 | if ... {...} | +| test.rs:154:12:154:26 | [boolean(false)] let ... = a | test.rs:154:12:154:26 | [boolean(false)] let ... = a | | test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n | +| test.rs:154:21:154:21 | n | test.rs:155:13:155:21 | ExprStmt | +| test.rs:155:13:155:21 | ExprStmt | test.rs:155:13:155:21 | ExprStmt | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:160:5:166:5 | enter fn test_nested_if | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:9:165:9 | if ... {...} else {...} | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | @@ -847,15 +868,20 @@ postDominance | test.rs:97:5:104:5 | enter fn test_while_let | test.rs:97:5:104:5 | enter fn test_while_let | | test.rs:99:9:103:9 | while ... { ... } | test.rs:97:5:104:5 | enter fn test_while_let | | test.rs:99:9:103:9 | while ... { ... } | test.rs:99:9:103:9 | while ... { ... } | -| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... | +| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | | test.rs:99:9:103:9 | while ... { ... } | test.rs:99:24:99:24 | x | +| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:29:99:32 | iter | | test.rs:99:9:103:9 | while ... { ... } | test.rs:100:13:102:13 | if ... {...} | +| test.rs:99:9:103:9 | while ... { ... } | test.rs:100:17:100:17 | x | | test.rs:99:9:103:9 | while ... { ... } | test.rs:101:17:101:22 | ExprStmt | -| test.rs:99:15:99:39 | let ... = ... | test.rs:97:5:104:5 | enter fn test_while_let | -| test.rs:99:15:99:39 | let ... = ... | test.rs:99:15:99:39 | let ... = ... | -| test.rs:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} | +| test.rs:99:15:99:39 | [boolean(false)] let ... = ... | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | | test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x | +| test.rs:99:29:99:32 | iter | test.rs:97:5:104:5 | enter fn test_while_let | +| test.rs:99:29:99:32 | iter | test.rs:99:29:99:32 | iter | +| test.rs:99:29:99:32 | iter | test.rs:100:13:102:13 | if ... {...} | | test.rs:100:13:102:13 | if ... {...} | test.rs:100:13:102:13 | if ... {...} | +| test.rs:100:17:100:17 | x | test.rs:99:24:99:24 | x | +| test.rs:100:17:100:17 | x | test.rs:100:17:100:17 | x | | test.rs:101:17:101:22 | ExprStmt | test.rs:101:17:101:22 | ExprStmt | | test.rs:106:5:113:5 | enter fn test_for | test.rs:106:5:113:5 | enter fn test_for | | test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:106:5:113:5 | enter fn test_for | @@ -888,17 +914,29 @@ postDominance | test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:145:5:151:5 | enter fn test_if_let_else | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:145:5:151:5 | enter fn test_if_let_else | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:9:150:9 | if ... {...} else {...} | +| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:12:146:26 | [boolean(false)] let ... = a | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:21:146:21 | n | +| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:147:13:147:13 | n | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:149:13:149:13 | 0 | +| test.rs:146:12:146:26 | [boolean(false)] let ... = a | test.rs:146:12:146:26 | [boolean(false)] let ... = a | | test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n | +| test.rs:147:13:147:13 | n | test.rs:146:21:146:21 | n | +| test.rs:147:13:147:13 | n | test.rs:147:13:147:13 | n | +| test.rs:149:13:149:13 | 0 | test.rs:146:12:146:26 | [boolean(false)] let ... = a | | test.rs:149:13:149:13 | 0 | test.rs:149:13:149:13 | 0 | | test.rs:153:5:158:5 | enter fn test_if_let | test.rs:153:5:158:5 | enter fn test_if_let | | test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | enter fn test_if_let | | test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | exit fn test_if_let (normal) | | test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:9:156:9 | if ... {...} | +| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:12:154:26 | [boolean(false)] let ... = a | | test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:21:154:21 | n | +| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:155:13:155:21 | ExprStmt | | test.rs:154:9:156:9 | if ... {...} | test.rs:154:9:156:9 | if ... {...} | +| test.rs:154:9:156:9 | if ... {...} | test.rs:154:12:154:26 | [boolean(false)] let ... = a | +| test.rs:154:12:154:26 | [boolean(false)] let ... = a | test.rs:154:12:154:26 | [boolean(false)] let ... = a | | test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n | +| test.rs:155:13:155:21 | ExprStmt | test.rs:154:21:154:21 | n | +| test.rs:155:13:155:21 | ExprStmt | test.rs:155:13:155:21 | ExprStmt | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:160:5:166:5 | enter fn test_nested_if | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:9:165:9 | if ... {...} else {...} | @@ -1462,11 +1500,13 @@ immediateDominator | test.rs:89:13:89:14 | ExprStmt | test.rs:88:15:88:15 | b | | test.rs:90:13:92:13 | if ... {...} | test.rs:89:13:89:14 | ExprStmt | | test.rs:91:17:91:22 | ExprStmt | test.rs:89:13:89:14 | ExprStmt | -| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... | -| test.rs:99:15:99:39 | let ... = ... | test.rs:97:5:104:5 | enter fn test_while_let | -| test.rs:99:24:99:24 | x | test.rs:99:15:99:39 | let ... = ... | -| test.rs:100:13:102:13 | if ... {...} | test.rs:99:24:99:24 | x | -| test.rs:101:17:101:22 | ExprStmt | test.rs:99:24:99:24 | x | +| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:29:99:32 | iter | +| test.rs:99:15:99:39 | [boolean(false)] let ... = ... | test.rs:99:29:99:32 | iter | +| test.rs:99:24:99:24 | x | test.rs:99:29:99:32 | iter | +| test.rs:99:29:99:32 | iter | test.rs:97:5:104:5 | enter fn test_while_let | +| test.rs:100:13:102:13 | if ... {...} | test.rs:100:17:100:17 | x | +| test.rs:100:17:100:17 | x | test.rs:99:24:99:24 | x | +| test.rs:101:17:101:22 | ExprStmt | test.rs:100:17:100:17 | x | | test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:107:13:107:13 | i | | test.rs:107:13:107:13 | i | test.rs:106:5:113:5 | enter fn test_for | | test.rs:108:13:110:13 | ExprStmt | test.rs:107:13:107:13 | i | @@ -1478,11 +1518,15 @@ immediateDominator | test.rs:139:9:141:9 | if b {...} | test.rs:137:5:143:5 | enter fn test_if_without_else | | test.rs:140:13:140:19 | ExprStmt | test.rs:137:5:143:5 | enter fn test_if_without_else | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:145:5:151:5 | enter fn test_if_let_else | +| test.rs:146:12:146:26 | [boolean(false)] let ... = a | test.rs:145:5:151:5 | enter fn test_if_let_else | | test.rs:146:21:146:21 | n | test.rs:145:5:151:5 | enter fn test_if_let_else | -| test.rs:149:13:149:13 | 0 | test.rs:145:5:151:5 | enter fn test_if_let_else | +| test.rs:147:13:147:13 | n | test.rs:146:21:146:21 | n | +| test.rs:149:13:149:13 | 0 | test.rs:146:12:146:26 | [boolean(false)] let ... = a | | test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | enter fn test_if_let | -| test.rs:154:9:156:9 | if ... {...} | test.rs:153:5:158:5 | enter fn test_if_let | +| test.rs:154:9:156:9 | if ... {...} | test.rs:154:12:154:26 | [boolean(false)] let ... = a | +| test.rs:154:12:154:26 | [boolean(false)] let ... = a | test.rs:153:5:158:5 | enter fn test_if_let | | test.rs:154:21:154:21 | n | test.rs:153:5:158:5 | enter fn test_if_let | +| test.rs:155:13:155:21 | ExprStmt | test.rs:154:21:154:21 | n | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if | | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if | | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if | @@ -1721,13 +1765,20 @@ controls | test.rs:88:15:88:15 | b | test.rs:91:17:91:22 | ExprStmt | true | | test.rs:89:13:89:14 | ExprStmt | test.rs:90:13:92:13 | if ... {...} | false | | test.rs:89:13:89:14 | ExprStmt | test.rs:91:17:91:22 | ExprStmt | true | -| test.rs:99:24:99:24 | x | test.rs:100:13:102:13 | if ... {...} | false | +| test.rs:99:24:99:24 | x | test.rs:100:13:102:13 | if ... {...} | true | +| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x | true | | test.rs:99:24:99:24 | x | test.rs:101:17:101:22 | ExprStmt | true | +| test.rs:100:17:100:17 | x | test.rs:100:13:102:13 | if ... {...} | false | +| test.rs:100:17:100:17 | x | test.rs:101:17:101:22 | ExprStmt | true | | test.rs:108:13:110:13 | ExprStmt | test.rs:108:13:110:13 | if ... {...} | false | | test.rs:108:13:110:13 | ExprStmt | test.rs:109:17:109:22 | ExprStmt | true | | test.rs:129:5:135:5 | enter fn test_if_else | test.rs:131:13:131:13 | 0 | true | | test.rs:129:5:135:5 | enter fn test_if_else | test.rs:133:13:133:13 | n | false | | test.rs:137:5:143:5 | enter fn test_if_without_else | test.rs:140:13:140:19 | ExprStmt | true | +| test.rs:146:12:146:26 | [boolean(false)] let ... = a | test.rs:149:13:149:13 | 0 | false | +| test.rs:146:21:146:21 | n | test.rs:147:13:147:13 | n | true | +| test.rs:154:12:154:26 | [boolean(false)] let ... = a | test.rs:154:9:156:9 | if ... {...} | false | +| test.rs:154:21:154:21 | n | test.rs:155:13:155:21 | ExprStmt | true | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:22:161:32 | [boolean(false)] { ... } | true | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:22:161:32 | [boolean(true)] { ... } | true | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:24:161:24 | a | true | @@ -1911,14 +1962,20 @@ successor | test.rs:88:15:88:15 | b | test.rs:89:13:89:14 | ExprStmt | true | | test.rs:89:13:89:14 | ExprStmt | test.rs:90:13:92:13 | if ... {...} | false | | test.rs:89:13:89:14 | ExprStmt | test.rs:91:17:91:22 | ExprStmt | true | -| test.rs:99:24:99:24 | x | test.rs:100:13:102:13 | if ... {...} | false | -| test.rs:99:24:99:24 | x | test.rs:101:17:101:22 | ExprStmt | true | +| test.rs:99:15:99:39 | [boolean(false)] let ... = ... | test.rs:99:9:103:9 | while ... { ... } | false | +| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x | true | +| test.rs:100:17:100:17 | x | test.rs:100:13:102:13 | if ... {...} | false | +| test.rs:100:17:100:17 | x | test.rs:101:17:101:22 | ExprStmt | true | | test.rs:108:13:110:13 | ExprStmt | test.rs:108:13:110:13 | if ... {...} | false | | test.rs:108:13:110:13 | ExprStmt | test.rs:109:17:109:22 | ExprStmt | true | | test.rs:129:5:135:5 | enter fn test_if_else | test.rs:131:13:131:13 | 0 | true | | test.rs:129:5:135:5 | enter fn test_if_else | test.rs:133:13:133:13 | n | false | | test.rs:137:5:143:5 | enter fn test_if_without_else | test.rs:139:9:141:9 | if b {...} | false | | test.rs:137:5:143:5 | enter fn test_if_without_else | test.rs:140:13:140:19 | ExprStmt | true | +| test.rs:146:12:146:26 | [boolean(false)] let ... = a | test.rs:149:13:149:13 | 0 | false | +| test.rs:146:21:146:21 | n | test.rs:147:13:147:13 | n | true | +| test.rs:154:12:154:26 | [boolean(false)] let ... = a | test.rs:154:9:156:9 | if ... {...} | false | +| test.rs:154:21:154:21 | n | test.rs:155:13:155:21 | ExprStmt | true | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:24:161:24 | a | true | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:41:161:41 | a | false | | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:164:13:164:13 | 0 | false | @@ -2058,10 +2115,10 @@ joinBlockPredecessor | test.rs:88:9:94:9 | while b { ... } | test.rs:91:17:91:22 | ExprStmt | 1 | | test.rs:88:15:88:15 | b | test.rs:86:5:95:5 | enter fn test_while | 1 | | test.rs:88:15:88:15 | b | test.rs:90:13:92:13 | if ... {...} | 0 | -| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... | 0 | +| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | 0 | | test.rs:99:9:103:9 | while ... { ... } | test.rs:101:17:101:22 | ExprStmt | 1 | -| test.rs:99:15:99:39 | let ... = ... | test.rs:97:5:104:5 | enter fn test_while_let | 1 | -| test.rs:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} | 0 | +| test.rs:99:29:99:32 | iter | test.rs:97:5:104:5 | enter fn test_while_let | 1 | +| test.rs:99:29:99:32 | iter | test.rs:100:13:102:13 | if ... {...} | 0 | | test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:107:13:107:13 | i | 1 | | test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:109:17:109:22 | ExprStmt | 0 | | test.rs:107:13:107:13 | i | test.rs:106:5:113:5 | enter fn test_for | 1 | @@ -2070,10 +2127,10 @@ joinBlockPredecessor | test.rs:130:9:134:9 | if ... {...} else {...} | test.rs:133:13:133:13 | n | 0 | | test.rs:139:9:141:9 | if b {...} | test.rs:137:5:143:5 | enter fn test_if_without_else | 1 | | test.rs:139:9:141:9 | if b {...} | test.rs:140:13:140:19 | ExprStmt | 0 | -| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:21:146:21 | n | 0 | -| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:149:13:149:13 | 0 | 1 | +| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:147:13:147:13 | n | 1 | +| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:149:13:149:13 | 0 | 0 | | test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:9:156:9 | if ... {...} | 1 | -| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:21:154:21 | n | 0 | +| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:155:13:155:21 | ExprStmt | 0 | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:162:13:162:13 | 1 | 1 | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:164:13:164:13 | 0 | 0 | | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:161:22:161:32 | [boolean(false)] { ... } | 1 | diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 44dd60e915aa..d49c8e689850 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -194,20 +194,21 @@ edges | test.rs:97:5:104:5 | exit fn test_while_let (normal) | test.rs:97:5:104:5 | exit fn test_while_let | | | test.rs:97:25:104:5 | { ... } | test.rs:97:5:104:5 | exit fn test_while_let (normal) | | | test.rs:98:9:98:29 | let ... = ... | test.rs:98:24:98:24 | 1 | | -| test.rs:98:13:98:20 | mut iter | test.rs:99:15:99:39 | let ... = ... | match | +| test.rs:98:13:98:20 | mut iter | test.rs:99:29:99:32 | iter | match | | test.rs:98:17:98:20 | iter | test.rs:98:13:98:20 | mut iter | | | test.rs:98:24:98:24 | 1 | test.rs:98:27:98:28 | 10 | | | test.rs:98:24:98:28 | 1..10 | test.rs:98:17:98:20 | iter | | | test.rs:98:27:98:28 | 10 | test.rs:98:24:98:28 | 1..10 | | | test.rs:99:9:103:9 | while ... { ... } | test.rs:97:25:104:5 | { ... } | | -| test.rs:99:15:99:39 | let ... = ... | test.rs:99:29:99:32 | iter | | -| test.rs:99:19:99:25 | Some(...) | test.rs:99:9:103:9 | while ... { ... } | no-match | +| test.rs:99:15:99:39 | [boolean(false)] let ... = ... | test.rs:99:9:103:9 | while ... { ... } | false | +| test.rs:99:15:99:39 | [boolean(true)] let ... = ... | test.rs:100:17:100:17 | x | true | +| test.rs:99:19:99:25 | Some(...) | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | no-match | | test.rs:99:19:99:25 | Some(...) | test.rs:99:24:99:24 | x | match | +| test.rs:99:24:99:24 | x | test.rs:99:15:99:39 | [boolean(true)] let ... = ... | match | | test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x | | -| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x | match | | test.rs:99:29:99:32 | iter | test.rs:99:29:99:39 | iter.next() | | | test.rs:99:29:99:39 | iter.next() | test.rs:99:19:99:25 | Some(...) | | -| test.rs:99:41:103:9 | { ... } | test.rs:99:15:99:39 | let ... = ... | | +| test.rs:99:41:103:9 | { ... } | test.rs:99:29:99:32 | iter | | | test.rs:100:13:102:13 | if ... {...} | test.rs:99:41:103:9 | { ... } | | | test.rs:100:17:100:17 | x | test.rs:100:22:100:22 | 5 | | | test.rs:100:17:100:22 | ... == ... | test.rs:100:13:102:13 | if ... {...} | false | @@ -308,14 +309,15 @@ edges | test.rs:145:5:151:5 | exit fn test_if_let_else (normal) | test.rs:145:5:151:5 | exit fn test_if_let_else | | | test.rs:145:25:145:25 | a | test.rs:145:25:145:25 | a | | | test.rs:145:25:145:25 | a | test.rs:145:25:145:38 | ...: Option::<...> | match | -| test.rs:145:25:145:38 | ...: Option::<...> | test.rs:146:12:146:26 | let ... = a | | +| test.rs:145:25:145:38 | ...: Option::<...> | test.rs:146:26:146:26 | a | | | test.rs:145:48:151:5 | { ... } | test.rs:145:5:151:5 | exit fn test_if_let_else (normal) | | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:145:48:151:5 | { ... } | | -| test.rs:146:12:146:26 | let ... = a | test.rs:146:26:146:26 | a | | +| test.rs:146:12:146:26 | [boolean(false)] let ... = a | test.rs:149:13:149:13 | 0 | false | +| test.rs:146:12:146:26 | [boolean(true)] let ... = a | test.rs:147:13:147:13 | n | true | +| test.rs:146:16:146:22 | Some(...) | test.rs:146:12:146:26 | [boolean(false)] let ... = a | no-match | | test.rs:146:16:146:22 | Some(...) | test.rs:146:21:146:21 | n | match | -| test.rs:146:16:146:22 | Some(...) | test.rs:149:13:149:13 | 0 | no-match | +| test.rs:146:21:146:21 | n | test.rs:146:12:146:26 | [boolean(true)] let ... = a | match | | test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n | | -| test.rs:146:21:146:21 | n | test.rs:147:13:147:13 | n | match | | test.rs:146:26:146:26 | a | test.rs:146:16:146:22 | Some(...) | | | test.rs:146:28:148:9 | { ... } | test.rs:146:9:150:9 | if ... {...} else {...} | | | test.rs:147:13:147:13 | n | test.rs:146:28:148:9 | { ... } | | @@ -327,13 +329,14 @@ edges | test.rs:153:20:153:20 | a | test.rs:153:20:153:33 | ...: Option::<...> | match | | test.rs:153:20:153:33 | ...: Option::<...> | test.rs:154:9:156:9 | ExprStmt | | | test.rs:153:43:158:5 | { ... } | test.rs:153:5:158:5 | exit fn test_if_let (normal) | | -| test.rs:154:9:156:9 | ExprStmt | test.rs:154:12:154:26 | let ... = a | | +| test.rs:154:9:156:9 | ExprStmt | test.rs:154:26:154:26 | a | | | test.rs:154:9:156:9 | if ... {...} | test.rs:157:9:157:9 | 0 | | -| test.rs:154:12:154:26 | let ... = a | test.rs:154:26:154:26 | a | | -| test.rs:154:16:154:22 | Some(...) | test.rs:154:9:156:9 | if ... {...} | no-match | +| test.rs:154:12:154:26 | [boolean(false)] let ... = a | test.rs:154:9:156:9 | if ... {...} | false | +| test.rs:154:12:154:26 | [boolean(true)] let ... = a | test.rs:155:13:155:21 | ExprStmt | true | +| test.rs:154:16:154:22 | Some(...) | test.rs:154:12:154:26 | [boolean(false)] let ... = a | no-match | | test.rs:154:16:154:22 | Some(...) | test.rs:154:21:154:21 | n | match | +| test.rs:154:21:154:21 | n | test.rs:154:12:154:26 | [boolean(true)] let ... = a | match | | test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n | | -| test.rs:154:21:154:21 | n | test.rs:155:13:155:21 | ExprStmt | match | | test.rs:154:26:154:26 | a | test.rs:154:16:154:22 | Some(...) | | | test.rs:155:13:155:20 | return n | test.rs:153:5:158:5 | exit fn test_if_let (normal) | return | | test.rs:155:13:155:21 | ExprStmt | test.rs:155:20:155:20 | n | | diff --git a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected index 75c14035c455..f5f63c61593a 100644 --- a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected @@ -1,2 +1,2 @@ multipleCallTargets -| main.rs:445:18:445:24 | n.len() | +| main.rs:471:18:471:24 | n.len() | diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index b6bb529b23ee..3a830d7d36a6 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -1,1095 +1,1126 @@ localStep | file://:0:0:0:0 | [summary param] self in fn canonicalize | file://:0:0:0:0 | [summary] read: Argument[self].OptionalBarrier[normalize-path] in fn canonicalize | -| main.rs:3:11:3:11 | [SSA] i | main.rs:4:12:4:12 | i | -| main.rs:3:11:3:11 | i | main.rs:3:11:3:11 | [SSA] i | -| main.rs:3:11:3:11 | i | main.rs:3:11:3:11 | i | -| main.rs:3:11:3:16 | ...: i64 | main.rs:3:11:3:11 | i | -| main.rs:4:5:4:12 | ... + ... | main.rs:3:26:5:1 | { ... } | -| main.rs:6:9:6:9 | [SSA] s | main.rs:7:20:7:20 | s | -| main.rs:6:9:6:9 | s | main.rs:6:9:6:9 | [SSA] s | -| main.rs:6:9:6:9 | s | main.rs:6:9:6:9 | s | -| main.rs:6:9:6:14 | ...: i64 | main.rs:6:9:6:9 | s | -| main.rs:7:14:7:20 | FormatArgsExpr | main.rs:7:14:7:20 | MacroExpr | -| main.rs:7:14:7:20 | MacroBlockExpr | main.rs:7:5:7:21 | MacroExpr | -| main.rs:7:14:7:20 | [post] MacroExpr | main.rs:7:14:7:20 | [post] FormatArgsExpr | -| main.rs:7:14:7:20 | { ... } | main.rs:7:14:7:20 | MacroBlockExpr | -| main.rs:10:13:10:14 | [SSA] sr | main.rs:11:20:11:21 | sr | -| main.rs:10:13:10:14 | sr | main.rs:10:13:10:14 | [SSA] sr | -| main.rs:10:13:10:14 | sr | main.rs:10:13:10:14 | sr | -| main.rs:10:13:10:20 | ...: ... | main.rs:10:13:10:14 | sr | -| main.rs:11:14:11:21 | FormatArgsExpr | main.rs:11:14:11:21 | MacroExpr | -| main.rs:11:14:11:21 | MacroBlockExpr | main.rs:11:5:11:22 | MacroExpr | -| main.rs:11:14:11:21 | [post] MacroExpr | main.rs:11:14:11:21 | [post] FormatArgsExpr | -| main.rs:11:14:11:21 | { ... } | main.rs:11:14:11:21 | MacroBlockExpr | -| main.rs:22:9:22:9 | [SSA] s | main.rs:23:10:23:10 | s | -| main.rs:22:9:22:9 | s | main.rs:22:9:22:9 | [SSA] s | -| main.rs:22:9:22:9 | s | main.rs:22:9:22:9 | s | -| main.rs:22:13:22:21 | source(...) | main.rs:22:9:22:9 | s | -| main.rs:26:18:26:21 | [SSA] cond | main.rs:29:16:29:19 | cond | -| main.rs:26:18:26:21 | cond | main.rs:26:18:26:21 | [SSA] cond | -| main.rs:26:18:26:21 | cond | main.rs:26:18:26:21 | cond | -| main.rs:26:18:26:27 | ...: bool | main.rs:26:18:26:21 | cond | -| main.rs:27:9:27:9 | [SSA] a | main.rs:29:23:29:23 | a | -| main.rs:27:9:27:9 | a | main.rs:27:9:27:9 | [SSA] a | -| main.rs:27:9:27:9 | a | main.rs:27:9:27:9 | a | -| main.rs:27:13:27:21 | source(...) | main.rs:27:9:27:9 | a | -| main.rs:28:9:28:9 | [SSA] b | main.rs:29:34:29:34 | b | -| main.rs:28:9:28:9 | b | main.rs:28:9:28:9 | [SSA] b | -| main.rs:28:9:28:9 | b | main.rs:28:9:28:9 | b | -| main.rs:28:13:28:13 | 2 | main.rs:28:9:28:9 | b | -| main.rs:29:9:29:9 | [SSA] c | main.rs:30:10:30:10 | c | -| main.rs:29:9:29:9 | c | main.rs:29:9:29:9 | [SSA] c | -| main.rs:29:9:29:9 | c | main.rs:29:9:29:9 | c | -| main.rs:29:13:29:36 | if cond {...} else {...} | main.rs:29:9:29:9 | c | -| main.rs:29:21:29:25 | { ... } | main.rs:29:13:29:36 | if cond {...} else {...} | -| main.rs:29:23:29:23 | a | main.rs:29:21:29:25 | { ... } | -| main.rs:29:32:29:36 | { ... } | main.rs:29:13:29:36 | if cond {...} else {...} | -| main.rs:29:34:29:34 | b | main.rs:29:32:29:36 | { ... } | -| main.rs:33:21:33:21 | [SSA] m | main.rs:35:19:35:19 | m | -| main.rs:33:21:33:21 | m | main.rs:33:21:33:21 | [SSA] m | -| main.rs:33:21:33:21 | m | main.rs:33:21:33:21 | m | -| main.rs:33:21:33:34 | ...: Option::<...> | main.rs:33:21:33:21 | m | -| main.rs:34:9:34:9 | [SSA] a | main.rs:36:20:36:20 | a | -| main.rs:34:9:34:9 | a | main.rs:34:9:34:9 | [SSA] a | -| main.rs:34:9:34:9 | a | main.rs:34:9:34:9 | a | -| main.rs:34:13:34:21 | source(...) | main.rs:34:9:34:9 | a | -| main.rs:35:9:35:9 | [SSA] b | main.rs:39:10:39:10 | b | -| main.rs:35:9:35:9 | b | main.rs:35:9:35:9 | [SSA] b | -| main.rs:35:9:35:9 | b | main.rs:35:9:35:9 | b | -| main.rs:35:13:38:5 | match m { ... } | main.rs:35:9:35:9 | b | -| main.rs:35:19:35:19 | m | main.rs:36:9:36:15 | Some(...) | -| main.rs:35:19:35:19 | m | main.rs:37:9:37:12 | None | -| main.rs:36:20:36:20 | a | main.rs:35:13:38:5 | match m { ... } | -| main.rs:37:17:37:17 | 0 | main.rs:35:13:38:5 | match m { ... } | -| main.rs:43:9:43:9 | [SSA] a | main.rs:46:10:46:10 | a | -| main.rs:43:9:43:9 | a | main.rs:43:9:43:9 | [SSA] a | -| main.rs:43:9:43:9 | a | main.rs:43:9:43:9 | a | -| main.rs:43:13:45:5 | loop { ... } | main.rs:43:9:43:9 | a | -| main.rs:44:9:44:15 | break 1 | main.rs:43:13:45:5 | loop { ... } | -| main.rs:44:15:44:15 | 1 | main.rs:44:9:44:15 | break 1 | -| main.rs:47:9:47:9 | [SSA] b | main.rs:50:10:50:10 | b | -| main.rs:47:9:47:9 | b | main.rs:47:9:47:9 | [SSA] b | -| main.rs:47:9:47:9 | b | main.rs:47:9:47:9 | b | -| main.rs:47:13:49:5 | loop { ... } | main.rs:47:9:47:9 | b | -| main.rs:48:9:48:23 | break ... | main.rs:47:13:49:5 | loop { ... } | -| main.rs:48:15:48:23 | source(...) | main.rs:48:9:48:23 | break ... | -| main.rs:54:9:54:13 | mut i | main.rs:54:13:54:13 | i | -| main.rs:54:13:54:13 | [SSA] i | main.rs:55:10:55:10 | i | -| main.rs:54:13:54:13 | i | main.rs:54:13:54:13 | [SSA] i | -| main.rs:54:17:54:17 | 1 | main.rs:54:9:54:13 | mut i | -| main.rs:56:5:56:5 | [SSA] i | main.rs:57:10:57:10 | i | -| main.rs:56:5:56:5 | i | main.rs:56:5:56:5 | [SSA] i | -| main.rs:56:9:56:17 | source(...) | main.rs:56:5:56:5 | i | -| main.rs:61:9:61:9 | [SSA] a | main.rs:62:5:62:5 | a | -| main.rs:61:9:61:9 | a | main.rs:61:9:61:9 | [SSA] a | -| main.rs:61:9:61:9 | a | main.rs:61:9:61:9 | a | -| main.rs:61:13:61:17 | { ... } | main.rs:61:9:61:9 | a | -| main.rs:61:15:61:15 | 0 | main.rs:61:13:61:17 | { ... } | -| main.rs:62:5:62:5 | a | main.rs:60:31:63:1 | { ... } | -| main.rs:65:22:65:22 | [SSA] b | main.rs:67:12:67:12 | b | -| main.rs:65:22:65:22 | b | main.rs:65:22:65:22 | [SSA] b | -| main.rs:65:22:65:22 | b | main.rs:65:22:65:22 | b | -| main.rs:65:22:65:28 | ...: bool | main.rs:65:22:65:22 | b | -| main.rs:66:9:66:9 | [SSA] a | main.rs:72:5:72:5 | a | -| main.rs:66:9:66:9 | a | main.rs:66:9:66:9 | [SSA] a | -| main.rs:66:9:66:9 | a | main.rs:66:9:66:9 | a | -| main.rs:66:13:71:5 | 'block: { ... } | main.rs:66:9:66:9 | a | -| main.rs:68:13:68:26 | break 'block 1 | main.rs:66:13:71:5 | 'block: { ... } | -| main.rs:68:26:68:26 | 1 | main.rs:68:13:68:26 | break 'block 1 | -| main.rs:70:9:70:9 | 2 | main.rs:66:13:71:5 | 'block: { ... } | -| main.rs:72:5:72:5 | a | main.rs:65:38:73:1 | { ... } | -| main.rs:75:22:75:22 | [SSA] b | main.rs:77:12:77:12 | b | -| main.rs:75:22:75:22 | b | main.rs:75:22:75:22 | [SSA] b | -| main.rs:75:22:75:22 | b | main.rs:75:22:75:22 | b | -| main.rs:75:22:75:28 | ...: bool | main.rs:75:22:75:22 | b | -| main.rs:76:9:76:9 | [SSA] a | main.rs:82:5:82:5 | a | -| main.rs:76:9:76:9 | a | main.rs:76:9:76:9 | [SSA] a | -| main.rs:76:9:76:9 | a | main.rs:76:9:76:9 | a | -| main.rs:76:13:81:5 | 'block: { ... } | main.rs:76:9:76:9 | a | -| main.rs:78:13:78:26 | break 'block 1 | main.rs:76:13:81:5 | 'block: { ... } | -| main.rs:78:26:78:26 | 1 | main.rs:78:13:78:26 | break 'block 1 | -| main.rs:80:9:80:22 | break 'block 2 | main.rs:76:13:81:5 | 'block: { ... } | -| main.rs:80:22:80:22 | 2 | main.rs:80:9:80:22 | break 'block 2 | -| main.rs:82:5:82:5 | a | main.rs:75:38:83:1 | { ... } | -| main.rs:89:9:89:9 | [SSA] i | main.rs:90:11:90:11 | i | -| main.rs:89:9:89:9 | i | main.rs:89:9:89:9 | [SSA] i | -| main.rs:89:9:89:9 | i | main.rs:89:9:89:9 | i | -| main.rs:89:13:89:31 | ...::new(...) | main.rs:89:9:89:9 | i | -| main.rs:90:11:90:11 | [post] receiver for i | main.rs:90:11:90:11 | [post] i | -| main.rs:90:11:90:11 | i | main.rs:90:11:90:11 | receiver for i | -| main.rs:97:9:97:9 | [SSA] a | main.rs:98:10:98:10 | a | -| main.rs:97:9:97:9 | a | main.rs:97:9:97:9 | [SSA] a | -| main.rs:97:9:97:9 | a | main.rs:97:9:97:9 | a | -| main.rs:97:13:97:26 | TupleExpr | main.rs:97:9:97:9 | a | -| main.rs:98:10:98:10 | [post] a | main.rs:99:10:99:10 | a | -| main.rs:98:10:98:10 | a | main.rs:99:10:99:10 | a | -| main.rs:103:9:103:9 | [SSA] a | main.rs:104:24:104:24 | a | -| main.rs:103:9:103:9 | a | main.rs:103:9:103:9 | [SSA] a | -| main.rs:103:9:103:9 | a | main.rs:103:9:103:9 | a | -| main.rs:103:13:103:30 | TupleExpr | main.rs:103:9:103:9 | a | -| main.rs:104:10:104:11 | [SSA] a0 | main.rs:105:10:105:11 | a0 | -| main.rs:104:10:104:11 | a0 | main.rs:104:10:104:11 | [SSA] a0 | -| main.rs:104:10:104:11 | a0 | main.rs:104:10:104:11 | a0 | -| main.rs:104:14:104:15 | [SSA] a1 | main.rs:106:10:106:11 | a1 | -| main.rs:104:14:104:15 | a1 | main.rs:104:14:104:15 | [SSA] a1 | -| main.rs:104:14:104:15 | a1 | main.rs:104:14:104:15 | a1 | -| main.rs:104:18:104:19 | [SSA] a2 | main.rs:107:10:107:11 | a2 | -| main.rs:104:18:104:19 | a2 | main.rs:104:18:104:19 | [SSA] a2 | -| main.rs:104:18:104:19 | a2 | main.rs:104:18:104:19 | a2 | -| main.rs:104:24:104:24 | a | main.rs:104:9:104:20 | TuplePat | -| main.rs:111:9:111:13 | mut a | main.rs:111:13:111:13 | a | -| main.rs:111:13:111:13 | [SSA] a | main.rs:112:10:112:10 | a | -| main.rs:111:13:111:13 | a | main.rs:111:13:111:13 | [SSA] a | -| main.rs:111:17:111:31 | TupleExpr | main.rs:111:9:111:13 | mut a | +| main.rs:4:11:4:11 | [SSA] i | main.rs:5:12:5:12 | i | +| main.rs:4:11:4:11 | i | main.rs:4:11:4:11 | [SSA] i | +| main.rs:4:11:4:11 | i | main.rs:4:11:4:11 | i | +| main.rs:4:11:4:16 | ...: i64 | main.rs:4:11:4:11 | i | +| main.rs:5:5:5:12 | ... + ... | main.rs:4:26:6:1 | { ... } | +| main.rs:7:9:7:9 | [SSA] s | main.rs:8:20:8:20 | s | +| main.rs:7:9:7:9 | s | main.rs:7:9:7:9 | [SSA] s | +| main.rs:7:9:7:9 | s | main.rs:7:9:7:9 | s | +| main.rs:7:9:7:14 | ...: i64 | main.rs:7:9:7:9 | s | +| main.rs:8:14:8:20 | FormatArgsExpr | main.rs:8:14:8:20 | MacroExpr | +| main.rs:8:14:8:20 | MacroBlockExpr | main.rs:8:5:8:21 | MacroExpr | +| main.rs:8:14:8:20 | [post] MacroExpr | main.rs:8:14:8:20 | [post] FormatArgsExpr | +| main.rs:8:14:8:20 | { ... } | main.rs:8:14:8:20 | MacroBlockExpr | +| main.rs:11:13:11:14 | [SSA] sr | main.rs:12:20:12:21 | sr | +| main.rs:11:13:11:14 | sr | main.rs:11:13:11:14 | [SSA] sr | +| main.rs:11:13:11:14 | sr | main.rs:11:13:11:14 | sr | +| main.rs:11:13:11:20 | ...: ... | main.rs:11:13:11:14 | sr | +| main.rs:12:14:12:21 | FormatArgsExpr | main.rs:12:14:12:21 | MacroExpr | +| main.rs:12:14:12:21 | MacroBlockExpr | main.rs:12:5:12:22 | MacroExpr | +| main.rs:12:14:12:21 | [post] MacroExpr | main.rs:12:14:12:21 | [post] FormatArgsExpr | +| main.rs:12:14:12:21 | { ... } | main.rs:12:14:12:21 | MacroBlockExpr | +| main.rs:23:9:23:9 | [SSA] s | main.rs:24:10:24:10 | s | +| main.rs:23:9:23:9 | s | main.rs:23:9:23:9 | [SSA] s | +| main.rs:23:9:23:9 | s | main.rs:23:9:23:9 | s | +| main.rs:23:13:23:21 | source(...) | main.rs:23:9:23:9 | s | +| main.rs:24:10:24:10 | [post] s | main.rs:26:16:26:16 | s | +| main.rs:24:10:24:10 | s | main.rs:26:16:26:16 | s | +| main.rs:26:12:26:12 | [SSA] x | main.rs:27:14:27:14 | x | +| main.rs:26:12:26:12 | x | main.rs:26:12:26:12 | [SSA] x | +| main.rs:26:12:26:12 | x | main.rs:26:12:26:12 | x | +| main.rs:26:16:26:16 | s | main.rs:26:12:26:12 | x | +| main.rs:26:16:26:16 | s | main.rs:30:16:30:16 | s | +| main.rs:26:18:28:5 | { ... } | main.rs:26:5:28:5 | if ... {...} | +| main.rs:30:12:30:12 | [SSA] x | main.rs:32:18:32:18 | x | +| main.rs:30:12:30:12 | x | main.rs:30:12:30:12 | [SSA] x | +| main.rs:30:12:30:12 | x | main.rs:30:12:30:12 | x | +| main.rs:30:16:30:16 | s | main.rs:30:12:30:12 | x | +| main.rs:32:18:32:18 | [post] x | main.rs:36:14:36:14 | x | +| main.rs:32:18:32:18 | x | main.rs:36:14:36:14 | x | +| main.rs:33:13:33:16 | true | main.rs:31:12:34:9 | { ... } | +| main.rs:35:5:37:5 | { ... } | main.rs:30:5:37:5 | if ... {...} | +| main.rs:40:18:40:21 | [SSA] cond | main.rs:43:16:43:19 | cond | +| main.rs:40:18:40:21 | cond | main.rs:40:18:40:21 | [SSA] cond | +| main.rs:40:18:40:21 | cond | main.rs:40:18:40:21 | cond | +| main.rs:40:18:40:27 | ...: bool | main.rs:40:18:40:21 | cond | +| main.rs:41:9:41:9 | [SSA] a | main.rs:43:23:43:23 | a | +| main.rs:41:9:41:9 | a | main.rs:41:9:41:9 | [SSA] a | +| main.rs:41:9:41:9 | a | main.rs:41:9:41:9 | a | +| main.rs:41:13:41:21 | source(...) | main.rs:41:9:41:9 | a | +| main.rs:42:9:42:9 | [SSA] b | main.rs:43:34:43:34 | b | +| main.rs:42:9:42:9 | b | main.rs:42:9:42:9 | [SSA] b | +| main.rs:42:9:42:9 | b | main.rs:42:9:42:9 | b | +| main.rs:42:13:42:13 | 2 | main.rs:42:9:42:9 | b | +| main.rs:43:9:43:9 | [SSA] c | main.rs:44:10:44:10 | c | +| main.rs:43:9:43:9 | c | main.rs:43:9:43:9 | [SSA] c | +| main.rs:43:9:43:9 | c | main.rs:43:9:43:9 | c | +| main.rs:43:13:43:36 | if cond {...} else {...} | main.rs:43:9:43:9 | c | +| main.rs:43:21:43:25 | { ... } | main.rs:43:13:43:36 | if cond {...} else {...} | +| main.rs:43:23:43:23 | a | main.rs:43:21:43:25 | { ... } | +| main.rs:43:32:43:36 | { ... } | main.rs:43:13:43:36 | if cond {...} else {...} | +| main.rs:43:34:43:34 | b | main.rs:43:32:43:36 | { ... } | +| main.rs:47:21:47:21 | [SSA] m | main.rs:49:19:49:19 | m | +| main.rs:47:21:47:21 | m | main.rs:47:21:47:21 | [SSA] m | +| main.rs:47:21:47:21 | m | main.rs:47:21:47:21 | m | +| main.rs:47:21:47:34 | ...: Option::<...> | main.rs:47:21:47:21 | m | +| main.rs:48:9:48:9 | [SSA] a | main.rs:50:20:50:20 | a | +| main.rs:48:9:48:9 | a | main.rs:48:9:48:9 | [SSA] a | +| main.rs:48:9:48:9 | a | main.rs:48:9:48:9 | a | +| main.rs:48:13:48:21 | source(...) | main.rs:48:9:48:9 | a | +| main.rs:49:9:49:9 | [SSA] b | main.rs:53:10:53:10 | b | +| main.rs:49:9:49:9 | b | main.rs:49:9:49:9 | [SSA] b | +| main.rs:49:9:49:9 | b | main.rs:49:9:49:9 | b | +| main.rs:49:13:52:5 | match m { ... } | main.rs:49:9:49:9 | b | +| main.rs:49:19:49:19 | m | main.rs:50:9:50:15 | Some(...) | +| main.rs:49:19:49:19 | m | main.rs:51:9:51:12 | None | +| main.rs:50:20:50:20 | a | main.rs:49:13:52:5 | match m { ... } | +| main.rs:51:17:51:17 | 0 | main.rs:49:13:52:5 | match m { ... } | +| main.rs:57:9:57:9 | [SSA] a | main.rs:60:10:60:10 | a | +| main.rs:57:9:57:9 | a | main.rs:57:9:57:9 | [SSA] a | +| main.rs:57:9:57:9 | a | main.rs:57:9:57:9 | a | +| main.rs:57:13:59:5 | loop { ... } | main.rs:57:9:57:9 | a | +| main.rs:58:9:58:15 | break 1 | main.rs:57:13:59:5 | loop { ... } | +| main.rs:58:15:58:15 | 1 | main.rs:58:9:58:15 | break 1 | +| main.rs:61:9:61:9 | [SSA] b | main.rs:64:10:64:10 | b | +| main.rs:61:9:61:9 | b | main.rs:61:9:61:9 | [SSA] b | +| main.rs:61:9:61:9 | b | main.rs:61:9:61:9 | b | +| main.rs:61:13:63:5 | loop { ... } | main.rs:61:9:61:9 | b | +| main.rs:62:9:62:23 | break ... | main.rs:61:13:63:5 | loop { ... } | +| main.rs:62:15:62:23 | source(...) | main.rs:62:9:62:23 | break ... | +| main.rs:68:9:68:13 | mut i | main.rs:68:13:68:13 | i | +| main.rs:68:13:68:13 | [SSA] i | main.rs:69:10:69:10 | i | +| main.rs:68:13:68:13 | i | main.rs:68:13:68:13 | [SSA] i | +| main.rs:68:17:68:17 | 1 | main.rs:68:9:68:13 | mut i | +| main.rs:70:5:70:5 | [SSA] i | main.rs:71:10:71:10 | i | +| main.rs:70:5:70:5 | i | main.rs:70:5:70:5 | [SSA] i | +| main.rs:70:9:70:17 | source(...) | main.rs:70:5:70:5 | i | +| main.rs:75:9:75:9 | [SSA] a | main.rs:76:5:76:5 | a | +| main.rs:75:9:75:9 | a | main.rs:75:9:75:9 | [SSA] a | +| main.rs:75:9:75:9 | a | main.rs:75:9:75:9 | a | +| main.rs:75:13:75:17 | { ... } | main.rs:75:9:75:9 | a | +| main.rs:75:15:75:15 | 0 | main.rs:75:13:75:17 | { ... } | +| main.rs:76:5:76:5 | a | main.rs:74:31:77:1 | { ... } | +| main.rs:79:22:79:22 | [SSA] b | main.rs:81:12:81:12 | b | +| main.rs:79:22:79:22 | b | main.rs:79:22:79:22 | [SSA] b | +| main.rs:79:22:79:22 | b | main.rs:79:22:79:22 | b | +| main.rs:79:22:79:28 | ...: bool | main.rs:79:22:79:22 | b | +| main.rs:80:9:80:9 | [SSA] a | main.rs:86:5:86:5 | a | +| main.rs:80:9:80:9 | a | main.rs:80:9:80:9 | [SSA] a | +| main.rs:80:9:80:9 | a | main.rs:80:9:80:9 | a | +| main.rs:80:13:85:5 | 'block: { ... } | main.rs:80:9:80:9 | a | +| main.rs:82:13:82:26 | break 'block 1 | main.rs:80:13:85:5 | 'block: { ... } | +| main.rs:82:26:82:26 | 1 | main.rs:82:13:82:26 | break 'block 1 | +| main.rs:84:9:84:9 | 2 | main.rs:80:13:85:5 | 'block: { ... } | +| main.rs:86:5:86:5 | a | main.rs:79:38:87:1 | { ... } | +| main.rs:89:22:89:22 | [SSA] b | main.rs:91:12:91:12 | b | +| main.rs:89:22:89:22 | b | main.rs:89:22:89:22 | [SSA] b | +| main.rs:89:22:89:22 | b | main.rs:89:22:89:22 | b | +| main.rs:89:22:89:28 | ...: bool | main.rs:89:22:89:22 | b | +| main.rs:90:9:90:9 | [SSA] a | main.rs:96:5:96:5 | a | +| main.rs:90:9:90:9 | a | main.rs:90:9:90:9 | [SSA] a | +| main.rs:90:9:90:9 | a | main.rs:90:9:90:9 | a | +| main.rs:90:13:95:5 | 'block: { ... } | main.rs:90:9:90:9 | a | +| main.rs:92:13:92:26 | break 'block 1 | main.rs:90:13:95:5 | 'block: { ... } | +| main.rs:92:26:92:26 | 1 | main.rs:92:13:92:26 | break 'block 1 | +| main.rs:94:9:94:22 | break 'block 2 | main.rs:90:13:95:5 | 'block: { ... } | +| main.rs:94:22:94:22 | 2 | main.rs:94:9:94:22 | break 'block 2 | +| main.rs:96:5:96:5 | a | main.rs:89:38:97:1 | { ... } | +| main.rs:103:9:103:9 | [SSA] i | main.rs:104:11:104:11 | i | +| main.rs:103:9:103:9 | i | main.rs:103:9:103:9 | [SSA] i | +| main.rs:103:9:103:9 | i | main.rs:103:9:103:9 | i | +| main.rs:103:13:103:31 | ...::new(...) | main.rs:103:9:103:9 | i | +| main.rs:104:11:104:11 | [post] receiver for i | main.rs:104:11:104:11 | [post] i | +| main.rs:104:11:104:11 | i | main.rs:104:11:104:11 | receiver for i | +| main.rs:111:9:111:9 | [SSA] a | main.rs:112:10:112:10 | a | +| main.rs:111:9:111:9 | a | main.rs:111:9:111:9 | [SSA] a | +| main.rs:111:9:111:9 | a | main.rs:111:9:111:9 | a | +| main.rs:111:13:111:26 | TupleExpr | main.rs:111:9:111:9 | a | | main.rs:112:10:112:10 | [post] a | main.rs:113:10:113:10 | a | | main.rs:112:10:112:10 | a | main.rs:113:10:113:10 | a | -| main.rs:113:10:113:10 | [post] a | main.rs:114:5:114:5 | a | -| main.rs:113:10:113:10 | a | main.rs:114:5:114:5 | a | -| main.rs:114:5:114:5 | [post] a | main.rs:115:5:115:5 | a | -| main.rs:114:5:114:5 | a | main.rs:115:5:115:5 | a | -| main.rs:114:11:114:20 | source(...) | main.rs:114:5:114:7 | a.0 | -| main.rs:115:5:115:5 | [post] a | main.rs:116:10:116:10 | a | -| main.rs:115:5:115:5 | a | main.rs:116:10:116:10 | a | -| main.rs:115:11:115:11 | 2 | main.rs:115:5:115:7 | a.1 | -| main.rs:116:10:116:10 | [post] a | main.rs:117:10:117:10 | a | -| main.rs:116:10:116:10 | a | main.rs:117:10:117:10 | a | -| main.rs:121:9:121:9 | [SSA] a | main.rs:122:14:122:14 | a | -| main.rs:121:9:121:9 | a | main.rs:121:9:121:9 | [SSA] a | -| main.rs:121:9:121:9 | a | main.rs:121:9:121:9 | a | -| main.rs:121:13:121:27 | TupleExpr | main.rs:121:9:121:9 | a | -| main.rs:122:9:122:9 | [SSA] b | main.rs:123:10:123:10 | b | -| main.rs:122:9:122:9 | b | main.rs:122:9:122:9 | [SSA] b | -| main.rs:122:9:122:9 | b | main.rs:122:9:122:9 | b | -| main.rs:122:13:122:18 | TupleExpr | main.rs:122:9:122:9 | b | -| main.rs:123:10:123:10 | [post] b | main.rs:124:10:124:10 | b | -| main.rs:123:10:123:10 | b | main.rs:124:10:124:10 | b | -| main.rs:124:10:124:10 | [post] b | main.rs:125:10:125:10 | b | -| main.rs:124:10:124:10 | b | main.rs:125:10:125:10 | b | -| main.rs:137:9:137:9 | [SSA] p | main.rs:138:10:138:10 | p | -| main.rs:137:9:137:9 | p | main.rs:137:9:137:9 | [SSA] p | -| main.rs:137:9:137:9 | p | main.rs:137:9:137:9 | p | -| main.rs:137:13:137:40 | Point {...} | main.rs:137:9:137:9 | p | -| main.rs:138:10:138:10 | [post] p | main.rs:139:10:139:10 | p | -| main.rs:138:10:138:10 | p | main.rs:139:10:139:10 | p | -| main.rs:143:9:143:13 | mut p | main.rs:143:13:143:13 | p | -| main.rs:143:13:143:13 | [SSA] p | main.rs:144:10:144:10 | p | -| main.rs:143:13:143:13 | p | main.rs:143:13:143:13 | [SSA] p | -| main.rs:143:17:143:44 | Point {...} | main.rs:143:9:143:13 | mut p | -| main.rs:144:10:144:10 | [post] p | main.rs:145:5:145:5 | p | -| main.rs:144:10:144:10 | p | main.rs:145:5:145:5 | p | -| main.rs:145:5:145:5 | [post] p | main.rs:146:10:146:10 | p | -| main.rs:145:5:145:5 | p | main.rs:146:10:146:10 | p | -| main.rs:145:11:145:20 | source(...) | main.rs:145:5:145:7 | p.y | -| main.rs:150:9:150:9 | [SSA] p | main.rs:154:32:154:32 | p | -| main.rs:150:9:150:9 | p | main.rs:150:9:150:9 | [SSA] p | -| main.rs:150:9:150:9 | p | main.rs:150:9:150:9 | p | -| main.rs:150:13:153:5 | Point {...} | main.rs:150:9:150:9 | p | -| main.rs:154:20:154:20 | [SSA] a | main.rs:155:10:155:10 | a | -| main.rs:154:20:154:20 | a | main.rs:154:20:154:20 | [SSA] a | -| main.rs:154:20:154:20 | a | main.rs:154:20:154:20 | a | -| main.rs:154:26:154:26 | [SSA] b | main.rs:156:10:156:10 | b | -| main.rs:154:26:154:26 | b | main.rs:154:26:154:26 | [SSA] b | -| main.rs:154:26:154:26 | b | main.rs:154:26:154:26 | b | -| main.rs:154:32:154:32 | p | main.rs:154:9:154:28 | Point {...} | -| main.rs:165:9:165:9 | [SSA] p | main.rs:172:10:172:10 | p | -| main.rs:165:9:165:9 | p | main.rs:165:9:165:9 | [SSA] p | -| main.rs:165:9:165:9 | p | main.rs:165:9:165:9 | p | -| main.rs:165:13:171:5 | Point3D {...} | main.rs:165:9:165:9 | p | -| main.rs:172:10:172:10 | [post] p | main.rs:173:10:173:10 | p | -| main.rs:172:10:172:10 | p | main.rs:173:10:173:10 | p | -| main.rs:173:10:173:10 | [post] p | main.rs:174:10:174:10 | p | -| main.rs:173:10:173:10 | p | main.rs:174:10:174:10 | p | -| main.rs:178:9:178:9 | [SSA] y | main.rs:180:30:180:30 | y | -| main.rs:178:9:178:9 | y | main.rs:178:9:178:9 | [SSA] y | -| main.rs:178:9:178:9 | y | main.rs:178:9:178:9 | y | -| main.rs:178:13:178:22 | source(...) | main.rs:178:9:178:9 | y | -| main.rs:179:9:179:9 | [SSA] p | main.rs:183:11:183:11 | p | +| main.rs:117:9:117:9 | [SSA] a | main.rs:118:24:118:24 | a | +| main.rs:117:9:117:9 | a | main.rs:117:9:117:9 | [SSA] a | +| main.rs:117:9:117:9 | a | main.rs:117:9:117:9 | a | +| main.rs:117:13:117:30 | TupleExpr | main.rs:117:9:117:9 | a | +| main.rs:118:10:118:11 | [SSA] a0 | main.rs:119:10:119:11 | a0 | +| main.rs:118:10:118:11 | a0 | main.rs:118:10:118:11 | [SSA] a0 | +| main.rs:118:10:118:11 | a0 | main.rs:118:10:118:11 | a0 | +| main.rs:118:14:118:15 | [SSA] a1 | main.rs:120:10:120:11 | a1 | +| main.rs:118:14:118:15 | a1 | main.rs:118:14:118:15 | [SSA] a1 | +| main.rs:118:14:118:15 | a1 | main.rs:118:14:118:15 | a1 | +| main.rs:118:18:118:19 | [SSA] a2 | main.rs:121:10:121:11 | a2 | +| main.rs:118:18:118:19 | a2 | main.rs:118:18:118:19 | [SSA] a2 | +| main.rs:118:18:118:19 | a2 | main.rs:118:18:118:19 | a2 | +| main.rs:118:24:118:24 | a | main.rs:118:9:118:20 | TuplePat | +| main.rs:125:9:125:13 | mut a | main.rs:125:13:125:13 | a | +| main.rs:125:13:125:13 | [SSA] a | main.rs:126:10:126:10 | a | +| main.rs:125:13:125:13 | a | main.rs:125:13:125:13 | [SSA] a | +| main.rs:125:17:125:31 | TupleExpr | main.rs:125:9:125:13 | mut a | +| main.rs:126:10:126:10 | [post] a | main.rs:127:10:127:10 | a | +| main.rs:126:10:126:10 | a | main.rs:127:10:127:10 | a | +| main.rs:127:10:127:10 | [post] a | main.rs:128:5:128:5 | a | +| main.rs:127:10:127:10 | a | main.rs:128:5:128:5 | a | +| main.rs:128:5:128:5 | [post] a | main.rs:129:5:129:5 | a | +| main.rs:128:5:128:5 | a | main.rs:129:5:129:5 | a | +| main.rs:128:11:128:20 | source(...) | main.rs:128:5:128:7 | a.0 | +| main.rs:129:5:129:5 | [post] a | main.rs:130:10:130:10 | a | +| main.rs:129:5:129:5 | a | main.rs:130:10:130:10 | a | +| main.rs:129:11:129:11 | 2 | main.rs:129:5:129:7 | a.1 | +| main.rs:130:10:130:10 | [post] a | main.rs:131:10:131:10 | a | +| main.rs:130:10:130:10 | a | main.rs:131:10:131:10 | a | +| main.rs:135:9:135:9 | [SSA] a | main.rs:136:14:136:14 | a | +| main.rs:135:9:135:9 | a | main.rs:135:9:135:9 | [SSA] a | +| main.rs:135:9:135:9 | a | main.rs:135:9:135:9 | a | +| main.rs:135:13:135:27 | TupleExpr | main.rs:135:9:135:9 | a | +| main.rs:136:9:136:9 | [SSA] b | main.rs:137:10:137:10 | b | +| main.rs:136:9:136:9 | b | main.rs:136:9:136:9 | [SSA] b | +| main.rs:136:9:136:9 | b | main.rs:136:9:136:9 | b | +| main.rs:136:13:136:18 | TupleExpr | main.rs:136:9:136:9 | b | +| main.rs:137:10:137:10 | [post] b | main.rs:138:10:138:10 | b | +| main.rs:137:10:137:10 | b | main.rs:138:10:138:10 | b | +| main.rs:138:10:138:10 | [post] b | main.rs:139:10:139:10 | b | +| main.rs:138:10:138:10 | b | main.rs:139:10:139:10 | b | +| main.rs:151:9:151:9 | [SSA] p | main.rs:152:10:152:10 | p | +| main.rs:151:9:151:9 | p | main.rs:151:9:151:9 | [SSA] p | +| main.rs:151:9:151:9 | p | main.rs:151:9:151:9 | p | +| main.rs:151:13:151:40 | Point {...} | main.rs:151:9:151:9 | p | +| main.rs:152:10:152:10 | [post] p | main.rs:153:10:153:10 | p | +| main.rs:152:10:152:10 | p | main.rs:153:10:153:10 | p | +| main.rs:157:9:157:13 | mut p | main.rs:157:13:157:13 | p | +| main.rs:157:13:157:13 | [SSA] p | main.rs:158:10:158:10 | p | +| main.rs:157:13:157:13 | p | main.rs:157:13:157:13 | [SSA] p | +| main.rs:157:17:157:44 | Point {...} | main.rs:157:9:157:13 | mut p | +| main.rs:158:10:158:10 | [post] p | main.rs:159:5:159:5 | p | +| main.rs:158:10:158:10 | p | main.rs:159:5:159:5 | p | +| main.rs:159:5:159:5 | [post] p | main.rs:160:10:160:10 | p | +| main.rs:159:5:159:5 | p | main.rs:160:10:160:10 | p | +| main.rs:159:11:159:20 | source(...) | main.rs:159:5:159:7 | p.y | +| main.rs:164:9:164:9 | [SSA] p | main.rs:168:32:168:32 | p | +| main.rs:164:9:164:9 | p | main.rs:164:9:164:9 | [SSA] p | +| main.rs:164:9:164:9 | p | main.rs:164:9:164:9 | p | +| main.rs:164:13:167:5 | Point {...} | main.rs:164:9:164:9 | p | +| main.rs:168:20:168:20 | [SSA] a | main.rs:169:10:169:10 | a | +| main.rs:168:20:168:20 | a | main.rs:168:20:168:20 | [SSA] a | +| main.rs:168:20:168:20 | a | main.rs:168:20:168:20 | a | +| main.rs:168:26:168:26 | [SSA] b | main.rs:170:10:170:10 | b | +| main.rs:168:26:168:26 | b | main.rs:168:26:168:26 | [SSA] b | +| main.rs:168:26:168:26 | b | main.rs:168:26:168:26 | b | +| main.rs:168:32:168:32 | p | main.rs:168:9:168:28 | Point {...} | +| main.rs:179:9:179:9 | [SSA] p | main.rs:186:10:186:10 | p | | main.rs:179:9:179:9 | p | main.rs:179:9:179:9 | [SSA] p | | main.rs:179:9:179:9 | p | main.rs:179:9:179:9 | p | -| main.rs:179:13:182:5 | Point3D {...} | main.rs:179:9:179:9 | p | -| main.rs:183:5:192:5 | match p { ... } | main.rs:177:26:193:1 | { ... } | -| main.rs:183:11:183:11 | p | main.rs:184:9:187:9 | Point3D {...} | -| main.rs:185:28:185:28 | [SSA] x | main.rs:188:18:188:18 | x | -| main.rs:185:28:185:28 | x | main.rs:185:28:185:28 | [SSA] x | -| main.rs:185:28:185:28 | x | main.rs:185:28:185:28 | x | -| main.rs:185:31:185:31 | [SSA] y | main.rs:189:18:189:18 | y | -| main.rs:185:31:185:31 | y | main.rs:185:31:185:31 | [SSA] y | -| main.rs:185:31:185:31 | y | main.rs:185:31:185:31 | y | -| main.rs:186:13:186:13 | [SSA] z | main.rs:190:18:190:18 | z | -| main.rs:186:13:186:13 | z | main.rs:186:13:186:13 | [SSA] z | -| main.rs:186:13:186:13 | z | main.rs:186:13:186:13 | z | -| main.rs:187:14:191:9 | { ... } | main.rs:183:5:192:5 | match p { ... } | -| main.rs:198:9:198:9 | [SSA] s | main.rs:199:10:199:10 | s | -| main.rs:198:9:198:9 | s | main.rs:198:9:198:9 | [SSA] s | -| main.rs:198:9:198:9 | s | main.rs:198:9:198:9 | s | -| main.rs:198:13:198:40 | MyTupleStruct(...) | main.rs:198:9:198:9 | s | -| main.rs:199:10:199:10 | [post] s | main.rs:200:10:200:10 | s | -| main.rs:199:10:199:10 | s | main.rs:200:10:200:10 | s | -| main.rs:200:10:200:10 | [post] s | main.rs:202:11:202:11 | s | -| main.rs:200:10:200:10 | s | main.rs:202:11:202:11 | s | -| main.rs:202:5:207:5 | match s { ... } | main.rs:197:19:208:1 | { ... } | -| main.rs:202:11:202:11 | s | main.rs:203:9:203:27 | MyTupleStruct(...) | -| main.rs:203:23:203:23 | [SSA] x | main.rs:204:18:204:18 | x | -| main.rs:203:23:203:23 | x | main.rs:203:23:203:23 | [SSA] x | -| main.rs:203:23:203:23 | x | main.rs:203:23:203:23 | x | -| main.rs:203:26:203:26 | [SSA] y | main.rs:205:18:205:18 | y | -| main.rs:203:26:203:26 | y | main.rs:203:26:203:26 | [SSA] y | -| main.rs:203:26:203:26 | y | main.rs:203:26:203:26 | y | -| main.rs:203:32:206:9 | { ... } | main.rs:202:5:207:5 | match s { ... } | -| main.rs:214:9:214:10 | [SSA] s1 | main.rs:216:11:216:12 | s1 | -| main.rs:214:9:214:10 | s1 | main.rs:214:9:214:10 | [SSA] s1 | -| main.rs:214:9:214:10 | s1 | main.rs:214:9:214:10 | s1 | -| main.rs:214:14:214:37 | ...::Some(...) | main.rs:214:9:214:10 | s1 | -| main.rs:215:9:215:10 | [SSA] s2 | main.rs:220:11:220:12 | s2 | -| main.rs:215:9:215:10 | s2 | main.rs:215:9:215:10 | [SSA] s2 | -| main.rs:215:9:215:10 | s2 | main.rs:215:9:215:10 | s2 | -| main.rs:215:14:215:28 | ...::Some(...) | main.rs:215:9:215:10 | s2 | -| main.rs:216:11:216:12 | s1 | main.rs:217:9:217:23 | ...::Some(...) | -| main.rs:216:11:216:12 | s1 | main.rs:218:9:218:20 | ...::None | -| main.rs:217:22:217:22 | [SSA] n | main.rs:217:33:217:33 | n | -| main.rs:217:22:217:22 | n | main.rs:217:22:217:22 | [SSA] n | -| main.rs:217:22:217:22 | n | main.rs:217:22:217:22 | n | -| main.rs:217:28:217:34 | sink(...) | main.rs:216:5:219:5 | match s1 { ... } | -| main.rs:218:25:218:31 | sink(...) | main.rs:216:5:219:5 | match s1 { ... } | -| main.rs:220:5:223:5 | match s2 { ... } | main.rs:213:37:224:1 | { ... } | -| main.rs:220:11:220:12 | s2 | main.rs:221:9:221:23 | ...::Some(...) | -| main.rs:220:11:220:12 | s2 | main.rs:222:9:222:20 | ...::None | -| main.rs:221:22:221:22 | [SSA] n | main.rs:221:33:221:33 | n | -| main.rs:221:22:221:22 | n | main.rs:221:22:221:22 | [SSA] n | -| main.rs:221:22:221:22 | n | main.rs:221:22:221:22 | n | -| main.rs:221:28:221:34 | sink(...) | main.rs:220:5:223:5 | match s2 { ... } | -| main.rs:222:25:222:31 | sink(...) | main.rs:220:5:223:5 | match s2 { ... } | -| main.rs:227:9:227:10 | [SSA] s1 | main.rs:229:11:229:12 | s1 | -| main.rs:227:9:227:10 | s1 | main.rs:227:9:227:10 | [SSA] s1 | -| main.rs:227:9:227:10 | s1 | main.rs:227:9:227:10 | s1 | -| main.rs:227:14:227:29 | Some(...) | main.rs:227:9:227:10 | s1 | -| main.rs:228:9:228:10 | [SSA] s2 | main.rs:233:11:233:12 | s2 | -| main.rs:228:9:228:10 | s2 | main.rs:228:9:228:10 | [SSA] s2 | -| main.rs:228:9:228:10 | s2 | main.rs:228:9:228:10 | s2 | -| main.rs:228:14:228:20 | Some(...) | main.rs:228:9:228:10 | s2 | -| main.rs:229:11:229:12 | s1 | main.rs:230:9:230:15 | Some(...) | -| main.rs:229:11:229:12 | s1 | main.rs:231:9:231:12 | None | -| main.rs:230:14:230:14 | [SSA] n | main.rs:230:25:230:25 | n | -| main.rs:230:14:230:14 | n | main.rs:230:14:230:14 | [SSA] n | -| main.rs:230:14:230:14 | n | main.rs:230:14:230:14 | n | -| main.rs:230:20:230:26 | sink(...) | main.rs:229:5:232:5 | match s1 { ... } | -| main.rs:231:17:231:23 | sink(...) | main.rs:229:5:232:5 | match s1 { ... } | -| main.rs:233:5:236:5 | match s2 { ... } | main.rs:226:39:237:1 | { ... } | -| main.rs:233:11:233:12 | s2 | main.rs:234:9:234:15 | Some(...) | -| main.rs:233:11:233:12 | s2 | main.rs:235:9:235:12 | None | -| main.rs:234:14:234:14 | [SSA] n | main.rs:234:25:234:25 | n | -| main.rs:234:14:234:14 | n | main.rs:234:14:234:14 | [SSA] n | -| main.rs:234:14:234:14 | n | main.rs:234:14:234:14 | n | -| main.rs:234:20:234:26 | sink(...) | main.rs:233:5:236:5 | match s2 { ... } | -| main.rs:235:17:235:23 | sink(...) | main.rs:233:5:236:5 | match s2 { ... } | -| main.rs:240:9:240:10 | [SSA] s1 | main.rs:241:10:241:11 | s1 | -| main.rs:240:9:240:10 | s1 | main.rs:240:9:240:10 | [SSA] s1 | -| main.rs:240:9:240:10 | s1 | main.rs:240:9:240:10 | s1 | -| main.rs:240:14:240:29 | Some(...) | main.rs:240:9:240:10 | s1 | -| main.rs:241:10:241:11 | [post] receiver for s1 | main.rs:241:10:241:11 | [post] s1 | -| main.rs:241:10:241:11 | s1 | main.rs:241:10:241:11 | receiver for s1 | -| main.rs:245:9:245:10 | [SSA] s1 | main.rs:246:10:246:11 | s1 | -| main.rs:245:9:245:10 | s1 | main.rs:245:9:245:10 | [SSA] s1 | -| main.rs:245:9:245:10 | s1 | main.rs:245:9:245:10 | s1 | -| main.rs:245:14:245:29 | Some(...) | main.rs:245:9:245:10 | s1 | -| main.rs:246:10:246:11 | [post] receiver for s1 | main.rs:246:10:246:11 | [post] s1 | -| main.rs:246:10:246:11 | s1 | main.rs:246:10:246:11 | receiver for s1 | -| main.rs:248:9:248:10 | [SSA] s2 | main.rs:249:10:249:11 | s2 | -| main.rs:248:9:248:10 | s2 | main.rs:248:9:248:10 | [SSA] s2 | -| main.rs:248:9:248:10 | s2 | main.rs:248:9:248:10 | s2 | -| main.rs:248:14:248:20 | Some(...) | main.rs:248:9:248:10 | s2 | -| main.rs:249:10:249:11 | [post] receiver for s2 | main.rs:249:10:249:11 | [post] s2 | -| main.rs:249:10:249:11 | s2 | main.rs:249:10:249:11 | receiver for s2 | -| main.rs:253:9:253:10 | [SSA] s1 | main.rs:254:10:254:11 | s1 | -| main.rs:253:9:253:10 | s1 | main.rs:253:9:253:10 | [SSA] s1 | -| main.rs:253:9:253:10 | s1 | main.rs:253:9:253:10 | s1 | -| main.rs:253:14:253:29 | Some(...) | main.rs:253:9:253:10 | s1 | -| main.rs:254:10:254:11 | [post] receiver for s1 | main.rs:254:10:254:11 | [post] s1 | -| main.rs:254:10:254:11 | s1 | main.rs:254:10:254:11 | receiver for s1 | -| main.rs:256:9:256:10 | [SSA] s2 | main.rs:257:10:257:11 | s2 | -| main.rs:256:9:256:10 | s2 | main.rs:256:9:256:10 | [SSA] s2 | -| main.rs:256:9:256:10 | s2 | main.rs:256:9:256:10 | s2 | -| main.rs:256:14:256:17 | None | main.rs:256:9:256:10 | s2 | -| main.rs:257:10:257:11 | [post] receiver for s2 | main.rs:257:10:257:11 | [post] s2 | -| main.rs:257:10:257:11 | s2 | main.rs:257:10:257:11 | receiver for s2 | -| main.rs:261:9:261:10 | [SSA] s1 | main.rs:263:14:263:15 | s1 | -| main.rs:261:9:261:10 | s1 | main.rs:261:9:261:10 | [SSA] s1 | -| main.rs:261:9:261:10 | s1 | main.rs:261:9:261:10 | s1 | -| main.rs:261:14:261:29 | Some(...) | main.rs:261:9:261:10 | s1 | -| main.rs:262:9:262:10 | [SSA] s2 | main.rs:265:10:265:11 | s2 | -| main.rs:262:9:262:10 | s2 | main.rs:262:9:262:10 | [SSA] s2 | -| main.rs:262:9:262:10 | s2 | main.rs:262:9:262:10 | s2 | -| main.rs:262:14:262:20 | Some(...) | main.rs:262:9:262:10 | s2 | -| main.rs:263:9:263:10 | [SSA] i1 | main.rs:264:10:264:11 | i1 | -| main.rs:263:9:263:10 | i1 | main.rs:263:9:263:10 | [SSA] i1 | -| main.rs:263:9:263:10 | i1 | main.rs:263:9:263:10 | i1 | -| main.rs:263:14:263:16 | TryExpr | main.rs:263:9:263:10 | i1 | -| main.rs:266:5:266:11 | Some(...) | main.rs:260:41:267:1 | { ... } | -| main.rs:270:9:270:10 | [SSA] r1 | main.rs:271:28:271:29 | r1 | -| main.rs:270:9:270:10 | r1 | main.rs:270:9:270:10 | [SSA] r1 | -| main.rs:270:9:270:10 | r1 | main.rs:270:9:270:10 | r1 | -| main.rs:270:32:270:45 | Ok(...) | main.rs:270:9:270:10 | r1 | -| main.rs:271:9:271:11 | [SSA] o1a | main.rs:273:10:273:12 | o1a | -| main.rs:271:9:271:11 | o1a | main.rs:271:9:271:11 | [SSA] o1a | -| main.rs:271:9:271:11 | o1a | main.rs:271:9:271:11 | o1a | -| main.rs:271:28:271:29 | [post] r1 | main.rs:272:28:272:29 | r1 | -| main.rs:271:28:271:29 | [post] receiver for r1 | main.rs:271:28:271:29 | [post] r1 | -| main.rs:271:28:271:29 | r1 | main.rs:271:28:271:29 | receiver for r1 | -| main.rs:271:28:271:29 | r1 | main.rs:272:28:272:29 | r1 | -| main.rs:271:28:271:34 | r1.ok() | main.rs:271:9:271:11 | o1a | -| main.rs:272:9:272:11 | [SSA] o1b | main.rs:274:10:274:12 | o1b | -| main.rs:272:9:272:11 | o1b | main.rs:272:9:272:11 | [SSA] o1b | -| main.rs:272:9:272:11 | o1b | main.rs:272:9:272:11 | o1b | -| main.rs:272:28:272:29 | [post] receiver for r1 | main.rs:272:28:272:29 | [post] r1 | -| main.rs:272:28:272:29 | r1 | main.rs:272:28:272:29 | receiver for r1 | -| main.rs:272:28:272:35 | r1.err() | main.rs:272:9:272:11 | o1b | -| main.rs:273:10:273:12 | [post] receiver for o1a | main.rs:273:10:273:12 | [post] o1a | -| main.rs:273:10:273:12 | o1a | main.rs:273:10:273:12 | receiver for o1a | -| main.rs:274:10:274:12 | [post] receiver for o1b | main.rs:274:10:274:12 | [post] o1b | -| main.rs:274:10:274:12 | o1b | main.rs:274:10:274:12 | receiver for o1b | -| main.rs:276:9:276:10 | [SSA] r2 | main.rs:277:28:277:29 | r2 | -| main.rs:276:9:276:10 | r2 | main.rs:276:9:276:10 | [SSA] r2 | -| main.rs:276:9:276:10 | r2 | main.rs:276:9:276:10 | r2 | -| main.rs:276:32:276:46 | Err(...) | main.rs:276:9:276:10 | r2 | -| main.rs:277:9:277:11 | [SSA] o2a | main.rs:279:10:279:12 | o2a | -| main.rs:277:9:277:11 | o2a | main.rs:277:9:277:11 | [SSA] o2a | -| main.rs:277:9:277:11 | o2a | main.rs:277:9:277:11 | o2a | -| main.rs:277:28:277:29 | [post] r2 | main.rs:278:28:278:29 | r2 | -| main.rs:277:28:277:29 | [post] receiver for r2 | main.rs:277:28:277:29 | [post] r2 | -| main.rs:277:28:277:29 | r2 | main.rs:277:28:277:29 | receiver for r2 | -| main.rs:277:28:277:29 | r2 | main.rs:278:28:278:29 | r2 | -| main.rs:277:28:277:34 | r2.ok() | main.rs:277:9:277:11 | o2a | -| main.rs:278:9:278:11 | [SSA] o2b | main.rs:280:10:280:12 | o2b | -| main.rs:278:9:278:11 | o2b | main.rs:278:9:278:11 | [SSA] o2b | -| main.rs:278:9:278:11 | o2b | main.rs:278:9:278:11 | o2b | -| main.rs:278:28:278:29 | [post] receiver for r2 | main.rs:278:28:278:29 | [post] r2 | -| main.rs:278:28:278:29 | r2 | main.rs:278:28:278:29 | receiver for r2 | -| main.rs:278:28:278:35 | r2.err() | main.rs:278:9:278:11 | o2b | -| main.rs:279:10:279:12 | [post] receiver for o2a | main.rs:279:10:279:12 | [post] o2a | -| main.rs:279:10:279:12 | o2a | main.rs:279:10:279:12 | receiver for o2a | -| main.rs:280:10:280:12 | [post] receiver for o2b | main.rs:280:10:280:12 | [post] o2b | -| main.rs:280:10:280:12 | o2b | main.rs:280:10:280:12 | receiver for o2b | -| main.rs:284:9:284:10 | [SSA] s1 | main.rs:287:14:287:15 | s1 | -| main.rs:284:9:284:10 | s1 | main.rs:284:9:284:10 | [SSA] s1 | -| main.rs:284:9:284:10 | s1 | main.rs:284:9:284:10 | s1 | -| main.rs:284:32:284:45 | Ok(...) | main.rs:284:9:284:10 | s1 | -| main.rs:285:9:285:10 | [SSA] s2 | main.rs:288:14:288:15 | s2 | -| main.rs:285:9:285:10 | s2 | main.rs:285:9:285:10 | [SSA] s2 | -| main.rs:285:9:285:10 | s2 | main.rs:285:9:285:10 | s2 | -| main.rs:285:32:285:36 | Ok(...) | main.rs:285:9:285:10 | s2 | -| main.rs:286:9:286:10 | [SSA] s3 | main.rs:291:14:291:15 | s3 | -| main.rs:286:9:286:10 | s3 | main.rs:286:9:286:10 | [SSA] s3 | -| main.rs:286:9:286:10 | s3 | main.rs:286:9:286:10 | s3 | -| main.rs:286:32:286:46 | Err(...) | main.rs:286:9:286:10 | s3 | -| main.rs:287:9:287:10 | [SSA] i1 | main.rs:289:10:289:11 | i1 | -| main.rs:287:9:287:10 | i1 | main.rs:287:9:287:10 | [SSA] i1 | -| main.rs:287:9:287:10 | i1 | main.rs:287:9:287:10 | i1 | -| main.rs:287:14:287:16 | TryExpr | main.rs:287:9:287:10 | i1 | -| main.rs:288:9:288:10 | [SSA] i2 | main.rs:290:10:290:11 | i2 | -| main.rs:288:9:288:10 | i2 | main.rs:288:9:288:10 | [SSA] i2 | -| main.rs:288:9:288:10 | i2 | main.rs:288:9:288:10 | i2 | -| main.rs:288:14:288:16 | TryExpr | main.rs:288:9:288:10 | i2 | -| main.rs:291:9:291:10 | [SSA] i3 | main.rs:292:10:292:11 | i3 | -| main.rs:291:9:291:10 | i3 | main.rs:291:9:291:10 | [SSA] i3 | -| main.rs:291:9:291:10 | i3 | main.rs:291:9:291:10 | i3 | -| main.rs:291:14:291:16 | TryExpr | main.rs:291:9:291:10 | i3 | -| main.rs:293:5:293:9 | Ok(...) | main.rs:283:46:294:1 | { ... } | -| main.rs:297:9:297:10 | [SSA] s1 | main.rs:298:10:298:11 | s1 | -| main.rs:297:9:297:10 | s1 | main.rs:297:9:297:10 | [SSA] s1 | -| main.rs:297:9:297:10 | s1 | main.rs:297:9:297:10 | s1 | -| main.rs:297:32:297:45 | Ok(...) | main.rs:297:9:297:10 | s1 | -| main.rs:298:10:298:11 | [post] receiver for s1 | main.rs:298:10:298:11 | [post] s1 | -| main.rs:298:10:298:11 | [post] s1 | main.rs:299:10:299:11 | s1 | -| main.rs:298:10:298:11 | s1 | main.rs:298:10:298:11 | receiver for s1 | -| main.rs:298:10:298:11 | s1 | main.rs:299:10:299:11 | s1 | -| main.rs:299:10:299:11 | [post] receiver for s1 | main.rs:299:10:299:11 | [post] s1 | -| main.rs:299:10:299:11 | s1 | main.rs:299:10:299:11 | receiver for s1 | -| main.rs:301:9:301:10 | [SSA] s2 | main.rs:302:10:302:11 | s2 | -| main.rs:301:9:301:10 | s2 | main.rs:301:9:301:10 | [SSA] s2 | -| main.rs:301:9:301:10 | s2 | main.rs:301:9:301:10 | s2 | -| main.rs:301:32:301:46 | Err(...) | main.rs:301:9:301:10 | s2 | -| main.rs:302:10:302:11 | [post] receiver for s2 | main.rs:302:10:302:11 | [post] s2 | -| main.rs:302:10:302:11 | [post] s2 | main.rs:303:10:303:11 | s2 | -| main.rs:302:10:302:11 | s2 | main.rs:302:10:302:11 | receiver for s2 | -| main.rs:302:10:302:11 | s2 | main.rs:303:10:303:11 | s2 | -| main.rs:303:10:303:11 | [post] receiver for s2 | main.rs:303:10:303:11 | [post] s2 | -| main.rs:303:10:303:11 | s2 | main.rs:303:10:303:11 | receiver for s2 | -| main.rs:312:9:312:10 | [SSA] s1 | main.rs:314:11:314:12 | s1 | -| main.rs:312:9:312:10 | s1 | main.rs:312:9:312:10 | [SSA] s1 | -| main.rs:312:9:312:10 | s1 | main.rs:312:9:312:10 | s1 | -| main.rs:312:14:312:39 | ...::A(...) | main.rs:312:9:312:10 | s1 | -| main.rs:313:9:313:10 | [SSA] s2 | main.rs:321:11:321:12 | s2 | -| main.rs:313:9:313:10 | s2 | main.rs:313:9:313:10 | [SSA] s2 | -| main.rs:313:9:313:10 | s2 | main.rs:313:9:313:10 | s2 | -| main.rs:313:14:313:30 | ...::B(...) | main.rs:313:9:313:10 | s2 | -| main.rs:314:11:314:12 | s1 | main.rs:315:9:315:25 | ...::A(...) | -| main.rs:314:11:314:12 | s1 | main.rs:316:9:316:25 | ...::B(...) | -| main.rs:314:11:314:12 | s1 | main.rs:318:11:318:12 | s1 | -| main.rs:315:24:315:24 | [SSA] n | main.rs:315:35:315:35 | n | -| main.rs:315:24:315:24 | n | main.rs:315:24:315:24 | [SSA] n | -| main.rs:315:24:315:24 | n | main.rs:315:24:315:24 | n | -| main.rs:315:30:315:36 | sink(...) | main.rs:314:5:317:5 | match s1 { ... } | -| main.rs:316:24:316:24 | [SSA] n | main.rs:316:35:316:35 | n | -| main.rs:316:24:316:24 | n | main.rs:316:24:316:24 | [SSA] n | -| main.rs:316:24:316:24 | n | main.rs:316:24:316:24 | n | -| main.rs:316:30:316:36 | sink(...) | main.rs:314:5:317:5 | match s1 { ... } | -| main.rs:318:11:318:12 | s1 | main.rs:319:9:319:45 | ... \| ... | -| main.rs:319:9:319:45 | ... \| ... | main.rs:319:9:319:25 | ...::A(...) | -| main.rs:319:9:319:45 | ... \| ... | main.rs:319:29:319:45 | ...::B(...) | -| main.rs:319:24:319:24 | [SSA] n | main.rs:319:55:319:55 | n | -| main.rs:319:24:319:24 | n | main.rs:319:24:319:24 | [SSA] n | -| main.rs:319:24:319:24 | n | main.rs:319:24:319:24 | n | -| main.rs:319:44:319:44 | [SSA] n | main.rs:319:55:319:55 | n | -| main.rs:319:44:319:44 | n | main.rs:319:44:319:44 | [SSA] n | -| main.rs:319:44:319:44 | n | main.rs:319:44:319:44 | n | -| main.rs:319:50:319:56 | sink(...) | main.rs:318:5:320:5 | match s1 { ... } | -| main.rs:321:5:324:5 | match s2 { ... } | main.rs:311:48:325:1 | { ... } | -| main.rs:321:11:321:12 | s2 | main.rs:322:9:322:25 | ...::A(...) | -| main.rs:321:11:321:12 | s2 | main.rs:323:9:323:25 | ...::B(...) | -| main.rs:322:24:322:24 | [SSA] n | main.rs:322:35:322:35 | n | -| main.rs:322:24:322:24 | n | main.rs:322:24:322:24 | [SSA] n | -| main.rs:322:24:322:24 | n | main.rs:322:24:322:24 | n | -| main.rs:322:30:322:36 | sink(...) | main.rs:321:5:324:5 | match s2 { ... } | -| main.rs:323:24:323:24 | [SSA] n | main.rs:323:35:323:35 | n | -| main.rs:323:24:323:24 | n | main.rs:323:24:323:24 | [SSA] n | -| main.rs:323:24:323:24 | n | main.rs:323:24:323:24 | n | -| main.rs:323:30:323:36 | sink(...) | main.rs:321:5:324:5 | match s2 { ... } | -| main.rs:330:9:330:10 | [SSA] s1 | main.rs:332:11:332:12 | s1 | -| main.rs:330:9:330:10 | s1 | main.rs:330:9:330:10 | [SSA] s1 | -| main.rs:330:9:330:10 | s1 | main.rs:330:9:330:10 | s1 | -| main.rs:330:14:330:26 | A(...) | main.rs:330:9:330:10 | s1 | -| main.rs:331:9:331:10 | [SSA] s2 | main.rs:339:11:339:12 | s2 | -| main.rs:331:9:331:10 | s2 | main.rs:331:9:331:10 | [SSA] s2 | -| main.rs:331:9:331:10 | s2 | main.rs:331:9:331:10 | s2 | -| main.rs:331:14:331:17 | B(...) | main.rs:331:9:331:10 | s2 | -| main.rs:332:11:332:12 | s1 | main.rs:333:9:333:12 | A(...) | -| main.rs:332:11:332:12 | s1 | main.rs:334:9:334:12 | B(...) | -| main.rs:332:11:332:12 | s1 | main.rs:336:11:336:12 | s1 | -| main.rs:333:11:333:11 | [SSA] n | main.rs:333:22:333:22 | n | -| main.rs:333:11:333:11 | n | main.rs:333:11:333:11 | [SSA] n | -| main.rs:333:11:333:11 | n | main.rs:333:11:333:11 | n | -| main.rs:333:17:333:23 | sink(...) | main.rs:332:5:335:5 | match s1 { ... } | -| main.rs:334:11:334:11 | [SSA] n | main.rs:334:22:334:22 | n | -| main.rs:334:11:334:11 | n | main.rs:334:11:334:11 | [SSA] n | -| main.rs:334:11:334:11 | n | main.rs:334:11:334:11 | n | -| main.rs:334:17:334:23 | sink(...) | main.rs:332:5:335:5 | match s1 { ... } | -| main.rs:336:11:336:12 | s1 | main.rs:337:9:337:19 | ... \| ... | -| main.rs:337:9:337:19 | ... \| ... | main.rs:337:9:337:12 | A(...) | -| main.rs:337:9:337:19 | ... \| ... | main.rs:337:16:337:19 | B(...) | -| main.rs:337:11:337:11 | [SSA] n | main.rs:337:29:337:29 | n | -| main.rs:337:11:337:11 | n | main.rs:337:11:337:11 | [SSA] n | -| main.rs:337:11:337:11 | n | main.rs:337:11:337:11 | n | -| main.rs:337:18:337:18 | [SSA] n | main.rs:337:29:337:29 | n | -| main.rs:337:18:337:18 | n | main.rs:337:18:337:18 | [SSA] n | -| main.rs:337:18:337:18 | n | main.rs:337:18:337:18 | n | -| main.rs:337:24:337:30 | sink(...) | main.rs:336:5:338:5 | match s1 { ... } | -| main.rs:339:5:342:5 | match s2 { ... } | main.rs:329:50:343:1 | { ... } | -| main.rs:339:11:339:12 | s2 | main.rs:340:9:340:12 | A(...) | -| main.rs:339:11:339:12 | s2 | main.rs:341:9:341:12 | B(...) | -| main.rs:340:11:340:11 | [SSA] n | main.rs:340:22:340:22 | n | -| main.rs:340:11:340:11 | n | main.rs:340:11:340:11 | [SSA] n | -| main.rs:340:11:340:11 | n | main.rs:340:11:340:11 | n | -| main.rs:340:17:340:23 | sink(...) | main.rs:339:5:342:5 | match s2 { ... } | -| main.rs:341:11:341:11 | [SSA] n | main.rs:341:22:341:22 | n | -| main.rs:341:11:341:11 | n | main.rs:341:11:341:11 | [SSA] n | -| main.rs:341:11:341:11 | n | main.rs:341:11:341:11 | n | -| main.rs:341:17:341:23 | sink(...) | main.rs:339:5:342:5 | match s2 { ... } | -| main.rs:351:9:351:10 | [SSA] s1 | main.rs:355:11:355:12 | s1 | -| main.rs:351:9:351:10 | s1 | main.rs:351:9:351:10 | [SSA] s1 | -| main.rs:351:9:351:10 | s1 | main.rs:351:9:351:10 | s1 | -| main.rs:351:14:353:5 | ...::C {...} | main.rs:351:9:351:10 | s1 | -| main.rs:354:9:354:10 | [SSA] s2 | main.rs:362:11:362:12 | s2 | -| main.rs:354:9:354:10 | s2 | main.rs:354:9:354:10 | [SSA] s2 | -| main.rs:354:9:354:10 | s2 | main.rs:354:9:354:10 | s2 | -| main.rs:354:14:354:43 | ...::D {...} | main.rs:354:9:354:10 | s2 | -| main.rs:355:11:355:12 | s1 | main.rs:356:9:356:38 | ...::C {...} | -| main.rs:355:11:355:12 | s1 | main.rs:357:9:357:38 | ...::D {...} | -| main.rs:355:11:355:12 | s1 | main.rs:359:11:359:12 | s1 | -| main.rs:356:36:356:36 | [SSA] n | main.rs:356:48:356:48 | n | -| main.rs:356:36:356:36 | n | main.rs:356:36:356:36 | [SSA] n | -| main.rs:356:36:356:36 | n | main.rs:356:36:356:36 | n | -| main.rs:356:43:356:49 | sink(...) | main.rs:355:5:358:5 | match s1 { ... } | -| main.rs:357:36:357:36 | [SSA] n | main.rs:357:48:357:48 | n | -| main.rs:357:36:357:36 | n | main.rs:357:36:357:36 | [SSA] n | -| main.rs:357:36:357:36 | n | main.rs:357:36:357:36 | n | -| main.rs:357:43:357:49 | sink(...) | main.rs:355:5:358:5 | match s1 { ... } | -| main.rs:359:11:359:12 | s1 | main.rs:360:9:360:71 | ... \| ... | -| main.rs:360:9:360:71 | ... \| ... | main.rs:360:9:360:38 | ...::C {...} | -| main.rs:360:9:360:71 | ... \| ... | main.rs:360:42:360:71 | ...::D {...} | -| main.rs:360:36:360:36 | [SSA] n | main.rs:360:81:360:81 | n | -| main.rs:360:36:360:36 | n | main.rs:360:36:360:36 | [SSA] n | -| main.rs:360:36:360:36 | n | main.rs:360:36:360:36 | n | -| main.rs:360:69:360:69 | [SSA] n | main.rs:360:81:360:81 | n | -| main.rs:360:69:360:69 | n | main.rs:360:69:360:69 | [SSA] n | -| main.rs:360:69:360:69 | n | main.rs:360:69:360:69 | n | -| main.rs:360:76:360:82 | sink(...) | main.rs:359:5:361:5 | match s1 { ... } | -| main.rs:362:5:365:5 | match s2 { ... } | main.rs:350:49:366:1 | { ... } | -| main.rs:362:11:362:12 | s2 | main.rs:363:9:363:38 | ...::C {...} | -| main.rs:362:11:362:12 | s2 | main.rs:364:9:364:38 | ...::D {...} | -| main.rs:363:36:363:36 | [SSA] n | main.rs:363:48:363:48 | n | -| main.rs:363:36:363:36 | n | main.rs:363:36:363:36 | [SSA] n | -| main.rs:363:36:363:36 | n | main.rs:363:36:363:36 | n | -| main.rs:363:43:363:49 | sink(...) | main.rs:362:5:365:5 | match s2 { ... } | -| main.rs:364:36:364:36 | [SSA] n | main.rs:364:48:364:48 | n | -| main.rs:364:36:364:36 | n | main.rs:364:36:364:36 | [SSA] n | -| main.rs:364:36:364:36 | n | main.rs:364:36:364:36 | n | -| main.rs:364:43:364:49 | sink(...) | main.rs:362:5:365:5 | match s2 { ... } | -| main.rs:371:9:371:10 | [SSA] s1 | main.rs:375:11:375:12 | s1 | -| main.rs:371:9:371:10 | s1 | main.rs:371:9:371:10 | [SSA] s1 | -| main.rs:371:9:371:10 | s1 | main.rs:371:9:371:10 | s1 | -| main.rs:371:14:373:5 | C {...} | main.rs:371:9:371:10 | s1 | -| main.rs:374:9:374:10 | [SSA] s2 | main.rs:382:11:382:12 | s2 | -| main.rs:374:9:374:10 | s2 | main.rs:374:9:374:10 | [SSA] s2 | -| main.rs:374:9:374:10 | s2 | main.rs:374:9:374:10 | s2 | -| main.rs:374:14:374:29 | D {...} | main.rs:374:9:374:10 | s2 | -| main.rs:375:11:375:12 | s1 | main.rs:376:9:376:24 | C {...} | -| main.rs:375:11:375:12 | s1 | main.rs:377:9:377:24 | D {...} | -| main.rs:375:11:375:12 | s1 | main.rs:379:11:379:12 | s1 | -| main.rs:376:22:376:22 | [SSA] n | main.rs:376:34:376:34 | n | -| main.rs:376:22:376:22 | n | main.rs:376:22:376:22 | [SSA] n | -| main.rs:376:22:376:22 | n | main.rs:376:22:376:22 | n | -| main.rs:376:29:376:35 | sink(...) | main.rs:375:5:378:5 | match s1 { ... } | -| main.rs:377:22:377:22 | [SSA] n | main.rs:377:34:377:34 | n | -| main.rs:377:22:377:22 | n | main.rs:377:22:377:22 | [SSA] n | -| main.rs:377:22:377:22 | n | main.rs:377:22:377:22 | n | -| main.rs:377:29:377:35 | sink(...) | main.rs:375:5:378:5 | match s1 { ... } | -| main.rs:379:11:379:12 | s1 | main.rs:380:9:380:43 | ... \| ... | -| main.rs:380:9:380:43 | ... \| ... | main.rs:380:9:380:24 | C {...} | -| main.rs:380:9:380:43 | ... \| ... | main.rs:380:28:380:43 | D {...} | -| main.rs:380:22:380:22 | [SSA] n | main.rs:380:53:380:53 | n | -| main.rs:380:22:380:22 | n | main.rs:380:22:380:22 | [SSA] n | -| main.rs:380:22:380:22 | n | main.rs:380:22:380:22 | n | -| main.rs:380:41:380:41 | [SSA] n | main.rs:380:53:380:53 | n | -| main.rs:380:41:380:41 | n | main.rs:380:41:380:41 | [SSA] n | -| main.rs:380:41:380:41 | n | main.rs:380:41:380:41 | n | -| main.rs:380:48:380:54 | sink(...) | main.rs:379:5:381:5 | match s1 { ... } | -| main.rs:382:5:385:5 | match s2 { ... } | main.rs:370:51:386:1 | { ... } | -| main.rs:382:11:382:12 | s2 | main.rs:383:9:383:24 | C {...} | -| main.rs:382:11:382:12 | s2 | main.rs:384:9:384:24 | D {...} | -| main.rs:383:22:383:22 | [SSA] n | main.rs:383:34:383:34 | n | -| main.rs:383:22:383:22 | n | main.rs:383:22:383:22 | [SSA] n | -| main.rs:383:22:383:22 | n | main.rs:383:22:383:22 | n | -| main.rs:383:29:383:35 | sink(...) | main.rs:382:5:385:5 | match s2 { ... } | -| main.rs:384:22:384:22 | [SSA] n | main.rs:384:34:384:34 | n | -| main.rs:384:22:384:22 | n | main.rs:384:22:384:22 | [SSA] n | -| main.rs:384:22:384:22 | n | main.rs:384:22:384:22 | n | -| main.rs:384:29:384:35 | sink(...) | main.rs:382:5:385:5 | match s2 { ... } | -| main.rs:392:9:392:12 | [SSA] arr1 | main.rs:393:14:393:17 | arr1 | -| main.rs:392:9:392:12 | arr1 | main.rs:392:9:392:12 | [SSA] arr1 | -| main.rs:392:9:392:12 | arr1 | main.rs:392:9:392:12 | arr1 | -| main.rs:392:16:392:33 | [...] | main.rs:392:9:392:12 | arr1 | -| main.rs:393:9:393:10 | [SSA] n1 | main.rs:394:10:394:11 | n1 | -| main.rs:393:9:393:10 | n1 | main.rs:393:9:393:10 | [SSA] n1 | -| main.rs:393:9:393:10 | n1 | main.rs:393:9:393:10 | n1 | -| main.rs:393:14:393:20 | arr1[2] | main.rs:393:9:393:10 | n1 | -| main.rs:396:9:396:12 | [SSA] arr2 | main.rs:397:14:397:17 | arr2 | -| main.rs:396:9:396:12 | arr2 | main.rs:396:9:396:12 | [SSA] arr2 | -| main.rs:396:9:396:12 | arr2 | main.rs:396:9:396:12 | arr2 | -| main.rs:396:16:396:31 | [...; 10] | main.rs:396:9:396:12 | arr2 | -| main.rs:397:9:397:10 | [SSA] n2 | main.rs:398:10:398:11 | n2 | -| main.rs:397:9:397:10 | n2 | main.rs:397:9:397:10 | [SSA] n2 | -| main.rs:397:9:397:10 | n2 | main.rs:397:9:397:10 | n2 | -| main.rs:397:14:397:20 | arr2[4] | main.rs:397:9:397:10 | n2 | -| main.rs:400:9:400:12 | [SSA] arr3 | main.rs:401:14:401:17 | arr3 | -| main.rs:400:9:400:12 | arr3 | main.rs:400:9:400:12 | [SSA] arr3 | -| main.rs:400:9:400:12 | arr3 | main.rs:400:9:400:12 | arr3 | -| main.rs:400:16:400:24 | [...] | main.rs:400:9:400:12 | arr3 | -| main.rs:401:9:401:10 | [SSA] n3 | main.rs:402:10:402:11 | n3 | -| main.rs:401:9:401:10 | n3 | main.rs:401:9:401:10 | [SSA] n3 | -| main.rs:401:9:401:10 | n3 | main.rs:401:9:401:10 | n3 | -| main.rs:401:14:401:20 | arr3[2] | main.rs:401:9:401:10 | n3 | -| main.rs:406:9:406:12 | [SSA] arr1 | main.rs:407:15:407:18 | arr1 | -| main.rs:406:9:406:12 | arr1 | main.rs:406:9:406:12 | [SSA] arr1 | -| main.rs:406:9:406:12 | arr1 | main.rs:406:9:406:12 | arr1 | -| main.rs:406:16:406:33 | [...] | main.rs:406:9:406:12 | arr1 | -| main.rs:407:9:407:10 | [SSA] n1 | main.rs:408:14:408:15 | n1 | -| main.rs:407:9:407:10 | n1 | main.rs:407:9:407:10 | [SSA] n1 | -| main.rs:407:9:407:10 | n1 | main.rs:407:9:407:10 | n1 | -| main.rs:411:9:411:12 | [SSA] arr2 | main.rs:412:15:412:18 | arr2 | -| main.rs:411:9:411:12 | arr2 | main.rs:411:9:411:12 | [SSA] arr2 | -| main.rs:411:9:411:12 | arr2 | main.rs:411:9:411:12 | arr2 | -| main.rs:411:16:411:24 | [...] | main.rs:411:9:411:12 | arr2 | -| main.rs:412:5:414:5 | for ... in ... { ... } | main.rs:405:21:415:1 | { ... } | -| main.rs:412:9:412:10 | [SSA] n2 | main.rs:413:14:413:15 | n2 | -| main.rs:412:9:412:10 | n2 | main.rs:412:9:412:10 | [SSA] n2 | -| main.rs:412:9:412:10 | n2 | main.rs:412:9:412:10 | n2 | -| main.rs:418:9:418:12 | [SSA] arr1 | main.rs:419:11:419:14 | arr1 | +| main.rs:179:13:185:5 | Point3D {...} | main.rs:179:9:179:9 | p | +| main.rs:186:10:186:10 | [post] p | main.rs:187:10:187:10 | p | +| main.rs:186:10:186:10 | p | main.rs:187:10:187:10 | p | +| main.rs:187:10:187:10 | [post] p | main.rs:188:10:188:10 | p | +| main.rs:187:10:187:10 | p | main.rs:188:10:188:10 | p | +| main.rs:192:9:192:9 | [SSA] y | main.rs:194:30:194:30 | y | +| main.rs:192:9:192:9 | y | main.rs:192:9:192:9 | [SSA] y | +| main.rs:192:9:192:9 | y | main.rs:192:9:192:9 | y | +| main.rs:192:13:192:22 | source(...) | main.rs:192:9:192:9 | y | +| main.rs:193:9:193:9 | [SSA] p | main.rs:197:11:197:11 | p | +| main.rs:193:9:193:9 | p | main.rs:193:9:193:9 | [SSA] p | +| main.rs:193:9:193:9 | p | main.rs:193:9:193:9 | p | +| main.rs:193:13:196:5 | Point3D {...} | main.rs:193:9:193:9 | p | +| main.rs:197:5:206:5 | match p { ... } | main.rs:191:26:207:1 | { ... } | +| main.rs:197:11:197:11 | p | main.rs:198:9:201:9 | Point3D {...} | +| main.rs:199:28:199:28 | [SSA] x | main.rs:202:18:202:18 | x | +| main.rs:199:28:199:28 | x | main.rs:199:28:199:28 | [SSA] x | +| main.rs:199:28:199:28 | x | main.rs:199:28:199:28 | x | +| main.rs:199:31:199:31 | [SSA] y | main.rs:203:18:203:18 | y | +| main.rs:199:31:199:31 | y | main.rs:199:31:199:31 | [SSA] y | +| main.rs:199:31:199:31 | y | main.rs:199:31:199:31 | y | +| main.rs:200:13:200:13 | [SSA] z | main.rs:204:18:204:18 | z | +| main.rs:200:13:200:13 | z | main.rs:200:13:200:13 | [SSA] z | +| main.rs:200:13:200:13 | z | main.rs:200:13:200:13 | z | +| main.rs:201:14:205:9 | { ... } | main.rs:197:5:206:5 | match p { ... } | +| main.rs:212:9:212:9 | [SSA] s | main.rs:213:10:213:10 | s | +| main.rs:212:9:212:9 | s | main.rs:212:9:212:9 | [SSA] s | +| main.rs:212:9:212:9 | s | main.rs:212:9:212:9 | s | +| main.rs:212:13:212:40 | MyTupleStruct(...) | main.rs:212:9:212:9 | s | +| main.rs:213:10:213:10 | [post] s | main.rs:214:10:214:10 | s | +| main.rs:213:10:213:10 | s | main.rs:214:10:214:10 | s | +| main.rs:214:10:214:10 | [post] s | main.rs:216:11:216:11 | s | +| main.rs:214:10:214:10 | s | main.rs:216:11:216:11 | s | +| main.rs:216:5:221:5 | match s { ... } | main.rs:211:19:222:1 | { ... } | +| main.rs:216:11:216:11 | s | main.rs:217:9:217:27 | MyTupleStruct(...) | +| main.rs:217:23:217:23 | [SSA] x | main.rs:218:18:218:18 | x | +| main.rs:217:23:217:23 | x | main.rs:217:23:217:23 | [SSA] x | +| main.rs:217:23:217:23 | x | main.rs:217:23:217:23 | x | +| main.rs:217:26:217:26 | [SSA] y | main.rs:219:18:219:18 | y | +| main.rs:217:26:217:26 | y | main.rs:217:26:217:26 | [SSA] y | +| main.rs:217:26:217:26 | y | main.rs:217:26:217:26 | y | +| main.rs:217:32:220:9 | { ... } | main.rs:216:5:221:5 | match s { ... } | +| main.rs:228:9:228:10 | [SSA] s1 | main.rs:230:11:230:12 | s1 | +| main.rs:228:9:228:10 | s1 | main.rs:228:9:228:10 | [SSA] s1 | +| main.rs:228:9:228:10 | s1 | main.rs:228:9:228:10 | s1 | +| main.rs:228:14:228:37 | ...::Some(...) | main.rs:228:9:228:10 | s1 | +| main.rs:229:9:229:10 | [SSA] s2 | main.rs:234:11:234:12 | s2 | +| main.rs:229:9:229:10 | s2 | main.rs:229:9:229:10 | [SSA] s2 | +| main.rs:229:9:229:10 | s2 | main.rs:229:9:229:10 | s2 | +| main.rs:229:14:229:28 | ...::Some(...) | main.rs:229:9:229:10 | s2 | +| main.rs:230:11:230:12 | s1 | main.rs:231:9:231:23 | ...::Some(...) | +| main.rs:230:11:230:12 | s1 | main.rs:232:9:232:20 | ...::None | +| main.rs:231:22:231:22 | [SSA] n | main.rs:231:33:231:33 | n | +| main.rs:231:22:231:22 | n | main.rs:231:22:231:22 | [SSA] n | +| main.rs:231:22:231:22 | n | main.rs:231:22:231:22 | n | +| main.rs:231:28:231:34 | sink(...) | main.rs:230:5:233:5 | match s1 { ... } | +| main.rs:232:25:232:31 | sink(...) | main.rs:230:5:233:5 | match s1 { ... } | +| main.rs:234:5:237:5 | match s2 { ... } | main.rs:227:37:238:1 | { ... } | +| main.rs:234:11:234:12 | s2 | main.rs:235:9:235:23 | ...::Some(...) | +| main.rs:234:11:234:12 | s2 | main.rs:236:9:236:20 | ...::None | +| main.rs:235:22:235:22 | [SSA] n | main.rs:235:33:235:33 | n | +| main.rs:235:22:235:22 | n | main.rs:235:22:235:22 | [SSA] n | +| main.rs:235:22:235:22 | n | main.rs:235:22:235:22 | n | +| main.rs:235:28:235:34 | sink(...) | main.rs:234:5:237:5 | match s2 { ... } | +| main.rs:236:25:236:31 | sink(...) | main.rs:234:5:237:5 | match s2 { ... } | +| main.rs:241:9:241:10 | [SSA] s1 | main.rs:243:11:243:12 | s1 | +| main.rs:241:9:241:10 | s1 | main.rs:241:9:241:10 | [SSA] s1 | +| main.rs:241:9:241:10 | s1 | main.rs:241:9:241:10 | s1 | +| main.rs:241:14:241:29 | Some(...) | main.rs:241:9:241:10 | s1 | +| main.rs:242:9:242:10 | [SSA] s2 | main.rs:247:11:247:12 | s2 | +| main.rs:242:9:242:10 | s2 | main.rs:242:9:242:10 | [SSA] s2 | +| main.rs:242:9:242:10 | s2 | main.rs:242:9:242:10 | s2 | +| main.rs:242:14:242:20 | Some(...) | main.rs:242:9:242:10 | s2 | +| main.rs:243:11:243:12 | s1 | main.rs:244:9:244:15 | Some(...) | +| main.rs:243:11:243:12 | s1 | main.rs:245:9:245:12 | None | +| main.rs:244:14:244:14 | [SSA] n | main.rs:244:25:244:25 | n | +| main.rs:244:14:244:14 | n | main.rs:244:14:244:14 | [SSA] n | +| main.rs:244:14:244:14 | n | main.rs:244:14:244:14 | n | +| main.rs:244:20:244:26 | sink(...) | main.rs:243:5:246:5 | match s1 { ... } | +| main.rs:245:17:245:23 | sink(...) | main.rs:243:5:246:5 | match s1 { ... } | +| main.rs:247:5:250:5 | match s2 { ... } | main.rs:240:39:251:1 | { ... } | +| main.rs:247:11:247:12 | s2 | main.rs:248:9:248:15 | Some(...) | +| main.rs:247:11:247:12 | s2 | main.rs:249:9:249:12 | None | +| main.rs:248:14:248:14 | [SSA] n | main.rs:248:25:248:25 | n | +| main.rs:248:14:248:14 | n | main.rs:248:14:248:14 | [SSA] n | +| main.rs:248:14:248:14 | n | main.rs:248:14:248:14 | n | +| main.rs:248:20:248:26 | sink(...) | main.rs:247:5:250:5 | match s2 { ... } | +| main.rs:249:17:249:23 | sink(...) | main.rs:247:5:250:5 | match s2 { ... } | +| main.rs:254:9:254:10 | [SSA] s1 | main.rs:255:22:255:23 | s1 | +| main.rs:254:9:254:10 | s1 | main.rs:254:9:254:10 | [SSA] s1 | +| main.rs:254:9:254:10 | s1 | main.rs:254:9:254:10 | s1 | +| main.rs:254:14:254:29 | Some(...) | main.rs:254:9:254:10 | s1 | +| main.rs:255:5:262:5 | if ... {...} | main.rs:253:25:263:1 | { ... } | +| main.rs:255:17:255:17 | [SSA] n | main.rs:257:18:257:18 | n | +| main.rs:255:17:255:17 | n | main.rs:255:17:255:17 | [SSA] n | +| main.rs:255:17:255:17 | n | main.rs:255:17:255:17 | n | +| main.rs:255:22:255:23 | s1 | main.rs:255:12:255:18 | Some(...) | +| main.rs:257:18:257:18 | [post] n | main.rs:261:14:261:14 | n | +| main.rs:257:18:257:18 | n | main.rs:261:14:261:14 | n | +| main.rs:258:13:258:16 | true | main.rs:256:12:259:9 | { ... } | +| main.rs:260:5:262:5 | { ... } | main.rs:255:5:262:5 | if ... {...} | +| main.rs:266:9:266:10 | [SSA] s1 | main.rs:267:10:267:11 | s1 | +| main.rs:266:9:266:10 | s1 | main.rs:266:9:266:10 | [SSA] s1 | +| main.rs:266:9:266:10 | s1 | main.rs:266:9:266:10 | s1 | +| main.rs:266:14:266:29 | Some(...) | main.rs:266:9:266:10 | s1 | +| main.rs:267:10:267:11 | [post] receiver for s1 | main.rs:267:10:267:11 | [post] s1 | +| main.rs:267:10:267:11 | s1 | main.rs:267:10:267:11 | receiver for s1 | +| main.rs:271:9:271:10 | [SSA] s1 | main.rs:272:10:272:11 | s1 | +| main.rs:271:9:271:10 | s1 | main.rs:271:9:271:10 | [SSA] s1 | +| main.rs:271:9:271:10 | s1 | main.rs:271:9:271:10 | s1 | +| main.rs:271:14:271:29 | Some(...) | main.rs:271:9:271:10 | s1 | +| main.rs:272:10:272:11 | [post] receiver for s1 | main.rs:272:10:272:11 | [post] s1 | +| main.rs:272:10:272:11 | s1 | main.rs:272:10:272:11 | receiver for s1 | +| main.rs:274:9:274:10 | [SSA] s2 | main.rs:275:10:275:11 | s2 | +| main.rs:274:9:274:10 | s2 | main.rs:274:9:274:10 | [SSA] s2 | +| main.rs:274:9:274:10 | s2 | main.rs:274:9:274:10 | s2 | +| main.rs:274:14:274:20 | Some(...) | main.rs:274:9:274:10 | s2 | +| main.rs:275:10:275:11 | [post] receiver for s2 | main.rs:275:10:275:11 | [post] s2 | +| main.rs:275:10:275:11 | s2 | main.rs:275:10:275:11 | receiver for s2 | +| main.rs:279:9:279:10 | [SSA] s1 | main.rs:280:10:280:11 | s1 | +| main.rs:279:9:279:10 | s1 | main.rs:279:9:279:10 | [SSA] s1 | +| main.rs:279:9:279:10 | s1 | main.rs:279:9:279:10 | s1 | +| main.rs:279:14:279:29 | Some(...) | main.rs:279:9:279:10 | s1 | +| main.rs:280:10:280:11 | [post] receiver for s1 | main.rs:280:10:280:11 | [post] s1 | +| main.rs:280:10:280:11 | s1 | main.rs:280:10:280:11 | receiver for s1 | +| main.rs:282:9:282:10 | [SSA] s2 | main.rs:283:10:283:11 | s2 | +| main.rs:282:9:282:10 | s2 | main.rs:282:9:282:10 | [SSA] s2 | +| main.rs:282:9:282:10 | s2 | main.rs:282:9:282:10 | s2 | +| main.rs:282:14:282:17 | None | main.rs:282:9:282:10 | s2 | +| main.rs:283:10:283:11 | [post] receiver for s2 | main.rs:283:10:283:11 | [post] s2 | +| main.rs:283:10:283:11 | s2 | main.rs:283:10:283:11 | receiver for s2 | +| main.rs:287:9:287:10 | [SSA] s1 | main.rs:289:14:289:15 | s1 | +| main.rs:287:9:287:10 | s1 | main.rs:287:9:287:10 | [SSA] s1 | +| main.rs:287:9:287:10 | s1 | main.rs:287:9:287:10 | s1 | +| main.rs:287:14:287:29 | Some(...) | main.rs:287:9:287:10 | s1 | +| main.rs:288:9:288:10 | [SSA] s2 | main.rs:291:10:291:11 | s2 | +| main.rs:288:9:288:10 | s2 | main.rs:288:9:288:10 | [SSA] s2 | +| main.rs:288:9:288:10 | s2 | main.rs:288:9:288:10 | s2 | +| main.rs:288:14:288:20 | Some(...) | main.rs:288:9:288:10 | s2 | +| main.rs:289:9:289:10 | [SSA] i1 | main.rs:290:10:290:11 | i1 | +| main.rs:289:9:289:10 | i1 | main.rs:289:9:289:10 | [SSA] i1 | +| main.rs:289:9:289:10 | i1 | main.rs:289:9:289:10 | i1 | +| main.rs:289:14:289:16 | TryExpr | main.rs:289:9:289:10 | i1 | +| main.rs:292:5:292:11 | Some(...) | main.rs:286:41:293:1 | { ... } | +| main.rs:296:9:296:10 | [SSA] r1 | main.rs:297:28:297:29 | r1 | +| main.rs:296:9:296:10 | r1 | main.rs:296:9:296:10 | [SSA] r1 | +| main.rs:296:9:296:10 | r1 | main.rs:296:9:296:10 | r1 | +| main.rs:296:32:296:45 | Ok(...) | main.rs:296:9:296:10 | r1 | +| main.rs:297:9:297:11 | [SSA] o1a | main.rs:299:10:299:12 | o1a | +| main.rs:297:9:297:11 | o1a | main.rs:297:9:297:11 | [SSA] o1a | +| main.rs:297:9:297:11 | o1a | main.rs:297:9:297:11 | o1a | +| main.rs:297:28:297:29 | [post] r1 | main.rs:298:28:298:29 | r1 | +| main.rs:297:28:297:29 | [post] receiver for r1 | main.rs:297:28:297:29 | [post] r1 | +| main.rs:297:28:297:29 | r1 | main.rs:297:28:297:29 | receiver for r1 | +| main.rs:297:28:297:29 | r1 | main.rs:298:28:298:29 | r1 | +| main.rs:297:28:297:34 | r1.ok() | main.rs:297:9:297:11 | o1a | +| main.rs:298:9:298:11 | [SSA] o1b | main.rs:300:10:300:12 | o1b | +| main.rs:298:9:298:11 | o1b | main.rs:298:9:298:11 | [SSA] o1b | +| main.rs:298:9:298:11 | o1b | main.rs:298:9:298:11 | o1b | +| main.rs:298:28:298:29 | [post] receiver for r1 | main.rs:298:28:298:29 | [post] r1 | +| main.rs:298:28:298:29 | r1 | main.rs:298:28:298:29 | receiver for r1 | +| main.rs:298:28:298:35 | r1.err() | main.rs:298:9:298:11 | o1b | +| main.rs:299:10:299:12 | [post] receiver for o1a | main.rs:299:10:299:12 | [post] o1a | +| main.rs:299:10:299:12 | o1a | main.rs:299:10:299:12 | receiver for o1a | +| main.rs:300:10:300:12 | [post] receiver for o1b | main.rs:300:10:300:12 | [post] o1b | +| main.rs:300:10:300:12 | o1b | main.rs:300:10:300:12 | receiver for o1b | +| main.rs:302:9:302:10 | [SSA] r2 | main.rs:303:28:303:29 | r2 | +| main.rs:302:9:302:10 | r2 | main.rs:302:9:302:10 | [SSA] r2 | +| main.rs:302:9:302:10 | r2 | main.rs:302:9:302:10 | r2 | +| main.rs:302:32:302:46 | Err(...) | main.rs:302:9:302:10 | r2 | +| main.rs:303:9:303:11 | [SSA] o2a | main.rs:305:10:305:12 | o2a | +| main.rs:303:9:303:11 | o2a | main.rs:303:9:303:11 | [SSA] o2a | +| main.rs:303:9:303:11 | o2a | main.rs:303:9:303:11 | o2a | +| main.rs:303:28:303:29 | [post] r2 | main.rs:304:28:304:29 | r2 | +| main.rs:303:28:303:29 | [post] receiver for r2 | main.rs:303:28:303:29 | [post] r2 | +| main.rs:303:28:303:29 | r2 | main.rs:303:28:303:29 | receiver for r2 | +| main.rs:303:28:303:29 | r2 | main.rs:304:28:304:29 | r2 | +| main.rs:303:28:303:34 | r2.ok() | main.rs:303:9:303:11 | o2a | +| main.rs:304:9:304:11 | [SSA] o2b | main.rs:306:10:306:12 | o2b | +| main.rs:304:9:304:11 | o2b | main.rs:304:9:304:11 | [SSA] o2b | +| main.rs:304:9:304:11 | o2b | main.rs:304:9:304:11 | o2b | +| main.rs:304:28:304:29 | [post] receiver for r2 | main.rs:304:28:304:29 | [post] r2 | +| main.rs:304:28:304:29 | r2 | main.rs:304:28:304:29 | receiver for r2 | +| main.rs:304:28:304:35 | r2.err() | main.rs:304:9:304:11 | o2b | +| main.rs:305:10:305:12 | [post] receiver for o2a | main.rs:305:10:305:12 | [post] o2a | +| main.rs:305:10:305:12 | o2a | main.rs:305:10:305:12 | receiver for o2a | +| main.rs:306:10:306:12 | [post] receiver for o2b | main.rs:306:10:306:12 | [post] o2b | +| main.rs:306:10:306:12 | o2b | main.rs:306:10:306:12 | receiver for o2b | +| main.rs:310:9:310:10 | [SSA] s1 | main.rs:313:14:313:15 | s1 | +| main.rs:310:9:310:10 | s1 | main.rs:310:9:310:10 | [SSA] s1 | +| main.rs:310:9:310:10 | s1 | main.rs:310:9:310:10 | s1 | +| main.rs:310:32:310:45 | Ok(...) | main.rs:310:9:310:10 | s1 | +| main.rs:311:9:311:10 | [SSA] s2 | main.rs:314:14:314:15 | s2 | +| main.rs:311:9:311:10 | s2 | main.rs:311:9:311:10 | [SSA] s2 | +| main.rs:311:9:311:10 | s2 | main.rs:311:9:311:10 | s2 | +| main.rs:311:32:311:36 | Ok(...) | main.rs:311:9:311:10 | s2 | +| main.rs:312:9:312:10 | [SSA] s3 | main.rs:317:14:317:15 | s3 | +| main.rs:312:9:312:10 | s3 | main.rs:312:9:312:10 | [SSA] s3 | +| main.rs:312:9:312:10 | s3 | main.rs:312:9:312:10 | s3 | +| main.rs:312:32:312:46 | Err(...) | main.rs:312:9:312:10 | s3 | +| main.rs:313:9:313:10 | [SSA] i1 | main.rs:315:10:315:11 | i1 | +| main.rs:313:9:313:10 | i1 | main.rs:313:9:313:10 | [SSA] i1 | +| main.rs:313:9:313:10 | i1 | main.rs:313:9:313:10 | i1 | +| main.rs:313:14:313:16 | TryExpr | main.rs:313:9:313:10 | i1 | +| main.rs:314:9:314:10 | [SSA] i2 | main.rs:316:10:316:11 | i2 | +| main.rs:314:9:314:10 | i2 | main.rs:314:9:314:10 | [SSA] i2 | +| main.rs:314:9:314:10 | i2 | main.rs:314:9:314:10 | i2 | +| main.rs:314:14:314:16 | TryExpr | main.rs:314:9:314:10 | i2 | +| main.rs:317:9:317:10 | [SSA] i3 | main.rs:318:10:318:11 | i3 | +| main.rs:317:9:317:10 | i3 | main.rs:317:9:317:10 | [SSA] i3 | +| main.rs:317:9:317:10 | i3 | main.rs:317:9:317:10 | i3 | +| main.rs:317:14:317:16 | TryExpr | main.rs:317:9:317:10 | i3 | +| main.rs:319:5:319:9 | Ok(...) | main.rs:309:46:320:1 | { ... } | +| main.rs:323:9:323:10 | [SSA] s1 | main.rs:324:10:324:11 | s1 | +| main.rs:323:9:323:10 | s1 | main.rs:323:9:323:10 | [SSA] s1 | +| main.rs:323:9:323:10 | s1 | main.rs:323:9:323:10 | s1 | +| main.rs:323:32:323:45 | Ok(...) | main.rs:323:9:323:10 | s1 | +| main.rs:324:10:324:11 | [post] receiver for s1 | main.rs:324:10:324:11 | [post] s1 | +| main.rs:324:10:324:11 | [post] s1 | main.rs:325:10:325:11 | s1 | +| main.rs:324:10:324:11 | s1 | main.rs:324:10:324:11 | receiver for s1 | +| main.rs:324:10:324:11 | s1 | main.rs:325:10:325:11 | s1 | +| main.rs:325:10:325:11 | [post] receiver for s1 | main.rs:325:10:325:11 | [post] s1 | +| main.rs:325:10:325:11 | s1 | main.rs:325:10:325:11 | receiver for s1 | +| main.rs:327:9:327:10 | [SSA] s2 | main.rs:328:10:328:11 | s2 | +| main.rs:327:9:327:10 | s2 | main.rs:327:9:327:10 | [SSA] s2 | +| main.rs:327:9:327:10 | s2 | main.rs:327:9:327:10 | s2 | +| main.rs:327:32:327:46 | Err(...) | main.rs:327:9:327:10 | s2 | +| main.rs:328:10:328:11 | [post] receiver for s2 | main.rs:328:10:328:11 | [post] s2 | +| main.rs:328:10:328:11 | [post] s2 | main.rs:329:10:329:11 | s2 | +| main.rs:328:10:328:11 | s2 | main.rs:328:10:328:11 | receiver for s2 | +| main.rs:328:10:328:11 | s2 | main.rs:329:10:329:11 | s2 | +| main.rs:329:10:329:11 | [post] receiver for s2 | main.rs:329:10:329:11 | [post] s2 | +| main.rs:329:10:329:11 | s2 | main.rs:329:10:329:11 | receiver for s2 | +| main.rs:338:9:338:10 | [SSA] s1 | main.rs:340:11:340:12 | s1 | +| main.rs:338:9:338:10 | s1 | main.rs:338:9:338:10 | [SSA] s1 | +| main.rs:338:9:338:10 | s1 | main.rs:338:9:338:10 | s1 | +| main.rs:338:14:338:39 | ...::A(...) | main.rs:338:9:338:10 | s1 | +| main.rs:339:9:339:10 | [SSA] s2 | main.rs:347:11:347:12 | s2 | +| main.rs:339:9:339:10 | s2 | main.rs:339:9:339:10 | [SSA] s2 | +| main.rs:339:9:339:10 | s2 | main.rs:339:9:339:10 | s2 | +| main.rs:339:14:339:30 | ...::B(...) | main.rs:339:9:339:10 | s2 | +| main.rs:340:11:340:12 | s1 | main.rs:341:9:341:25 | ...::A(...) | +| main.rs:340:11:340:12 | s1 | main.rs:342:9:342:25 | ...::B(...) | +| main.rs:340:11:340:12 | s1 | main.rs:344:11:344:12 | s1 | +| main.rs:341:24:341:24 | [SSA] n | main.rs:341:35:341:35 | n | +| main.rs:341:24:341:24 | n | main.rs:341:24:341:24 | [SSA] n | +| main.rs:341:24:341:24 | n | main.rs:341:24:341:24 | n | +| main.rs:341:30:341:36 | sink(...) | main.rs:340:5:343:5 | match s1 { ... } | +| main.rs:342:24:342:24 | [SSA] n | main.rs:342:35:342:35 | n | +| main.rs:342:24:342:24 | n | main.rs:342:24:342:24 | [SSA] n | +| main.rs:342:24:342:24 | n | main.rs:342:24:342:24 | n | +| main.rs:342:30:342:36 | sink(...) | main.rs:340:5:343:5 | match s1 { ... } | +| main.rs:344:11:344:12 | s1 | main.rs:345:9:345:45 | ... \| ... | +| main.rs:345:9:345:45 | ... \| ... | main.rs:345:9:345:25 | ...::A(...) | +| main.rs:345:9:345:45 | ... \| ... | main.rs:345:29:345:45 | ...::B(...) | +| main.rs:345:24:345:24 | [SSA] n | main.rs:345:55:345:55 | n | +| main.rs:345:24:345:24 | n | main.rs:345:24:345:24 | [SSA] n | +| main.rs:345:24:345:24 | n | main.rs:345:24:345:24 | n | +| main.rs:345:44:345:44 | [SSA] n | main.rs:345:55:345:55 | n | +| main.rs:345:44:345:44 | n | main.rs:345:44:345:44 | [SSA] n | +| main.rs:345:44:345:44 | n | main.rs:345:44:345:44 | n | +| main.rs:345:50:345:56 | sink(...) | main.rs:344:5:346:5 | match s1 { ... } | +| main.rs:347:5:350:5 | match s2 { ... } | main.rs:337:48:351:1 | { ... } | +| main.rs:347:11:347:12 | s2 | main.rs:348:9:348:25 | ...::A(...) | +| main.rs:347:11:347:12 | s2 | main.rs:349:9:349:25 | ...::B(...) | +| main.rs:348:24:348:24 | [SSA] n | main.rs:348:35:348:35 | n | +| main.rs:348:24:348:24 | n | main.rs:348:24:348:24 | [SSA] n | +| main.rs:348:24:348:24 | n | main.rs:348:24:348:24 | n | +| main.rs:348:30:348:36 | sink(...) | main.rs:347:5:350:5 | match s2 { ... } | +| main.rs:349:24:349:24 | [SSA] n | main.rs:349:35:349:35 | n | +| main.rs:349:24:349:24 | n | main.rs:349:24:349:24 | [SSA] n | +| main.rs:349:24:349:24 | n | main.rs:349:24:349:24 | n | +| main.rs:349:30:349:36 | sink(...) | main.rs:347:5:350:5 | match s2 { ... } | +| main.rs:356:9:356:10 | [SSA] s1 | main.rs:358:11:358:12 | s1 | +| main.rs:356:9:356:10 | s1 | main.rs:356:9:356:10 | [SSA] s1 | +| main.rs:356:9:356:10 | s1 | main.rs:356:9:356:10 | s1 | +| main.rs:356:14:356:26 | A(...) | main.rs:356:9:356:10 | s1 | +| main.rs:357:9:357:10 | [SSA] s2 | main.rs:365:11:365:12 | s2 | +| main.rs:357:9:357:10 | s2 | main.rs:357:9:357:10 | [SSA] s2 | +| main.rs:357:9:357:10 | s2 | main.rs:357:9:357:10 | s2 | +| main.rs:357:14:357:17 | B(...) | main.rs:357:9:357:10 | s2 | +| main.rs:358:11:358:12 | s1 | main.rs:359:9:359:12 | A(...) | +| main.rs:358:11:358:12 | s1 | main.rs:360:9:360:12 | B(...) | +| main.rs:358:11:358:12 | s1 | main.rs:362:11:362:12 | s1 | +| main.rs:359:11:359:11 | [SSA] n | main.rs:359:22:359:22 | n | +| main.rs:359:11:359:11 | n | main.rs:359:11:359:11 | [SSA] n | +| main.rs:359:11:359:11 | n | main.rs:359:11:359:11 | n | +| main.rs:359:17:359:23 | sink(...) | main.rs:358:5:361:5 | match s1 { ... } | +| main.rs:360:11:360:11 | [SSA] n | main.rs:360:22:360:22 | n | +| main.rs:360:11:360:11 | n | main.rs:360:11:360:11 | [SSA] n | +| main.rs:360:11:360:11 | n | main.rs:360:11:360:11 | n | +| main.rs:360:17:360:23 | sink(...) | main.rs:358:5:361:5 | match s1 { ... } | +| main.rs:362:11:362:12 | s1 | main.rs:363:9:363:19 | ... \| ... | +| main.rs:363:9:363:19 | ... \| ... | main.rs:363:9:363:12 | A(...) | +| main.rs:363:9:363:19 | ... \| ... | main.rs:363:16:363:19 | B(...) | +| main.rs:363:11:363:11 | [SSA] n | main.rs:363:29:363:29 | n | +| main.rs:363:11:363:11 | n | main.rs:363:11:363:11 | [SSA] n | +| main.rs:363:11:363:11 | n | main.rs:363:11:363:11 | n | +| main.rs:363:18:363:18 | [SSA] n | main.rs:363:29:363:29 | n | +| main.rs:363:18:363:18 | n | main.rs:363:18:363:18 | [SSA] n | +| main.rs:363:18:363:18 | n | main.rs:363:18:363:18 | n | +| main.rs:363:24:363:30 | sink(...) | main.rs:362:5:364:5 | match s1 { ... } | +| main.rs:365:5:368:5 | match s2 { ... } | main.rs:355:50:369:1 | { ... } | +| main.rs:365:11:365:12 | s2 | main.rs:366:9:366:12 | A(...) | +| main.rs:365:11:365:12 | s2 | main.rs:367:9:367:12 | B(...) | +| main.rs:366:11:366:11 | [SSA] n | main.rs:366:22:366:22 | n | +| main.rs:366:11:366:11 | n | main.rs:366:11:366:11 | [SSA] n | +| main.rs:366:11:366:11 | n | main.rs:366:11:366:11 | n | +| main.rs:366:17:366:23 | sink(...) | main.rs:365:5:368:5 | match s2 { ... } | +| main.rs:367:11:367:11 | [SSA] n | main.rs:367:22:367:22 | n | +| main.rs:367:11:367:11 | n | main.rs:367:11:367:11 | [SSA] n | +| main.rs:367:11:367:11 | n | main.rs:367:11:367:11 | n | +| main.rs:367:17:367:23 | sink(...) | main.rs:365:5:368:5 | match s2 { ... } | +| main.rs:377:9:377:10 | [SSA] s1 | main.rs:381:11:381:12 | s1 | +| main.rs:377:9:377:10 | s1 | main.rs:377:9:377:10 | [SSA] s1 | +| main.rs:377:9:377:10 | s1 | main.rs:377:9:377:10 | s1 | +| main.rs:377:14:379:5 | ...::C {...} | main.rs:377:9:377:10 | s1 | +| main.rs:380:9:380:10 | [SSA] s2 | main.rs:388:11:388:12 | s2 | +| main.rs:380:9:380:10 | s2 | main.rs:380:9:380:10 | [SSA] s2 | +| main.rs:380:9:380:10 | s2 | main.rs:380:9:380:10 | s2 | +| main.rs:380:14:380:43 | ...::D {...} | main.rs:380:9:380:10 | s2 | +| main.rs:381:11:381:12 | s1 | main.rs:382:9:382:38 | ...::C {...} | +| main.rs:381:11:381:12 | s1 | main.rs:383:9:383:38 | ...::D {...} | +| main.rs:381:11:381:12 | s1 | main.rs:385:11:385:12 | s1 | +| main.rs:382:36:382:36 | [SSA] n | main.rs:382:48:382:48 | n | +| main.rs:382:36:382:36 | n | main.rs:382:36:382:36 | [SSA] n | +| main.rs:382:36:382:36 | n | main.rs:382:36:382:36 | n | +| main.rs:382:43:382:49 | sink(...) | main.rs:381:5:384:5 | match s1 { ... } | +| main.rs:383:36:383:36 | [SSA] n | main.rs:383:48:383:48 | n | +| main.rs:383:36:383:36 | n | main.rs:383:36:383:36 | [SSA] n | +| main.rs:383:36:383:36 | n | main.rs:383:36:383:36 | n | +| main.rs:383:43:383:49 | sink(...) | main.rs:381:5:384:5 | match s1 { ... } | +| main.rs:385:11:385:12 | s1 | main.rs:386:9:386:71 | ... \| ... | +| main.rs:386:9:386:71 | ... \| ... | main.rs:386:9:386:38 | ...::C {...} | +| main.rs:386:9:386:71 | ... \| ... | main.rs:386:42:386:71 | ...::D {...} | +| main.rs:386:36:386:36 | [SSA] n | main.rs:386:81:386:81 | n | +| main.rs:386:36:386:36 | n | main.rs:386:36:386:36 | [SSA] n | +| main.rs:386:36:386:36 | n | main.rs:386:36:386:36 | n | +| main.rs:386:69:386:69 | [SSA] n | main.rs:386:81:386:81 | n | +| main.rs:386:69:386:69 | n | main.rs:386:69:386:69 | [SSA] n | +| main.rs:386:69:386:69 | n | main.rs:386:69:386:69 | n | +| main.rs:386:76:386:82 | sink(...) | main.rs:385:5:387:5 | match s1 { ... } | +| main.rs:388:5:391:5 | match s2 { ... } | main.rs:376:49:392:1 | { ... } | +| main.rs:388:11:388:12 | s2 | main.rs:389:9:389:38 | ...::C {...} | +| main.rs:388:11:388:12 | s2 | main.rs:390:9:390:38 | ...::D {...} | +| main.rs:389:36:389:36 | [SSA] n | main.rs:389:48:389:48 | n | +| main.rs:389:36:389:36 | n | main.rs:389:36:389:36 | [SSA] n | +| main.rs:389:36:389:36 | n | main.rs:389:36:389:36 | n | +| main.rs:389:43:389:49 | sink(...) | main.rs:388:5:391:5 | match s2 { ... } | +| main.rs:390:36:390:36 | [SSA] n | main.rs:390:48:390:48 | n | +| main.rs:390:36:390:36 | n | main.rs:390:36:390:36 | [SSA] n | +| main.rs:390:36:390:36 | n | main.rs:390:36:390:36 | n | +| main.rs:390:43:390:49 | sink(...) | main.rs:388:5:391:5 | match s2 { ... } | +| main.rs:397:9:397:10 | [SSA] s1 | main.rs:401:11:401:12 | s1 | +| main.rs:397:9:397:10 | s1 | main.rs:397:9:397:10 | [SSA] s1 | +| main.rs:397:9:397:10 | s1 | main.rs:397:9:397:10 | s1 | +| main.rs:397:14:399:5 | C {...} | main.rs:397:9:397:10 | s1 | +| main.rs:400:9:400:10 | [SSA] s2 | main.rs:408:11:408:12 | s2 | +| main.rs:400:9:400:10 | s2 | main.rs:400:9:400:10 | [SSA] s2 | +| main.rs:400:9:400:10 | s2 | main.rs:400:9:400:10 | s2 | +| main.rs:400:14:400:29 | D {...} | main.rs:400:9:400:10 | s2 | +| main.rs:401:11:401:12 | s1 | main.rs:402:9:402:24 | C {...} | +| main.rs:401:11:401:12 | s1 | main.rs:403:9:403:24 | D {...} | +| main.rs:401:11:401:12 | s1 | main.rs:405:11:405:12 | s1 | +| main.rs:402:22:402:22 | [SSA] n | main.rs:402:34:402:34 | n | +| main.rs:402:22:402:22 | n | main.rs:402:22:402:22 | [SSA] n | +| main.rs:402:22:402:22 | n | main.rs:402:22:402:22 | n | +| main.rs:402:29:402:35 | sink(...) | main.rs:401:5:404:5 | match s1 { ... } | +| main.rs:403:22:403:22 | [SSA] n | main.rs:403:34:403:34 | n | +| main.rs:403:22:403:22 | n | main.rs:403:22:403:22 | [SSA] n | +| main.rs:403:22:403:22 | n | main.rs:403:22:403:22 | n | +| main.rs:403:29:403:35 | sink(...) | main.rs:401:5:404:5 | match s1 { ... } | +| main.rs:405:11:405:12 | s1 | main.rs:406:9:406:43 | ... \| ... | +| main.rs:406:9:406:43 | ... \| ... | main.rs:406:9:406:24 | C {...} | +| main.rs:406:9:406:43 | ... \| ... | main.rs:406:28:406:43 | D {...} | +| main.rs:406:22:406:22 | [SSA] n | main.rs:406:53:406:53 | n | +| main.rs:406:22:406:22 | n | main.rs:406:22:406:22 | [SSA] n | +| main.rs:406:22:406:22 | n | main.rs:406:22:406:22 | n | +| main.rs:406:41:406:41 | [SSA] n | main.rs:406:53:406:53 | n | +| main.rs:406:41:406:41 | n | main.rs:406:41:406:41 | [SSA] n | +| main.rs:406:41:406:41 | n | main.rs:406:41:406:41 | n | +| main.rs:406:48:406:54 | sink(...) | main.rs:405:5:407:5 | match s1 { ... } | +| main.rs:408:5:411:5 | match s2 { ... } | main.rs:396:51:412:1 | { ... } | +| main.rs:408:11:408:12 | s2 | main.rs:409:9:409:24 | C {...} | +| main.rs:408:11:408:12 | s2 | main.rs:410:9:410:24 | D {...} | +| main.rs:409:22:409:22 | [SSA] n | main.rs:409:34:409:34 | n | +| main.rs:409:22:409:22 | n | main.rs:409:22:409:22 | [SSA] n | +| main.rs:409:22:409:22 | n | main.rs:409:22:409:22 | n | +| main.rs:409:29:409:35 | sink(...) | main.rs:408:5:411:5 | match s2 { ... } | +| main.rs:410:22:410:22 | [SSA] n | main.rs:410:34:410:34 | n | +| main.rs:410:22:410:22 | n | main.rs:410:22:410:22 | [SSA] n | +| main.rs:410:22:410:22 | n | main.rs:410:22:410:22 | n | +| main.rs:410:29:410:35 | sink(...) | main.rs:408:5:411:5 | match s2 { ... } | +| main.rs:418:9:418:12 | [SSA] arr1 | main.rs:419:14:419:17 | arr1 | | main.rs:418:9:418:12 | arr1 | main.rs:418:9:418:12 | [SSA] arr1 | | main.rs:418:9:418:12 | arr1 | main.rs:418:9:418:12 | arr1 | | main.rs:418:16:418:33 | [...] | main.rs:418:9:418:12 | arr1 | -| main.rs:419:5:425:5 | match arr1 { ... } | main.rs:417:26:426:1 | { ... } | -| main.rs:419:11:419:14 | arr1 | main.rs:420:9:420:17 | SlicePat | -| main.rs:420:10:420:10 | [SSA] a | main.rs:421:18:421:18 | a | -| main.rs:420:10:420:10 | a | main.rs:420:10:420:10 | [SSA] a | -| main.rs:420:10:420:10 | a | main.rs:420:10:420:10 | a | -| main.rs:420:13:420:13 | [SSA] b | main.rs:422:18:422:18 | b | -| main.rs:420:13:420:13 | b | main.rs:420:13:420:13 | [SSA] b | -| main.rs:420:13:420:13 | b | main.rs:420:13:420:13 | b | -| main.rs:420:16:420:16 | [SSA] c | main.rs:423:18:423:18 | c | -| main.rs:420:16:420:16 | c | main.rs:420:16:420:16 | [SSA] c | -| main.rs:420:16:420:16 | c | main.rs:420:16:420:16 | c | -| main.rs:420:22:424:9 | { ... } | main.rs:419:5:425:5 | match arr1 { ... } | -| main.rs:429:9:429:19 | mut mut_arr | main.rs:429:13:429:19 | mut_arr | -| main.rs:429:13:429:19 | [SSA] mut_arr | main.rs:430:10:430:16 | mut_arr | -| main.rs:429:13:429:19 | mut_arr | main.rs:429:13:429:19 | [SSA] mut_arr | -| main.rs:429:23:429:31 | [...] | main.rs:429:9:429:19 | mut mut_arr | -| main.rs:430:10:430:16 | [post] mut_arr | main.rs:432:5:432:11 | mut_arr | -| main.rs:430:10:430:16 | mut_arr | main.rs:432:5:432:11 | mut_arr | -| main.rs:432:5:432:11 | [post] mut_arr | main.rs:433:13:433:19 | mut_arr | -| main.rs:432:5:432:11 | mut_arr | main.rs:433:13:433:19 | mut_arr | -| main.rs:432:18:432:27 | source(...) | main.rs:432:5:432:14 | mut_arr[1] | -| main.rs:433:9:433:9 | [SSA] d | main.rs:434:10:434:10 | d | -| main.rs:433:9:433:9 | d | main.rs:433:9:433:9 | [SSA] d | -| main.rs:433:9:433:9 | d | main.rs:433:9:433:9 | d | -| main.rs:433:13:433:19 | [post] mut_arr | main.rs:435:10:435:16 | mut_arr | -| main.rs:433:13:433:19 | mut_arr | main.rs:435:10:435:16 | mut_arr | -| main.rs:433:13:433:22 | mut_arr[1] | main.rs:433:9:433:9 | d | -| main.rs:440:39:440:43 | [SSA] names | main.rs:442:25:442:29 | names | -| main.rs:440:39:440:43 | names | main.rs:440:39:440:43 | [SSA] names | -| main.rs:440:39:440:43 | names | main.rs:440:39:440:43 | names | -| main.rs:440:39:440:72 | ...: Vec::<...> | main.rs:440:39:440:43 | names | -| main.rs:441:9:441:20 | default_name | main.rs:441:9:441:20 | [SSA] default_name | -| main.rs:441:9:441:20 | default_name | main.rs:441:9:441:20 | default_name | -| main.rs:441:24:441:33 | [post] receiver for source(...) | main.rs:441:24:441:33 | [post] source(...) | -| main.rs:441:24:441:33 | source(...) | main.rs:441:24:441:33 | receiver for source(...) | -| main.rs:441:24:441:45 | ... .to_string() | main.rs:441:9:441:20 | default_name | -| main.rs:441:24:441:45 | ... .to_string() | main.rs:442:9:442:20 | SSA phi read(default_name) | -| main.rs:442:5:448:5 | for ... in ... { ... } | main.rs:440:75:449:1 | { ... } | -| main.rs:442:9:442:20 | SSA phi read(default_name) | main.rs:444:41:444:67 | default_name | -| main.rs:442:10:442:13 | [SSA] cond | main.rs:443:12:443:15 | cond | -| main.rs:442:10:442:13 | cond | main.rs:442:10:442:13 | [SSA] cond | -| main.rs:442:10:442:13 | cond | main.rs:442:10:442:13 | cond | -| main.rs:442:16:442:19 | [SSA] name | main.rs:444:21:444:24 | name | -| main.rs:442:16:442:19 | name | main.rs:442:16:442:19 | [SSA] name | -| main.rs:442:16:442:19 | name | main.rs:442:16:442:19 | name | -| main.rs:443:9:447:9 | if cond {...} | main.rs:442:31:448:5 | { ... } | -| main.rs:444:17:444:17 | [SSA] n | main.rs:445:18:445:18 | n | -| main.rs:444:17:444:17 | n | main.rs:444:17:444:17 | [SSA] n | -| main.rs:444:17:444:17 | n | main.rs:444:17:444:17 | n | -| main.rs:444:21:444:24 | [post] receiver for name | main.rs:444:21:444:24 | [post] name | -| main.rs:444:21:444:24 | name | main.rs:444:21:444:24 | receiver for name | -| main.rs:444:21:444:68 | name.unwrap_or_else(...) | main.rs:444:17:444:17 | n | -| main.rs:444:41:444:67 | [post] default_name | main.rs:442:9:442:20 | SSA phi read(default_name) | -| main.rs:444:41:444:67 | closure self in \|...\| ... | main.rs:444:44:444:55 | this | -| main.rs:444:41:444:67 | default_name | main.rs:442:9:442:20 | SSA phi read(default_name) | -| main.rs:444:44:444:55 | [post] receiver for default_name | main.rs:444:44:444:55 | [post] default_name | -| main.rs:444:44:444:55 | default_name | main.rs:444:44:444:55 | receiver for default_name | -| main.rs:445:18:445:18 | [post] receiver for n | main.rs:445:18:445:18 | [post] n | -| main.rs:445:18:445:18 | n | main.rs:445:18:445:18 | receiver for n | -| main.rs:458:9:458:9 | [SSA] s | main.rs:459:10:459:10 | s | -| main.rs:458:9:458:9 | s | main.rs:458:9:458:9 | [SSA] s | -| main.rs:458:9:458:9 | s | main.rs:458:9:458:9 | s | -| main.rs:458:13:458:27 | MacroExpr | main.rs:458:9:458:9 | s | -| main.rs:458:25:458:26 | source(...) | main.rs:458:13:458:27 | MacroExpr | -| main.rs:462:16:462:16 | [SSA] s | main.rs:463:20:463:20 | s | -| main.rs:462:16:462:16 | s | main.rs:462:16:462:16 | [SSA] s | -| main.rs:462:16:462:16 | s | main.rs:462:16:462:16 | s | -| main.rs:462:16:462:24 | ...: String | main.rs:462:16:462:16 | s | -| main.rs:463:14:463:20 | FormatArgsExpr | main.rs:463:14:463:20 | MacroExpr | -| main.rs:463:14:463:20 | MacroBlockExpr | main.rs:463:5:463:21 | MacroExpr | -| main.rs:463:14:463:20 | [post] MacroExpr | main.rs:463:14:463:20 | [post] FormatArgsExpr | -| main.rs:463:14:463:20 | { ... } | main.rs:463:14:463:20 | MacroBlockExpr | -| main.rs:467:9:467:9 | [SSA] a | main.rs:468:13:468:13 | a | -| main.rs:467:9:467:9 | a | main.rs:467:9:467:9 | [SSA] a | -| main.rs:467:9:467:9 | a | main.rs:467:9:467:9 | a | -| main.rs:467:13:467:22 | source(...) | main.rs:467:9:467:9 | a | -| main.rs:468:9:468:9 | [SSA] b | main.rs:469:13:469:13 | b | -| main.rs:468:9:468:9 | b | main.rs:468:9:468:9 | [SSA] b | -| main.rs:468:9:468:9 | b | main.rs:468:9:468:9 | b | -| main.rs:468:13:468:13 | [post] a | main.rs:472:10:472:10 | a | -| main.rs:468:13:468:13 | [post] receiver for a | main.rs:468:13:468:13 | [post] a | -| main.rs:468:13:468:13 | a | main.rs:468:13:468:13 | receiver for a | -| main.rs:468:13:468:13 | a | main.rs:472:10:472:10 | a | -| main.rs:468:13:468:25 | a.to_string() | main.rs:468:9:468:9 | b | -| main.rs:469:9:469:9 | [SSA] c | main.rs:474:10:474:10 | c | -| main.rs:469:9:469:9 | c | main.rs:469:9:469:9 | [SSA] c | -| main.rs:469:9:469:9 | c | main.rs:469:9:469:9 | c | -| main.rs:469:13:469:13 | [post] b | main.rs:470:18:470:18 | b | -| main.rs:469:13:469:13 | [post] receiver for b | main.rs:469:13:469:13 | [post] b | -| main.rs:469:13:469:13 | b | main.rs:469:13:469:13 | receiver for b | -| main.rs:469:13:469:13 | b | main.rs:470:18:470:18 | b | -| main.rs:469:13:469:28 | [post] receiver for b.parse() | main.rs:469:13:469:28 | [post] b.parse() | -| main.rs:469:13:469:28 | b.parse() | main.rs:469:13:469:28 | receiver for b.parse() | -| main.rs:469:13:469:37 | ... .unwrap() | main.rs:469:9:469:9 | c | -| main.rs:470:9:470:9 | [SSA] d | main.rs:475:10:475:10 | d | -| main.rs:470:9:470:9 | d | main.rs:470:9:470:9 | [SSA] d | -| main.rs:470:9:470:9 | d | main.rs:470:9:470:9 | d | -| main.rs:470:18:470:18 | [post] b | main.rs:473:17:473:17 | b | -| main.rs:470:18:470:18 | [post] receiver for b | main.rs:470:18:470:18 | [post] b | -| main.rs:470:18:470:18 | b | main.rs:470:18:470:18 | receiver for b | -| main.rs:470:18:470:18 | b | main.rs:473:17:473:17 | b | -| main.rs:470:18:470:26 | [post] receiver for b.parse() | main.rs:470:18:470:26 | [post] b.parse() | -| main.rs:470:18:470:26 | b.parse() | main.rs:470:18:470:26 | receiver for b.parse() | -| main.rs:470:18:470:35 | ... .unwrap() | main.rs:470:9:470:9 | d | -| main.rs:479:9:479:10 | [SSA] vs | main.rs:481:10:481:11 | vs | -| main.rs:479:9:479:10 | vs | main.rs:479:9:479:10 | [SSA] vs | -| main.rs:479:9:479:10 | vs | main.rs:479:9:479:10 | vs | -| main.rs:479:14:479:34 | [...] | main.rs:479:9:479:10 | vs | -| main.rs:481:10:481:11 | [post] vs | main.rs:482:11:482:12 | vs | -| main.rs:481:10:481:11 | vs | main.rs:482:11:482:12 | vs | -| main.rs:482:11:482:12 | [post] receiver for vs | main.rs:482:11:482:12 | [post] vs | -| main.rs:482:11:482:12 | [post] vs | main.rs:483:11:483:12 | vs | -| main.rs:482:11:482:12 | vs | main.rs:482:11:482:12 | receiver for vs | -| main.rs:482:11:482:12 | vs | main.rs:483:11:483:12 | vs | -| main.rs:482:11:482:19 | [post] receiver for vs.iter() | main.rs:482:11:482:19 | [post] vs.iter() | -| main.rs:482:11:482:19 | vs.iter() | main.rs:482:11:482:19 | receiver for vs.iter() | -| main.rs:482:11:482:26 | ... .next() | main.rs:482:11:482:26 | receiver for ... .next() | -| main.rs:482:11:482:26 | [post] receiver for ... .next() | main.rs:482:11:482:26 | [post] ... .next() | -| main.rs:482:11:482:35 | ... .unwrap() | main.rs:482:11:482:35 | receiver for ... .unwrap() | -| main.rs:482:11:482:35 | [post] receiver for ... .unwrap() | main.rs:482:11:482:35 | [post] ... .unwrap() | -| main.rs:483:11:483:12 | [post] receiver for vs | main.rs:483:11:483:12 | [post] vs | -| main.rs:483:11:483:12 | [post] vs | main.rs:485:14:485:15 | vs | -| main.rs:483:11:483:12 | vs | main.rs:483:11:483:12 | receiver for vs | -| main.rs:483:11:483:12 | vs | main.rs:485:14:485:15 | vs | -| main.rs:483:11:483:19 | [post] receiver for vs.iter() | main.rs:483:11:483:19 | [post] vs.iter() | -| main.rs:483:11:483:19 | vs.iter() | main.rs:483:11:483:19 | receiver for vs.iter() | -| main.rs:483:11:483:26 | ... .nth(...) | main.rs:483:11:483:26 | receiver for ... .nth(...) | -| main.rs:483:11:483:26 | [post] receiver for ... .nth(...) | main.rs:483:11:483:26 | [post] ... .nth(...) | -| main.rs:483:11:483:35 | ... .unwrap() | main.rs:483:11:483:35 | receiver for ... .unwrap() | -| main.rs:483:11:483:35 | [post] receiver for ... .unwrap() | main.rs:483:11:483:35 | [post] ... .unwrap() | -| main.rs:485:9:485:9 | [SSA] v | main.rs:486:14:486:14 | v | -| main.rs:485:9:485:9 | v | main.rs:485:9:485:9 | [SSA] v | -| main.rs:485:9:485:9 | v | main.rs:485:9:485:9 | v | -| main.rs:485:14:485:15 | vs | main.rs:488:15:488:16 | vs | -| main.rs:488:10:488:10 | [SSA] v | main.rs:489:14:489:14 | v | -| main.rs:488:10:488:10 | v | main.rs:488:10:488:10 | [SSA] v | -| main.rs:488:10:488:10 | v | main.rs:488:10:488:10 | v | -| main.rs:488:15:488:16 | [post] receiver for vs | main.rs:488:15:488:16 | [post] vs | -| main.rs:488:15:488:16 | [post] vs | main.rs:492:26:492:27 | vs | -| main.rs:488:15:488:16 | vs | main.rs:488:15:488:16 | receiver for vs | -| main.rs:488:15:488:16 | vs | main.rs:492:26:492:27 | vs | -| main.rs:492:9:492:11 | [SSA] vs2 | main.rs:493:15:493:17 | vs2 | -| main.rs:492:9:492:11 | vs2 | main.rs:492:9:492:11 | [SSA] vs2 | -| main.rs:492:9:492:11 | vs2 | main.rs:492:9:492:11 | vs2 | -| main.rs:492:26:492:27 | [post] receiver for vs | main.rs:492:26:492:27 | [post] vs | -| main.rs:492:26:492:27 | [post] vs | main.rs:497:5:497:6 | vs | -| main.rs:492:26:492:27 | vs | main.rs:492:26:492:27 | receiver for vs | -| main.rs:492:26:492:27 | vs | main.rs:497:5:497:6 | vs | -| main.rs:492:26:492:34 | [post] receiver for vs.iter() | main.rs:492:26:492:34 | [post] vs.iter() | -| main.rs:492:26:492:34 | vs.iter() | main.rs:492:26:492:34 | receiver for vs.iter() | -| main.rs:492:26:492:44 | ... .collect() | main.rs:492:9:492:11 | vs2 | -| main.rs:493:10:493:10 | [SSA] v | main.rs:494:14:494:14 | v | -| main.rs:493:10:493:10 | v | main.rs:493:10:493:10 | [SSA] v | -| main.rs:493:10:493:10 | v | main.rs:493:10:493:10 | v | -| main.rs:497:5:497:6 | [post] receiver for vs | main.rs:497:5:497:6 | [post] vs | -| main.rs:497:5:497:6 | [post] vs | main.rs:498:5:498:6 | vs | -| main.rs:497:5:497:6 | vs | main.rs:497:5:497:6 | receiver for vs | -| main.rs:497:5:497:6 | vs | main.rs:498:5:498:6 | vs | -| main.rs:497:5:497:13 | [post] receiver for vs.iter() | main.rs:497:5:497:13 | [post] vs.iter() | -| main.rs:497:5:497:13 | vs.iter() | main.rs:497:5:497:13 | receiver for vs.iter() | -| main.rs:497:20:497:20 | ... | main.rs:497:20:497:20 | x | -| main.rs:497:20:497:20 | [SSA] x | main.rs:497:29:497:29 | x | -| main.rs:497:20:497:20 | x | main.rs:497:20:497:20 | [SSA] x | -| main.rs:497:20:497:20 | x | main.rs:497:20:497:20 | x | -| main.rs:497:29:497:29 | [post] receiver for x | main.rs:497:29:497:29 | [post] x | -| main.rs:497:29:497:29 | x | main.rs:497:29:497:29 | receiver for x | -| main.rs:498:5:498:6 | [post] receiver for vs | main.rs:498:5:498:6 | [post] vs | -| main.rs:498:5:498:6 | [post] vs | main.rs:500:14:500:15 | vs | -| main.rs:498:5:498:6 | vs | main.rs:498:5:498:6 | receiver for vs | -| main.rs:498:5:498:6 | vs | main.rs:500:14:500:15 | vs | -| main.rs:498:5:498:13 | [post] receiver for vs.iter() | main.rs:498:5:498:13 | [post] vs.iter() | -| main.rs:498:5:498:13 | vs.iter() | main.rs:498:5:498:13 | receiver for vs.iter() | -| main.rs:498:25:498:25 | ... | main.rs:498:25:498:25 | x | -| main.rs:498:25:498:25 | [SSA] x | main.rs:498:34:498:34 | x | -| main.rs:498:25:498:25 | x | main.rs:498:25:498:25 | [SSA] x | -| main.rs:498:25:498:25 | x | main.rs:498:25:498:25 | x | -| main.rs:498:34:498:34 | [post] receiver for x | main.rs:498:34:498:34 | [post] x | -| main.rs:498:34:498:34 | x | main.rs:498:34:498:34 | receiver for x | -| main.rs:500:9:500:9 | [SSA] v | main.rs:501:14:501:14 | v | -| main.rs:500:9:500:9 | v | main.rs:500:9:500:9 | [SSA] v | -| main.rs:500:9:500:9 | v | main.rs:500:9:500:9 | v | -| main.rs:500:14:500:15 | [post] receiver for vs | main.rs:500:14:500:15 | [post] vs | -| main.rs:500:14:500:15 | vs | main.rs:500:14:500:15 | receiver for vs | -| main.rs:504:9:504:18 | mut vs_mut | main.rs:504:13:504:18 | vs_mut | -| main.rs:504:13:504:18 | [SSA] vs_mut | main.rs:506:10:506:15 | vs_mut | -| main.rs:504:13:504:18 | vs_mut | main.rs:504:13:504:18 | [SSA] vs_mut | -| main.rs:504:22:504:42 | [...] | main.rs:504:9:504:18 | mut vs_mut | -| main.rs:506:10:506:15 | [post] vs_mut | main.rs:507:11:507:16 | [SSA] vs_mut | -| main.rs:506:10:506:15 | [post] vs_mut | main.rs:507:11:507:16 | vs_mut | -| main.rs:506:10:506:15 | vs_mut | main.rs:507:11:507:16 | [SSA] vs_mut | -| main.rs:506:10:506:15 | vs_mut | main.rs:507:11:507:16 | vs_mut | -| main.rs:507:11:507:16 | [SSA] vs_mut | main.rs:508:11:508:16 | [SSA] vs_mut | -| main.rs:507:11:507:16 | [SSA] vs_mut | main.rs:508:11:508:16 | vs_mut | -| main.rs:507:11:507:16 | [post] receiver for vs_mut | main.rs:507:11:507:16 | [post] vs_mut | -| main.rs:507:11:507:16 | [post] vs_mut | main.rs:508:11:508:16 | [SSA] vs_mut | -| main.rs:507:11:507:16 | [post] vs_mut | main.rs:508:11:508:16 | vs_mut | -| main.rs:507:11:507:16 | vs_mut | main.rs:507:11:507:16 | receiver for vs_mut | -| main.rs:507:11:507:16 | vs_mut | main.rs:508:11:508:16 | [SSA] vs_mut | -| main.rs:507:11:507:16 | vs_mut | main.rs:508:11:508:16 | vs_mut | -| main.rs:507:11:507:23 | [post] receiver for vs_mut.iter() | main.rs:507:11:507:23 | [post] vs_mut.iter() | -| main.rs:507:11:507:23 | vs_mut.iter() | main.rs:507:11:507:23 | receiver for vs_mut.iter() | -| main.rs:507:11:507:30 | ... .next() | main.rs:507:11:507:30 | receiver for ... .next() | -| main.rs:507:11:507:30 | [post] receiver for ... .next() | main.rs:507:11:507:30 | [post] ... .next() | -| main.rs:507:11:507:39 | ... .unwrap() | main.rs:507:11:507:39 | receiver for ... .unwrap() | -| main.rs:507:11:507:39 | [post] receiver for ... .unwrap() | main.rs:507:11:507:39 | [post] ... .unwrap() | -| main.rs:508:11:508:16 | [SSA] vs_mut | main.rs:510:19:510:24 | vs_mut | -| main.rs:508:11:508:16 | [post] receiver for vs_mut | main.rs:508:11:508:16 | [post] vs_mut | -| main.rs:508:11:508:16 | [post] vs_mut | main.rs:510:19:510:24 | vs_mut | -| main.rs:508:11:508:16 | vs_mut | main.rs:508:11:508:16 | receiver for vs_mut | -| main.rs:508:11:508:16 | vs_mut | main.rs:510:19:510:24 | vs_mut | -| main.rs:508:11:508:23 | [post] receiver for vs_mut.iter() | main.rs:508:11:508:23 | [post] vs_mut.iter() | -| main.rs:508:11:508:23 | vs_mut.iter() | main.rs:508:11:508:23 | receiver for vs_mut.iter() | -| main.rs:508:11:508:30 | ... .nth(...) | main.rs:508:11:508:30 | receiver for ... .nth(...) | -| main.rs:508:11:508:30 | [post] receiver for ... .nth(...) | main.rs:508:11:508:30 | [post] ... .nth(...) | -| main.rs:508:11:508:39 | ... .unwrap() | main.rs:508:11:508:39 | receiver for ... .unwrap() | -| main.rs:508:11:508:39 | [post] receiver for ... .unwrap() | main.rs:508:11:508:39 | [post] ... .unwrap() | -| main.rs:510:5:512:5 | for ... in ... { ... } | main.rs:478:16:513:1 | { ... } | -| main.rs:510:14:510:14 | [SSA] v | main.rs:511:14:511:14 | v | -| main.rs:510:14:510:14 | v | main.rs:510:14:510:14 | [SSA] v | -| main.rs:510:14:510:14 | v | main.rs:510:14:510:14 | v | -| main.rs:510:19:510:24 | [post] receiver for vs_mut | main.rs:510:19:510:24 | [post] vs_mut | -| main.rs:510:19:510:24 | vs_mut | main.rs:510:19:510:24 | receiver for vs_mut | -| main.rs:516:9:516:9 | [SSA] a | main.rs:521:10:521:10 | a | -| main.rs:516:9:516:9 | a | main.rs:516:9:516:9 | [SSA] a | -| main.rs:516:9:516:9 | a | main.rs:516:9:516:9 | a | -| main.rs:516:13:516:22 | source(...) | main.rs:516:9:516:9 | a | -| main.rs:517:9:517:9 | [SSA] b | main.rs:522:15:522:15 | b | -| main.rs:517:9:517:9 | b | main.rs:517:9:517:9 | [SSA] b | -| main.rs:517:9:517:9 | b | main.rs:517:9:517:9 | b | -| main.rs:517:13:517:22 | source(...) | main.rs:517:9:517:9 | b | -| main.rs:518:9:518:9 | [SSA] c | main.rs:519:18:519:18 | c | -| main.rs:518:9:518:9 | c | main.rs:518:9:518:9 | [SSA] c | -| main.rs:518:9:518:9 | c | main.rs:518:9:518:9 | c | -| main.rs:518:13:518:22 | source(...) | main.rs:518:9:518:9 | c | -| main.rs:519:9:519:13 | [SSA] c_ref | main.rs:523:14:523:18 | c_ref | -| main.rs:519:9:519:13 | c_ref | main.rs:519:9:519:13 | [SSA] c_ref | -| main.rs:519:9:519:13 | c_ref | main.rs:519:9:519:13 | c_ref | -| main.rs:519:17:519:18 | &c | main.rs:519:9:519:13 | c_ref | -| main.rs:523:14:523:18 | [post] c_ref | main.rs:524:11:524:15 | c_ref | -| main.rs:523:14:523:18 | c_ref | main.rs:524:11:524:15 | c_ref | -| main.rs:524:11:524:15 | [post] receiver for c_ref | main.rs:524:11:524:15 | [post] c_ref | -| main.rs:524:11:524:15 | c_ref | main.rs:524:11:524:15 | receiver for c_ref | -| main.rs:528:9:528:9 | [SSA] a | main.rs:530:10:530:10 | a | -| main.rs:528:9:528:9 | a | main.rs:528:9:528:9 | [SSA] a | -| main.rs:528:9:528:9 | a | main.rs:528:9:528:9 | a | -| main.rs:528:18:528:27 | source(...) | main.rs:528:9:528:9 | a | -| main.rs:530:10:530:10 | [post] a | main.rs:531:10:531:10 | a | -| main.rs:530:10:530:10 | a | main.rs:531:10:531:10 | a | -| main.rs:531:10:531:10 | [post] a | main.rs:532:20:532:20 | a | -| main.rs:531:10:531:10 | [post] receiver for a | main.rs:531:10:531:10 | [post] a | -| main.rs:531:10:531:10 | a | main.rs:531:10:531:10 | receiver for a | -| main.rs:531:10:531:10 | a | main.rs:532:20:532:20 | a | -| main.rs:534:9:534:9 | [SSA] b | main.rs:536:10:536:10 | b | -| main.rs:534:9:534:9 | b | main.rs:534:9:534:9 | [SSA] b | -| main.rs:534:9:534:9 | b | main.rs:534:9:534:9 | b | -| main.rs:534:18:534:34 | ... as i32 | main.rs:534:9:534:9 | b | -| main.rs:536:10:536:10 | [post] b | main.rs:537:10:537:10 | b | -| main.rs:536:10:536:10 | b | main.rs:537:10:537:10 | b | -| main.rs:537:10:537:10 | [post] b | main.rs:538:20:538:20 | b | -| main.rs:537:10:537:10 | [post] receiver for b | main.rs:537:10:537:10 | [post] b | -| main.rs:537:10:537:10 | b | main.rs:537:10:537:10 | receiver for b | -| main.rs:537:10:537:10 | b | main.rs:538:20:538:20 | b | -| main.rs:565:13:565:33 | result_questionmark(...) | main.rs:565:9:565:9 | _ | -| main.rs:577:36:577:41 | ...::new(...) | main.rs:577:36:577:41 | MacroExpr | -| main.rs:577:36:577:41 | [post] MacroExpr | main.rs:577:36:577:41 | [post] ...::new(...) | +| main.rs:419:9:419:10 | [SSA] n1 | main.rs:420:10:420:11 | n1 | +| main.rs:419:9:419:10 | n1 | main.rs:419:9:419:10 | [SSA] n1 | +| main.rs:419:9:419:10 | n1 | main.rs:419:9:419:10 | n1 | +| main.rs:419:14:419:20 | arr1[2] | main.rs:419:9:419:10 | n1 | +| main.rs:422:9:422:12 | [SSA] arr2 | main.rs:423:14:423:17 | arr2 | +| main.rs:422:9:422:12 | arr2 | main.rs:422:9:422:12 | [SSA] arr2 | +| main.rs:422:9:422:12 | arr2 | main.rs:422:9:422:12 | arr2 | +| main.rs:422:16:422:31 | [...; 10] | main.rs:422:9:422:12 | arr2 | +| main.rs:423:9:423:10 | [SSA] n2 | main.rs:424:10:424:11 | n2 | +| main.rs:423:9:423:10 | n2 | main.rs:423:9:423:10 | [SSA] n2 | +| main.rs:423:9:423:10 | n2 | main.rs:423:9:423:10 | n2 | +| main.rs:423:14:423:20 | arr2[4] | main.rs:423:9:423:10 | n2 | +| main.rs:426:9:426:12 | [SSA] arr3 | main.rs:427:14:427:17 | arr3 | +| main.rs:426:9:426:12 | arr3 | main.rs:426:9:426:12 | [SSA] arr3 | +| main.rs:426:9:426:12 | arr3 | main.rs:426:9:426:12 | arr3 | +| main.rs:426:16:426:24 | [...] | main.rs:426:9:426:12 | arr3 | +| main.rs:427:9:427:10 | [SSA] n3 | main.rs:428:10:428:11 | n3 | +| main.rs:427:9:427:10 | n3 | main.rs:427:9:427:10 | [SSA] n3 | +| main.rs:427:9:427:10 | n3 | main.rs:427:9:427:10 | n3 | +| main.rs:427:14:427:20 | arr3[2] | main.rs:427:9:427:10 | n3 | +| main.rs:432:9:432:12 | [SSA] arr1 | main.rs:433:15:433:18 | arr1 | +| main.rs:432:9:432:12 | arr1 | main.rs:432:9:432:12 | [SSA] arr1 | +| main.rs:432:9:432:12 | arr1 | main.rs:432:9:432:12 | arr1 | +| main.rs:432:16:432:33 | [...] | main.rs:432:9:432:12 | arr1 | +| main.rs:433:9:433:10 | [SSA] n1 | main.rs:434:14:434:15 | n1 | +| main.rs:433:9:433:10 | n1 | main.rs:433:9:433:10 | [SSA] n1 | +| main.rs:433:9:433:10 | n1 | main.rs:433:9:433:10 | n1 | +| main.rs:437:9:437:12 | [SSA] arr2 | main.rs:438:15:438:18 | arr2 | +| main.rs:437:9:437:12 | arr2 | main.rs:437:9:437:12 | [SSA] arr2 | +| main.rs:437:9:437:12 | arr2 | main.rs:437:9:437:12 | arr2 | +| main.rs:437:16:437:24 | [...] | main.rs:437:9:437:12 | arr2 | +| main.rs:438:5:440:5 | for ... in ... { ... } | main.rs:431:21:441:1 | { ... } | +| main.rs:438:9:438:10 | [SSA] n2 | main.rs:439:14:439:15 | n2 | +| main.rs:438:9:438:10 | n2 | main.rs:438:9:438:10 | [SSA] n2 | +| main.rs:438:9:438:10 | n2 | main.rs:438:9:438:10 | n2 | +| main.rs:444:9:444:12 | [SSA] arr1 | main.rs:445:11:445:14 | arr1 | +| main.rs:444:9:444:12 | arr1 | main.rs:444:9:444:12 | [SSA] arr1 | +| main.rs:444:9:444:12 | arr1 | main.rs:444:9:444:12 | arr1 | +| main.rs:444:16:444:33 | [...] | main.rs:444:9:444:12 | arr1 | +| main.rs:445:5:451:5 | match arr1 { ... } | main.rs:443:26:452:1 | { ... } | +| main.rs:445:11:445:14 | arr1 | main.rs:446:9:446:17 | SlicePat | +| main.rs:446:10:446:10 | [SSA] a | main.rs:447:18:447:18 | a | +| main.rs:446:10:446:10 | a | main.rs:446:10:446:10 | [SSA] a | +| main.rs:446:10:446:10 | a | main.rs:446:10:446:10 | a | +| main.rs:446:13:446:13 | [SSA] b | main.rs:448:18:448:18 | b | +| main.rs:446:13:446:13 | b | main.rs:446:13:446:13 | [SSA] b | +| main.rs:446:13:446:13 | b | main.rs:446:13:446:13 | b | +| main.rs:446:16:446:16 | [SSA] c | main.rs:449:18:449:18 | c | +| main.rs:446:16:446:16 | c | main.rs:446:16:446:16 | [SSA] c | +| main.rs:446:16:446:16 | c | main.rs:446:16:446:16 | c | +| main.rs:446:22:450:9 | { ... } | main.rs:445:5:451:5 | match arr1 { ... } | +| main.rs:455:9:455:19 | mut mut_arr | main.rs:455:13:455:19 | mut_arr | +| main.rs:455:13:455:19 | [SSA] mut_arr | main.rs:456:10:456:16 | mut_arr | +| main.rs:455:13:455:19 | mut_arr | main.rs:455:13:455:19 | [SSA] mut_arr | +| main.rs:455:23:455:31 | [...] | main.rs:455:9:455:19 | mut mut_arr | +| main.rs:456:10:456:16 | [post] mut_arr | main.rs:458:5:458:11 | mut_arr | +| main.rs:456:10:456:16 | mut_arr | main.rs:458:5:458:11 | mut_arr | +| main.rs:458:5:458:11 | [post] mut_arr | main.rs:459:13:459:19 | mut_arr | +| main.rs:458:5:458:11 | mut_arr | main.rs:459:13:459:19 | mut_arr | +| main.rs:458:18:458:27 | source(...) | main.rs:458:5:458:14 | mut_arr[1] | +| main.rs:459:9:459:9 | [SSA] d | main.rs:460:10:460:10 | d | +| main.rs:459:9:459:9 | d | main.rs:459:9:459:9 | [SSA] d | +| main.rs:459:9:459:9 | d | main.rs:459:9:459:9 | d | +| main.rs:459:13:459:19 | [post] mut_arr | main.rs:461:10:461:16 | mut_arr | +| main.rs:459:13:459:19 | mut_arr | main.rs:461:10:461:16 | mut_arr | +| main.rs:459:13:459:22 | mut_arr[1] | main.rs:459:9:459:9 | d | +| main.rs:466:39:466:43 | [SSA] names | main.rs:468:25:468:29 | names | +| main.rs:466:39:466:43 | names | main.rs:466:39:466:43 | [SSA] names | +| main.rs:466:39:466:43 | names | main.rs:466:39:466:43 | names | +| main.rs:466:39:466:72 | ...: Vec::<...> | main.rs:466:39:466:43 | names | +| main.rs:467:9:467:20 | default_name | main.rs:467:9:467:20 | [SSA] default_name | +| main.rs:467:9:467:20 | default_name | main.rs:467:9:467:20 | default_name | +| main.rs:467:24:467:33 | [post] receiver for source(...) | main.rs:467:24:467:33 | [post] source(...) | +| main.rs:467:24:467:33 | source(...) | main.rs:467:24:467:33 | receiver for source(...) | +| main.rs:467:24:467:45 | ... .to_string() | main.rs:467:9:467:20 | default_name | +| main.rs:467:24:467:45 | ... .to_string() | main.rs:468:9:468:20 | SSA phi read(default_name) | +| main.rs:468:5:474:5 | for ... in ... { ... } | main.rs:466:75:475:1 | { ... } | +| main.rs:468:9:468:20 | SSA phi read(default_name) | main.rs:470:41:470:67 | default_name | +| main.rs:468:10:468:13 | [SSA] cond | main.rs:469:12:469:15 | cond | +| main.rs:468:10:468:13 | cond | main.rs:468:10:468:13 | [SSA] cond | +| main.rs:468:10:468:13 | cond | main.rs:468:10:468:13 | cond | +| main.rs:468:16:468:19 | [SSA] name | main.rs:470:21:470:24 | name | +| main.rs:468:16:468:19 | name | main.rs:468:16:468:19 | [SSA] name | +| main.rs:468:16:468:19 | name | main.rs:468:16:468:19 | name | +| main.rs:469:9:473:9 | if cond {...} | main.rs:468:31:474:5 | { ... } | +| main.rs:470:17:470:17 | [SSA] n | main.rs:471:18:471:18 | n | +| main.rs:470:17:470:17 | n | main.rs:470:17:470:17 | [SSA] n | +| main.rs:470:17:470:17 | n | main.rs:470:17:470:17 | n | +| main.rs:470:21:470:24 | [post] receiver for name | main.rs:470:21:470:24 | [post] name | +| main.rs:470:21:470:24 | name | main.rs:470:21:470:24 | receiver for name | +| main.rs:470:21:470:68 | name.unwrap_or_else(...) | main.rs:470:17:470:17 | n | +| main.rs:470:41:470:67 | [post] default_name | main.rs:468:9:468:20 | SSA phi read(default_name) | +| main.rs:470:41:470:67 | closure self in \|...\| ... | main.rs:470:44:470:55 | this | +| main.rs:470:41:470:67 | default_name | main.rs:468:9:468:20 | SSA phi read(default_name) | +| main.rs:470:44:470:55 | [post] receiver for default_name | main.rs:470:44:470:55 | [post] default_name | +| main.rs:470:44:470:55 | default_name | main.rs:470:44:470:55 | receiver for default_name | +| main.rs:471:18:471:18 | [post] receiver for n | main.rs:471:18:471:18 | [post] n | +| main.rs:471:18:471:18 | n | main.rs:471:18:471:18 | receiver for n | +| main.rs:484:9:484:9 | [SSA] s | main.rs:485:10:485:10 | s | +| main.rs:484:9:484:9 | s | main.rs:484:9:484:9 | [SSA] s | +| main.rs:484:9:484:9 | s | main.rs:484:9:484:9 | s | +| main.rs:484:13:484:27 | MacroExpr | main.rs:484:9:484:9 | s | +| main.rs:484:25:484:26 | source(...) | main.rs:484:13:484:27 | MacroExpr | +| main.rs:488:16:488:16 | [SSA] s | main.rs:489:20:489:20 | s | +| main.rs:488:16:488:16 | s | main.rs:488:16:488:16 | [SSA] s | +| main.rs:488:16:488:16 | s | main.rs:488:16:488:16 | s | +| main.rs:488:16:488:24 | ...: String | main.rs:488:16:488:16 | s | +| main.rs:489:14:489:20 | FormatArgsExpr | main.rs:489:14:489:20 | MacroExpr | +| main.rs:489:14:489:20 | MacroBlockExpr | main.rs:489:5:489:21 | MacroExpr | +| main.rs:489:14:489:20 | [post] MacroExpr | main.rs:489:14:489:20 | [post] FormatArgsExpr | +| main.rs:489:14:489:20 | { ... } | main.rs:489:14:489:20 | MacroBlockExpr | +| main.rs:493:9:493:9 | [SSA] a | main.rs:494:13:494:13 | a | +| main.rs:493:9:493:9 | a | main.rs:493:9:493:9 | [SSA] a | +| main.rs:493:9:493:9 | a | main.rs:493:9:493:9 | a | +| main.rs:493:13:493:22 | source(...) | main.rs:493:9:493:9 | a | +| main.rs:494:9:494:9 | [SSA] b | main.rs:495:13:495:13 | b | +| main.rs:494:9:494:9 | b | main.rs:494:9:494:9 | [SSA] b | +| main.rs:494:9:494:9 | b | main.rs:494:9:494:9 | b | +| main.rs:494:13:494:13 | [post] a | main.rs:498:10:498:10 | a | +| main.rs:494:13:494:13 | [post] receiver for a | main.rs:494:13:494:13 | [post] a | +| main.rs:494:13:494:13 | a | main.rs:494:13:494:13 | receiver for a | +| main.rs:494:13:494:13 | a | main.rs:498:10:498:10 | a | +| main.rs:494:13:494:25 | a.to_string() | main.rs:494:9:494:9 | b | +| main.rs:495:9:495:9 | [SSA] c | main.rs:500:10:500:10 | c | +| main.rs:495:9:495:9 | c | main.rs:495:9:495:9 | [SSA] c | +| main.rs:495:9:495:9 | c | main.rs:495:9:495:9 | c | +| main.rs:495:13:495:13 | [post] b | main.rs:496:18:496:18 | b | +| main.rs:495:13:495:13 | [post] receiver for b | main.rs:495:13:495:13 | [post] b | +| main.rs:495:13:495:13 | b | main.rs:495:13:495:13 | receiver for b | +| main.rs:495:13:495:13 | b | main.rs:496:18:496:18 | b | +| main.rs:495:13:495:28 | [post] receiver for b.parse() | main.rs:495:13:495:28 | [post] b.parse() | +| main.rs:495:13:495:28 | b.parse() | main.rs:495:13:495:28 | receiver for b.parse() | +| main.rs:495:13:495:37 | ... .unwrap() | main.rs:495:9:495:9 | c | +| main.rs:496:9:496:9 | [SSA] d | main.rs:501:10:501:10 | d | +| main.rs:496:9:496:9 | d | main.rs:496:9:496:9 | [SSA] d | +| main.rs:496:9:496:9 | d | main.rs:496:9:496:9 | d | +| main.rs:496:18:496:18 | [post] b | main.rs:499:17:499:17 | b | +| main.rs:496:18:496:18 | [post] receiver for b | main.rs:496:18:496:18 | [post] b | +| main.rs:496:18:496:18 | b | main.rs:496:18:496:18 | receiver for b | +| main.rs:496:18:496:18 | b | main.rs:499:17:499:17 | b | +| main.rs:496:18:496:26 | [post] receiver for b.parse() | main.rs:496:18:496:26 | [post] b.parse() | +| main.rs:496:18:496:26 | b.parse() | main.rs:496:18:496:26 | receiver for b.parse() | +| main.rs:496:18:496:35 | ... .unwrap() | main.rs:496:9:496:9 | d | +| main.rs:505:9:505:10 | [SSA] vs | main.rs:507:10:507:11 | vs | +| main.rs:505:9:505:10 | vs | main.rs:505:9:505:10 | [SSA] vs | +| main.rs:505:9:505:10 | vs | main.rs:505:9:505:10 | vs | +| main.rs:505:14:505:34 | [...] | main.rs:505:9:505:10 | vs | +| main.rs:507:10:507:11 | [post] vs | main.rs:508:11:508:12 | vs | +| main.rs:507:10:507:11 | vs | main.rs:508:11:508:12 | vs | +| main.rs:508:11:508:12 | [post] receiver for vs | main.rs:508:11:508:12 | [post] vs | +| main.rs:508:11:508:12 | [post] vs | main.rs:509:11:509:12 | vs | +| main.rs:508:11:508:12 | vs | main.rs:508:11:508:12 | receiver for vs | +| main.rs:508:11:508:12 | vs | main.rs:509:11:509:12 | vs | +| main.rs:508:11:508:19 | [post] receiver for vs.iter() | main.rs:508:11:508:19 | [post] vs.iter() | +| main.rs:508:11:508:19 | vs.iter() | main.rs:508:11:508:19 | receiver for vs.iter() | +| main.rs:508:11:508:26 | ... .next() | main.rs:508:11:508:26 | receiver for ... .next() | +| main.rs:508:11:508:26 | [post] receiver for ... .next() | main.rs:508:11:508:26 | [post] ... .next() | +| main.rs:508:11:508:35 | ... .unwrap() | main.rs:508:11:508:35 | receiver for ... .unwrap() | +| main.rs:508:11:508:35 | [post] receiver for ... .unwrap() | main.rs:508:11:508:35 | [post] ... .unwrap() | +| main.rs:509:11:509:12 | [post] receiver for vs | main.rs:509:11:509:12 | [post] vs | +| main.rs:509:11:509:12 | [post] vs | main.rs:511:14:511:15 | vs | +| main.rs:509:11:509:12 | vs | main.rs:509:11:509:12 | receiver for vs | +| main.rs:509:11:509:12 | vs | main.rs:511:14:511:15 | vs | +| main.rs:509:11:509:19 | [post] receiver for vs.iter() | main.rs:509:11:509:19 | [post] vs.iter() | +| main.rs:509:11:509:19 | vs.iter() | main.rs:509:11:509:19 | receiver for vs.iter() | +| main.rs:509:11:509:26 | ... .nth(...) | main.rs:509:11:509:26 | receiver for ... .nth(...) | +| main.rs:509:11:509:26 | [post] receiver for ... .nth(...) | main.rs:509:11:509:26 | [post] ... .nth(...) | +| main.rs:509:11:509:35 | ... .unwrap() | main.rs:509:11:509:35 | receiver for ... .unwrap() | +| main.rs:509:11:509:35 | [post] receiver for ... .unwrap() | main.rs:509:11:509:35 | [post] ... .unwrap() | +| main.rs:511:9:511:9 | [SSA] v | main.rs:512:14:512:14 | v | +| main.rs:511:9:511:9 | v | main.rs:511:9:511:9 | [SSA] v | +| main.rs:511:9:511:9 | v | main.rs:511:9:511:9 | v | +| main.rs:511:14:511:15 | vs | main.rs:514:15:514:16 | vs | +| main.rs:514:10:514:10 | [SSA] v | main.rs:515:14:515:14 | v | +| main.rs:514:10:514:10 | v | main.rs:514:10:514:10 | [SSA] v | +| main.rs:514:10:514:10 | v | main.rs:514:10:514:10 | v | +| main.rs:514:15:514:16 | [post] receiver for vs | main.rs:514:15:514:16 | [post] vs | +| main.rs:514:15:514:16 | [post] vs | main.rs:518:26:518:27 | vs | +| main.rs:514:15:514:16 | vs | main.rs:514:15:514:16 | receiver for vs | +| main.rs:514:15:514:16 | vs | main.rs:518:26:518:27 | vs | +| main.rs:518:9:518:11 | [SSA] vs2 | main.rs:519:15:519:17 | vs2 | +| main.rs:518:9:518:11 | vs2 | main.rs:518:9:518:11 | [SSA] vs2 | +| main.rs:518:9:518:11 | vs2 | main.rs:518:9:518:11 | vs2 | +| main.rs:518:26:518:27 | [post] receiver for vs | main.rs:518:26:518:27 | [post] vs | +| main.rs:518:26:518:27 | [post] vs | main.rs:523:5:523:6 | vs | +| main.rs:518:26:518:27 | vs | main.rs:518:26:518:27 | receiver for vs | +| main.rs:518:26:518:27 | vs | main.rs:523:5:523:6 | vs | +| main.rs:518:26:518:34 | [post] receiver for vs.iter() | main.rs:518:26:518:34 | [post] vs.iter() | +| main.rs:518:26:518:34 | vs.iter() | main.rs:518:26:518:34 | receiver for vs.iter() | +| main.rs:518:26:518:44 | ... .collect() | main.rs:518:9:518:11 | vs2 | +| main.rs:519:10:519:10 | [SSA] v | main.rs:520:14:520:14 | v | +| main.rs:519:10:519:10 | v | main.rs:519:10:519:10 | [SSA] v | +| main.rs:519:10:519:10 | v | main.rs:519:10:519:10 | v | +| main.rs:523:5:523:6 | [post] receiver for vs | main.rs:523:5:523:6 | [post] vs | +| main.rs:523:5:523:6 | [post] vs | main.rs:524:5:524:6 | vs | +| main.rs:523:5:523:6 | vs | main.rs:523:5:523:6 | receiver for vs | +| main.rs:523:5:523:6 | vs | main.rs:524:5:524:6 | vs | +| main.rs:523:5:523:13 | [post] receiver for vs.iter() | main.rs:523:5:523:13 | [post] vs.iter() | +| main.rs:523:5:523:13 | vs.iter() | main.rs:523:5:523:13 | receiver for vs.iter() | +| main.rs:523:20:523:20 | ... | main.rs:523:20:523:20 | x | +| main.rs:523:20:523:20 | [SSA] x | main.rs:523:29:523:29 | x | +| main.rs:523:20:523:20 | x | main.rs:523:20:523:20 | [SSA] x | +| main.rs:523:20:523:20 | x | main.rs:523:20:523:20 | x | +| main.rs:523:29:523:29 | [post] receiver for x | main.rs:523:29:523:29 | [post] x | +| main.rs:523:29:523:29 | x | main.rs:523:29:523:29 | receiver for x | +| main.rs:524:5:524:6 | [post] receiver for vs | main.rs:524:5:524:6 | [post] vs | +| main.rs:524:5:524:6 | [post] vs | main.rs:526:14:526:15 | vs | +| main.rs:524:5:524:6 | vs | main.rs:524:5:524:6 | receiver for vs | +| main.rs:524:5:524:6 | vs | main.rs:526:14:526:15 | vs | +| main.rs:524:5:524:13 | [post] receiver for vs.iter() | main.rs:524:5:524:13 | [post] vs.iter() | +| main.rs:524:5:524:13 | vs.iter() | main.rs:524:5:524:13 | receiver for vs.iter() | +| main.rs:524:25:524:25 | ... | main.rs:524:25:524:25 | x | +| main.rs:524:25:524:25 | [SSA] x | main.rs:524:34:524:34 | x | +| main.rs:524:25:524:25 | x | main.rs:524:25:524:25 | [SSA] x | +| main.rs:524:25:524:25 | x | main.rs:524:25:524:25 | x | +| main.rs:524:34:524:34 | [post] receiver for x | main.rs:524:34:524:34 | [post] x | +| main.rs:524:34:524:34 | x | main.rs:524:34:524:34 | receiver for x | +| main.rs:526:9:526:9 | [SSA] v | main.rs:527:14:527:14 | v | +| main.rs:526:9:526:9 | v | main.rs:526:9:526:9 | [SSA] v | +| main.rs:526:9:526:9 | v | main.rs:526:9:526:9 | v | +| main.rs:526:14:526:15 | [post] receiver for vs | main.rs:526:14:526:15 | [post] vs | +| main.rs:526:14:526:15 | vs | main.rs:526:14:526:15 | receiver for vs | +| main.rs:530:9:530:18 | mut vs_mut | main.rs:530:13:530:18 | vs_mut | +| main.rs:530:13:530:18 | [SSA] vs_mut | main.rs:532:10:532:15 | vs_mut | +| main.rs:530:13:530:18 | vs_mut | main.rs:530:13:530:18 | [SSA] vs_mut | +| main.rs:530:22:530:42 | [...] | main.rs:530:9:530:18 | mut vs_mut | +| main.rs:532:10:532:15 | [post] vs_mut | main.rs:533:11:533:16 | [SSA] vs_mut | +| main.rs:532:10:532:15 | [post] vs_mut | main.rs:533:11:533:16 | vs_mut | +| main.rs:532:10:532:15 | vs_mut | main.rs:533:11:533:16 | [SSA] vs_mut | +| main.rs:532:10:532:15 | vs_mut | main.rs:533:11:533:16 | vs_mut | +| main.rs:533:11:533:16 | [SSA] vs_mut | main.rs:534:11:534:16 | [SSA] vs_mut | +| main.rs:533:11:533:16 | [SSA] vs_mut | main.rs:534:11:534:16 | vs_mut | +| main.rs:533:11:533:16 | [post] receiver for vs_mut | main.rs:533:11:533:16 | [post] vs_mut | +| main.rs:533:11:533:16 | [post] vs_mut | main.rs:534:11:534:16 | [SSA] vs_mut | +| main.rs:533:11:533:16 | [post] vs_mut | main.rs:534:11:534:16 | vs_mut | +| main.rs:533:11:533:16 | vs_mut | main.rs:533:11:533:16 | receiver for vs_mut | +| main.rs:533:11:533:16 | vs_mut | main.rs:534:11:534:16 | [SSA] vs_mut | +| main.rs:533:11:533:16 | vs_mut | main.rs:534:11:534:16 | vs_mut | +| main.rs:533:11:533:23 | [post] receiver for vs_mut.iter() | main.rs:533:11:533:23 | [post] vs_mut.iter() | +| main.rs:533:11:533:23 | vs_mut.iter() | main.rs:533:11:533:23 | receiver for vs_mut.iter() | +| main.rs:533:11:533:30 | ... .next() | main.rs:533:11:533:30 | receiver for ... .next() | +| main.rs:533:11:533:30 | [post] receiver for ... .next() | main.rs:533:11:533:30 | [post] ... .next() | +| main.rs:533:11:533:39 | ... .unwrap() | main.rs:533:11:533:39 | receiver for ... .unwrap() | +| main.rs:533:11:533:39 | [post] receiver for ... .unwrap() | main.rs:533:11:533:39 | [post] ... .unwrap() | +| main.rs:534:11:534:16 | [SSA] vs_mut | main.rs:536:19:536:24 | vs_mut | +| main.rs:534:11:534:16 | [post] receiver for vs_mut | main.rs:534:11:534:16 | [post] vs_mut | +| main.rs:534:11:534:16 | [post] vs_mut | main.rs:536:19:536:24 | vs_mut | +| main.rs:534:11:534:16 | vs_mut | main.rs:534:11:534:16 | receiver for vs_mut | +| main.rs:534:11:534:16 | vs_mut | main.rs:536:19:536:24 | vs_mut | +| main.rs:534:11:534:23 | [post] receiver for vs_mut.iter() | main.rs:534:11:534:23 | [post] vs_mut.iter() | +| main.rs:534:11:534:23 | vs_mut.iter() | main.rs:534:11:534:23 | receiver for vs_mut.iter() | +| main.rs:534:11:534:30 | ... .nth(...) | main.rs:534:11:534:30 | receiver for ... .nth(...) | +| main.rs:534:11:534:30 | [post] receiver for ... .nth(...) | main.rs:534:11:534:30 | [post] ... .nth(...) | +| main.rs:534:11:534:39 | ... .unwrap() | main.rs:534:11:534:39 | receiver for ... .unwrap() | +| main.rs:534:11:534:39 | [post] receiver for ... .unwrap() | main.rs:534:11:534:39 | [post] ... .unwrap() | +| main.rs:536:5:538:5 | for ... in ... { ... } | main.rs:504:16:539:1 | { ... } | +| main.rs:536:14:536:14 | [SSA] v | main.rs:537:14:537:14 | v | +| main.rs:536:14:536:14 | v | main.rs:536:14:536:14 | [SSA] v | +| main.rs:536:14:536:14 | v | main.rs:536:14:536:14 | v | +| main.rs:536:19:536:24 | [post] receiver for vs_mut | main.rs:536:19:536:24 | [post] vs_mut | +| main.rs:536:19:536:24 | vs_mut | main.rs:536:19:536:24 | receiver for vs_mut | +| main.rs:542:9:542:9 | [SSA] a | main.rs:547:10:547:10 | a | +| main.rs:542:9:542:9 | a | main.rs:542:9:542:9 | [SSA] a | +| main.rs:542:9:542:9 | a | main.rs:542:9:542:9 | a | +| main.rs:542:13:542:22 | source(...) | main.rs:542:9:542:9 | a | +| main.rs:543:9:543:9 | [SSA] b | main.rs:548:15:548:15 | b | +| main.rs:543:9:543:9 | b | main.rs:543:9:543:9 | [SSA] b | +| main.rs:543:9:543:9 | b | main.rs:543:9:543:9 | b | +| main.rs:543:13:543:22 | source(...) | main.rs:543:9:543:9 | b | +| main.rs:544:9:544:9 | [SSA] c | main.rs:545:18:545:18 | c | +| main.rs:544:9:544:9 | c | main.rs:544:9:544:9 | [SSA] c | +| main.rs:544:9:544:9 | c | main.rs:544:9:544:9 | c | +| main.rs:544:13:544:22 | source(...) | main.rs:544:9:544:9 | c | +| main.rs:545:9:545:13 | [SSA] c_ref | main.rs:549:14:549:18 | c_ref | +| main.rs:545:9:545:13 | c_ref | main.rs:545:9:545:13 | [SSA] c_ref | +| main.rs:545:9:545:13 | c_ref | main.rs:545:9:545:13 | c_ref | +| main.rs:545:17:545:18 | &c | main.rs:545:9:545:13 | c_ref | +| main.rs:549:14:549:18 | [post] c_ref | main.rs:550:11:550:15 | c_ref | +| main.rs:549:14:549:18 | c_ref | main.rs:550:11:550:15 | c_ref | +| main.rs:550:11:550:15 | [post] receiver for c_ref | main.rs:550:11:550:15 | [post] c_ref | +| main.rs:550:11:550:15 | c_ref | main.rs:550:11:550:15 | receiver for c_ref | +| main.rs:554:9:554:9 | [SSA] a | main.rs:556:10:556:10 | a | +| main.rs:554:9:554:9 | a | main.rs:554:9:554:9 | [SSA] a | +| main.rs:554:9:554:9 | a | main.rs:554:9:554:9 | a | +| main.rs:554:18:554:27 | source(...) | main.rs:554:9:554:9 | a | +| main.rs:556:10:556:10 | [post] a | main.rs:557:10:557:10 | a | +| main.rs:556:10:556:10 | a | main.rs:557:10:557:10 | a | +| main.rs:557:10:557:10 | [post] a | main.rs:558:20:558:20 | a | +| main.rs:557:10:557:10 | [post] receiver for a | main.rs:557:10:557:10 | [post] a | +| main.rs:557:10:557:10 | a | main.rs:557:10:557:10 | receiver for a | +| main.rs:557:10:557:10 | a | main.rs:558:20:558:20 | a | +| main.rs:560:9:560:9 | [SSA] b | main.rs:562:10:562:10 | b | +| main.rs:560:9:560:9 | b | main.rs:560:9:560:9 | [SSA] b | +| main.rs:560:9:560:9 | b | main.rs:560:9:560:9 | b | +| main.rs:560:18:560:34 | ... as i32 | main.rs:560:9:560:9 | b | +| main.rs:562:10:562:10 | [post] b | main.rs:563:10:563:10 | b | +| main.rs:562:10:562:10 | b | main.rs:563:10:563:10 | b | +| main.rs:563:10:563:10 | [post] b | main.rs:564:20:564:20 | b | +| main.rs:563:10:563:10 | [post] receiver for b | main.rs:563:10:563:10 | [post] b | +| main.rs:563:10:563:10 | b | main.rs:563:10:563:10 | receiver for b | +| main.rs:563:10:563:10 | b | main.rs:564:20:564:20 | b | +| main.rs:592:13:592:33 | result_questionmark(...) | main.rs:592:9:592:9 | _ | +| main.rs:604:36:604:41 | ...::new(...) | main.rs:604:36:604:41 | MacroExpr | +| main.rs:604:36:604:41 | [post] MacroExpr | main.rs:604:36:604:41 | [post] ...::new(...) | readStep -| main.rs:36:9:36:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:36:14:36:14 | _ | -| main.rs:90:11:90:11 | [post] receiver for i | file://:0:0:0:0 | &ref | main.rs:90:11:90:11 | [post] i | -| main.rs:90:11:90:11 | i | file://:0:0:0:0 | &ref | main.rs:90:10:90:11 | * ... | -| main.rs:98:10:98:10 | a | file://:0:0:0:0 | tuple.0 | main.rs:98:10:98:12 | a.0 | -| main.rs:99:10:99:10 | a | file://:0:0:0:0 | tuple.1 | main.rs:99:10:99:12 | a.1 | -| main.rs:104:9:104:20 | TuplePat | file://:0:0:0:0 | tuple.0 | main.rs:104:10:104:11 | a0 | -| main.rs:104:9:104:20 | TuplePat | file://:0:0:0:0 | tuple.1 | main.rs:104:14:104:15 | a1 | -| main.rs:104:9:104:20 | TuplePat | file://:0:0:0:0 | tuple.2 | main.rs:104:18:104:19 | a2 | +| main.rs:50:9:50:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:50:14:50:14 | _ | +| main.rs:104:11:104:11 | [post] receiver for i | file://:0:0:0:0 | &ref | main.rs:104:11:104:11 | [post] i | +| main.rs:104:11:104:11 | i | file://:0:0:0:0 | &ref | main.rs:104:10:104:11 | * ... | | main.rs:112:10:112:10 | a | file://:0:0:0:0 | tuple.0 | main.rs:112:10:112:12 | a.0 | | main.rs:113:10:113:10 | a | file://:0:0:0:0 | tuple.1 | main.rs:113:10:113:12 | a.1 | -| main.rs:114:5:114:5 | a | file://:0:0:0:0 | tuple.0 | main.rs:114:5:114:7 | a.0 | -| main.rs:115:5:115:5 | a | file://:0:0:0:0 | tuple.1 | main.rs:115:5:115:7 | a.1 | -| main.rs:116:10:116:10 | a | file://:0:0:0:0 | tuple.0 | main.rs:116:10:116:12 | a.0 | -| main.rs:117:10:117:10 | a | file://:0:0:0:0 | tuple.1 | main.rs:117:10:117:12 | a.1 | -| main.rs:123:10:123:10 | b | file://:0:0:0:0 | tuple.0 | main.rs:123:10:123:12 | b.0 | -| main.rs:123:10:123:12 | b.0 | file://:0:0:0:0 | tuple.0 | main.rs:123:10:123:15 | ... .0 | -| main.rs:124:10:124:10 | b | file://:0:0:0:0 | tuple.0 | main.rs:124:10:124:12 | b.0 | -| main.rs:124:10:124:12 | b.0 | file://:0:0:0:0 | tuple.1 | main.rs:124:10:124:15 | ... .1 | -| main.rs:125:10:125:10 | b | file://:0:0:0:0 | tuple.1 | main.rs:125:10:125:12 | b.1 | -| main.rs:138:10:138:10 | p | main.rs:132:5:132:10 | Point.x | main.rs:138:10:138:12 | p.x | -| main.rs:139:10:139:10 | p | main.rs:133:5:133:10 | Point.y | main.rs:139:10:139:12 | p.y | -| main.rs:144:10:144:10 | p | main.rs:133:5:133:10 | Point.y | main.rs:144:10:144:12 | p.y | -| main.rs:145:5:145:5 | p | main.rs:133:5:133:10 | Point.y | main.rs:145:5:145:7 | p.y | -| main.rs:146:10:146:10 | p | main.rs:133:5:133:10 | Point.y | main.rs:146:10:146:12 | p.y | -| main.rs:154:9:154:28 | Point {...} | main.rs:132:5:132:10 | Point.x | main.rs:154:20:154:20 | a | -| main.rs:154:9:154:28 | Point {...} | main.rs:133:5:133:10 | Point.y | main.rs:154:26:154:26 | b | -| main.rs:172:10:172:10 | p | main.rs:160:5:160:16 | Point3D.plane | main.rs:172:10:172:16 | p.plane | -| main.rs:172:10:172:16 | p.plane | main.rs:132:5:132:10 | Point.x | main.rs:172:10:172:18 | ... .x | -| main.rs:173:10:173:10 | p | main.rs:160:5:160:16 | Point3D.plane | main.rs:173:10:173:16 | p.plane | -| main.rs:173:10:173:16 | p.plane | main.rs:133:5:133:10 | Point.y | main.rs:173:10:173:18 | ... .y | -| main.rs:174:10:174:10 | p | main.rs:161:5:161:10 | Point3D.z | main.rs:174:10:174:12 | p.z | -| main.rs:184:9:187:9 | Point3D {...} | main.rs:160:5:160:16 | Point3D.plane | main.rs:185:20:185:33 | Point {...} | -| main.rs:184:9:187:9 | Point3D {...} | main.rs:161:5:161:10 | Point3D.z | main.rs:186:13:186:13 | z | -| main.rs:185:20:185:33 | Point {...} | main.rs:132:5:132:10 | Point.x | main.rs:185:28:185:28 | x | -| main.rs:185:20:185:33 | Point {...} | main.rs:133:5:133:10 | Point.y | main.rs:185:31:185:31 | y | -| main.rs:199:10:199:10 | s | file://:0:0:0:0 | tuple.0 | main.rs:199:10:199:12 | s.0 | -| main.rs:199:10:199:10 | s | main.rs:195:22:195:24 | MyTupleStruct(0) | main.rs:199:10:199:12 | s.0 | -| main.rs:200:10:200:10 | s | file://:0:0:0:0 | tuple.1 | main.rs:200:10:200:12 | s.1 | -| main.rs:200:10:200:10 | s | main.rs:195:27:195:29 | MyTupleStruct(1) | main.rs:200:10:200:12 | s.1 | -| main.rs:203:9:203:27 | MyTupleStruct(...) | main.rs:195:22:195:24 | MyTupleStruct(0) | main.rs:203:23:203:23 | x | -| main.rs:203:9:203:27 | MyTupleStruct(...) | main.rs:195:27:195:29 | MyTupleStruct(1) | main.rs:203:26:203:26 | y | -| main.rs:217:9:217:23 | ...::Some(...) | {EXTERNAL LOCATION} | Some | main.rs:217:22:217:22 | n | -| main.rs:221:9:221:23 | ...::Some(...) | {EXTERNAL LOCATION} | Some | main.rs:221:22:221:22 | n | -| main.rs:230:9:230:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:230:14:230:14 | n | -| main.rs:234:9:234:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:234:14:234:14 | n | -| main.rs:263:14:263:15 | s1 | {EXTERNAL LOCATION} | Some | main.rs:263:14:263:16 | TryExpr | -| main.rs:263:14:263:15 | s1 | {EXTERNAL LOCATION} | Ok | main.rs:263:14:263:16 | TryExpr | -| main.rs:265:10:265:11 | s2 | {EXTERNAL LOCATION} | Some | main.rs:265:10:265:12 | TryExpr | -| main.rs:265:10:265:11 | s2 | {EXTERNAL LOCATION} | Ok | main.rs:265:10:265:12 | TryExpr | -| main.rs:287:14:287:15 | s1 | {EXTERNAL LOCATION} | Some | main.rs:287:14:287:16 | TryExpr | -| main.rs:287:14:287:15 | s1 | {EXTERNAL LOCATION} | Ok | main.rs:287:14:287:16 | TryExpr | -| main.rs:288:14:288:15 | s2 | {EXTERNAL LOCATION} | Some | main.rs:288:14:288:16 | TryExpr | -| main.rs:288:14:288:15 | s2 | {EXTERNAL LOCATION} | Ok | main.rs:288:14:288:16 | TryExpr | -| main.rs:291:14:291:15 | s3 | {EXTERNAL LOCATION} | Some | main.rs:291:14:291:16 | TryExpr | -| main.rs:291:14:291:15 | s3 | {EXTERNAL LOCATION} | Ok | main.rs:291:14:291:16 | TryExpr | -| main.rs:315:9:315:25 | ...::A(...) | main.rs:307:7:307:9 | A | main.rs:315:24:315:24 | n | -| main.rs:316:9:316:25 | ...::B(...) | main.rs:308:7:308:9 | B | main.rs:316:24:316:24 | n | -| main.rs:319:9:319:25 | ...::A(...) | main.rs:307:7:307:9 | A | main.rs:319:24:319:24 | n | -| main.rs:319:29:319:45 | ...::B(...) | main.rs:308:7:308:9 | B | main.rs:319:44:319:44 | n | -| main.rs:322:9:322:25 | ...::A(...) | main.rs:307:7:307:9 | A | main.rs:322:24:322:24 | n | -| main.rs:323:9:323:25 | ...::B(...) | main.rs:308:7:308:9 | B | main.rs:323:24:323:24 | n | -| main.rs:333:9:333:12 | A(...) | main.rs:307:7:307:9 | A | main.rs:333:11:333:11 | n | -| main.rs:334:9:334:12 | B(...) | main.rs:308:7:308:9 | B | main.rs:334:11:334:11 | n | -| main.rs:337:9:337:12 | A(...) | main.rs:307:7:307:9 | A | main.rs:337:11:337:11 | n | -| main.rs:337:16:337:19 | B(...) | main.rs:308:7:308:9 | B | main.rs:337:18:337:18 | n | -| main.rs:340:9:340:12 | A(...) | main.rs:307:7:307:9 | A | main.rs:340:11:340:11 | n | -| main.rs:341:9:341:12 | B(...) | main.rs:308:7:308:9 | B | main.rs:341:11:341:11 | n | -| main.rs:356:9:356:38 | ...::C {...} | main.rs:346:9:346:20 | C | main.rs:356:36:356:36 | n | -| main.rs:357:9:357:38 | ...::D {...} | main.rs:347:9:347:20 | D | main.rs:357:36:357:36 | n | -| main.rs:360:9:360:38 | ...::C {...} | main.rs:346:9:346:20 | C | main.rs:360:36:360:36 | n | -| main.rs:360:42:360:71 | ...::D {...} | main.rs:347:9:347:20 | D | main.rs:360:69:360:69 | n | -| main.rs:363:9:363:38 | ...::C {...} | main.rs:346:9:346:20 | C | main.rs:363:36:363:36 | n | -| main.rs:364:9:364:38 | ...::D {...} | main.rs:347:9:347:20 | D | main.rs:364:36:364:36 | n | -| main.rs:376:9:376:24 | C {...} | main.rs:346:9:346:20 | C | main.rs:376:22:376:22 | n | -| main.rs:377:9:377:24 | D {...} | main.rs:347:9:347:20 | D | main.rs:377:22:377:22 | n | -| main.rs:380:9:380:24 | C {...} | main.rs:346:9:346:20 | C | main.rs:380:22:380:22 | n | -| main.rs:380:28:380:43 | D {...} | main.rs:347:9:347:20 | D | main.rs:380:41:380:41 | n | -| main.rs:383:9:383:24 | C {...} | main.rs:346:9:346:20 | C | main.rs:383:22:383:22 | n | -| main.rs:384:9:384:24 | D {...} | main.rs:347:9:347:20 | D | main.rs:384:22:384:22 | n | -| main.rs:393:14:393:17 | arr1 | file://:0:0:0:0 | element | main.rs:393:14:393:20 | arr1[2] | -| main.rs:397:14:397:17 | arr2 | file://:0:0:0:0 | element | main.rs:397:14:397:20 | arr2[4] | -| main.rs:401:14:401:17 | arr3 | file://:0:0:0:0 | element | main.rs:401:14:401:20 | arr3[2] | -| main.rs:407:15:407:18 | arr1 | file://:0:0:0:0 | element | main.rs:407:9:407:10 | n1 | -| main.rs:412:15:412:18 | arr2 | file://:0:0:0:0 | element | main.rs:412:9:412:10 | n2 | -| main.rs:420:9:420:17 | SlicePat | file://:0:0:0:0 | element | main.rs:420:10:420:10 | a | -| main.rs:420:9:420:17 | SlicePat | file://:0:0:0:0 | element | main.rs:420:13:420:13 | b | -| main.rs:420:9:420:17 | SlicePat | file://:0:0:0:0 | element | main.rs:420:16:420:16 | c | -| main.rs:430:10:430:16 | mut_arr | file://:0:0:0:0 | element | main.rs:430:10:430:19 | mut_arr[1] | -| main.rs:432:5:432:11 | mut_arr | file://:0:0:0:0 | element | main.rs:432:5:432:14 | mut_arr[1] | -| main.rs:433:13:433:19 | mut_arr | file://:0:0:0:0 | element | main.rs:433:13:433:22 | mut_arr[1] | -| main.rs:435:10:435:16 | mut_arr | file://:0:0:0:0 | element | main.rs:435:10:435:19 | mut_arr[0] | -| main.rs:442:9:442:20 | TuplePat | file://:0:0:0:0 | tuple.0 | main.rs:442:10:442:13 | cond | -| main.rs:442:9:442:20 | TuplePat | file://:0:0:0:0 | tuple.1 | main.rs:442:16:442:19 | name | -| main.rs:442:25:442:29 | names | file://:0:0:0:0 | element | main.rs:442:9:442:20 | TuplePat | -| main.rs:444:41:444:67 | [post] \|...\| ... | main.rs:441:9:441:20 | captured default_name | main.rs:444:41:444:67 | [post] default_name | -| main.rs:444:44:444:55 | this | main.rs:441:9:441:20 | captured default_name | main.rs:444:44:444:55 | default_name | -| main.rs:445:18:445:18 | [post] receiver for n | file://:0:0:0:0 | &ref | main.rs:445:18:445:18 | [post] n | -| main.rs:469:13:469:13 | [post] receiver for b | file://:0:0:0:0 | &ref | main.rs:469:13:469:13 | [post] b | -| main.rs:470:18:470:18 | [post] receiver for b | file://:0:0:0:0 | &ref | main.rs:470:18:470:18 | [post] b | -| main.rs:481:10:481:11 | vs | file://:0:0:0:0 | element | main.rs:481:10:481:14 | vs[0] | -| main.rs:482:11:482:35 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:482:10:482:35 | * ... | -| main.rs:483:11:483:35 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:483:10:483:35 | * ... | -| main.rs:485:14:485:15 | vs | file://:0:0:0:0 | element | main.rs:485:9:485:9 | v | -| main.rs:488:9:488:10 | &... | file://:0:0:0:0 | &ref | main.rs:488:10:488:10 | v | -| main.rs:488:15:488:23 | vs.iter() | file://:0:0:0:0 | element | main.rs:488:9:488:10 | &... | -| main.rs:493:9:493:10 | &... | file://:0:0:0:0 | &ref | main.rs:493:10:493:10 | v | -| main.rs:493:15:493:17 | vs2 | file://:0:0:0:0 | element | main.rs:493:9:493:10 | &... | -| main.rs:497:29:497:29 | x | file://:0:0:0:0 | &ref | main.rs:497:28:497:29 | * ... | -| main.rs:498:34:498:34 | x | file://:0:0:0:0 | &ref | main.rs:498:33:498:34 | * ... | -| main.rs:500:14:500:27 | vs.into_iter() | file://:0:0:0:0 | element | main.rs:500:9:500:9 | v | -| main.rs:506:10:506:15 | vs_mut | file://:0:0:0:0 | element | main.rs:506:10:506:18 | vs_mut[0] | -| main.rs:507:11:507:39 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:507:10:507:39 | * ... | -| main.rs:508:11:508:39 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:508:10:508:39 | * ... | -| main.rs:510:9:510:14 | &mut ... | file://:0:0:0:0 | &ref | main.rs:510:14:510:14 | v | -| main.rs:510:19:510:35 | vs_mut.iter_mut() | file://:0:0:0:0 | element | main.rs:510:9:510:14 | &mut ... | -| main.rs:524:11:524:15 | c_ref | file://:0:0:0:0 | &ref | main.rs:524:10:524:15 | * ... | +| main.rs:118:9:118:20 | TuplePat | file://:0:0:0:0 | tuple.0 | main.rs:118:10:118:11 | a0 | +| main.rs:118:9:118:20 | TuplePat | file://:0:0:0:0 | tuple.1 | main.rs:118:14:118:15 | a1 | +| main.rs:118:9:118:20 | TuplePat | file://:0:0:0:0 | tuple.2 | main.rs:118:18:118:19 | a2 | +| main.rs:126:10:126:10 | a | file://:0:0:0:0 | tuple.0 | main.rs:126:10:126:12 | a.0 | +| main.rs:127:10:127:10 | a | file://:0:0:0:0 | tuple.1 | main.rs:127:10:127:12 | a.1 | +| main.rs:128:5:128:5 | a | file://:0:0:0:0 | tuple.0 | main.rs:128:5:128:7 | a.0 | +| main.rs:129:5:129:5 | a | file://:0:0:0:0 | tuple.1 | main.rs:129:5:129:7 | a.1 | +| main.rs:130:10:130:10 | a | file://:0:0:0:0 | tuple.0 | main.rs:130:10:130:12 | a.0 | +| main.rs:131:10:131:10 | a | file://:0:0:0:0 | tuple.1 | main.rs:131:10:131:12 | a.1 | +| main.rs:137:10:137:10 | b | file://:0:0:0:0 | tuple.0 | main.rs:137:10:137:12 | b.0 | +| main.rs:137:10:137:12 | b.0 | file://:0:0:0:0 | tuple.0 | main.rs:137:10:137:15 | ... .0 | +| main.rs:138:10:138:10 | b | file://:0:0:0:0 | tuple.0 | main.rs:138:10:138:12 | b.0 | +| main.rs:138:10:138:12 | b.0 | file://:0:0:0:0 | tuple.1 | main.rs:138:10:138:15 | ... .1 | +| main.rs:139:10:139:10 | b | file://:0:0:0:0 | tuple.1 | main.rs:139:10:139:12 | b.1 | +| main.rs:152:10:152:10 | p | main.rs:146:5:146:10 | Point.x | main.rs:152:10:152:12 | p.x | +| main.rs:153:10:153:10 | p | main.rs:147:5:147:10 | Point.y | main.rs:153:10:153:12 | p.y | +| main.rs:158:10:158:10 | p | main.rs:147:5:147:10 | Point.y | main.rs:158:10:158:12 | p.y | +| main.rs:159:5:159:5 | p | main.rs:147:5:147:10 | Point.y | main.rs:159:5:159:7 | p.y | +| main.rs:160:10:160:10 | p | main.rs:147:5:147:10 | Point.y | main.rs:160:10:160:12 | p.y | +| main.rs:168:9:168:28 | Point {...} | main.rs:146:5:146:10 | Point.x | main.rs:168:20:168:20 | a | +| main.rs:168:9:168:28 | Point {...} | main.rs:147:5:147:10 | Point.y | main.rs:168:26:168:26 | b | +| main.rs:186:10:186:10 | p | main.rs:174:5:174:16 | Point3D.plane | main.rs:186:10:186:16 | p.plane | +| main.rs:186:10:186:16 | p.plane | main.rs:146:5:146:10 | Point.x | main.rs:186:10:186:18 | ... .x | +| main.rs:187:10:187:10 | p | main.rs:174:5:174:16 | Point3D.plane | main.rs:187:10:187:16 | p.plane | +| main.rs:187:10:187:16 | p.plane | main.rs:147:5:147:10 | Point.y | main.rs:187:10:187:18 | ... .y | +| main.rs:188:10:188:10 | p | main.rs:175:5:175:10 | Point3D.z | main.rs:188:10:188:12 | p.z | +| main.rs:198:9:201:9 | Point3D {...} | main.rs:174:5:174:16 | Point3D.plane | main.rs:199:20:199:33 | Point {...} | +| main.rs:198:9:201:9 | Point3D {...} | main.rs:175:5:175:10 | Point3D.z | main.rs:200:13:200:13 | z | +| main.rs:199:20:199:33 | Point {...} | main.rs:146:5:146:10 | Point.x | main.rs:199:28:199:28 | x | +| main.rs:199:20:199:33 | Point {...} | main.rs:147:5:147:10 | Point.y | main.rs:199:31:199:31 | y | +| main.rs:213:10:213:10 | s | file://:0:0:0:0 | tuple.0 | main.rs:213:10:213:12 | s.0 | +| main.rs:213:10:213:10 | s | main.rs:209:22:209:24 | MyTupleStruct(0) | main.rs:213:10:213:12 | s.0 | +| main.rs:214:10:214:10 | s | file://:0:0:0:0 | tuple.1 | main.rs:214:10:214:12 | s.1 | +| main.rs:214:10:214:10 | s | main.rs:209:27:209:29 | MyTupleStruct(1) | main.rs:214:10:214:12 | s.1 | +| main.rs:217:9:217:27 | MyTupleStruct(...) | main.rs:209:22:209:24 | MyTupleStruct(0) | main.rs:217:23:217:23 | x | +| main.rs:217:9:217:27 | MyTupleStruct(...) | main.rs:209:27:209:29 | MyTupleStruct(1) | main.rs:217:26:217:26 | y | +| main.rs:231:9:231:23 | ...::Some(...) | {EXTERNAL LOCATION} | Some | main.rs:231:22:231:22 | n | +| main.rs:235:9:235:23 | ...::Some(...) | {EXTERNAL LOCATION} | Some | main.rs:235:22:235:22 | n | +| main.rs:244:9:244:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:244:14:244:14 | n | +| main.rs:248:9:248:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:248:14:248:14 | n | +| main.rs:255:12:255:18 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:255:17:255:17 | n | +| main.rs:289:14:289:15 | s1 | {EXTERNAL LOCATION} | Some | main.rs:289:14:289:16 | TryExpr | +| main.rs:289:14:289:15 | s1 | {EXTERNAL LOCATION} | Ok | main.rs:289:14:289:16 | TryExpr | +| main.rs:291:10:291:11 | s2 | {EXTERNAL LOCATION} | Some | main.rs:291:10:291:12 | TryExpr | +| main.rs:291:10:291:11 | s2 | {EXTERNAL LOCATION} | Ok | main.rs:291:10:291:12 | TryExpr | +| main.rs:313:14:313:15 | s1 | {EXTERNAL LOCATION} | Some | main.rs:313:14:313:16 | TryExpr | +| main.rs:313:14:313:15 | s1 | {EXTERNAL LOCATION} | Ok | main.rs:313:14:313:16 | TryExpr | +| main.rs:314:14:314:15 | s2 | {EXTERNAL LOCATION} | Some | main.rs:314:14:314:16 | TryExpr | +| main.rs:314:14:314:15 | s2 | {EXTERNAL LOCATION} | Ok | main.rs:314:14:314:16 | TryExpr | +| main.rs:317:14:317:15 | s3 | {EXTERNAL LOCATION} | Some | main.rs:317:14:317:16 | TryExpr | +| main.rs:317:14:317:15 | s3 | {EXTERNAL LOCATION} | Ok | main.rs:317:14:317:16 | TryExpr | +| main.rs:341:9:341:25 | ...::A(...) | main.rs:333:7:333:9 | A | main.rs:341:24:341:24 | n | +| main.rs:342:9:342:25 | ...::B(...) | main.rs:334:7:334:9 | B | main.rs:342:24:342:24 | n | +| main.rs:345:9:345:25 | ...::A(...) | main.rs:333:7:333:9 | A | main.rs:345:24:345:24 | n | +| main.rs:345:29:345:45 | ...::B(...) | main.rs:334:7:334:9 | B | main.rs:345:44:345:44 | n | +| main.rs:348:9:348:25 | ...::A(...) | main.rs:333:7:333:9 | A | main.rs:348:24:348:24 | n | +| main.rs:349:9:349:25 | ...::B(...) | main.rs:334:7:334:9 | B | main.rs:349:24:349:24 | n | +| main.rs:359:9:359:12 | A(...) | main.rs:333:7:333:9 | A | main.rs:359:11:359:11 | n | +| main.rs:360:9:360:12 | B(...) | main.rs:334:7:334:9 | B | main.rs:360:11:360:11 | n | +| main.rs:363:9:363:12 | A(...) | main.rs:333:7:333:9 | A | main.rs:363:11:363:11 | n | +| main.rs:363:16:363:19 | B(...) | main.rs:334:7:334:9 | B | main.rs:363:18:363:18 | n | +| main.rs:366:9:366:12 | A(...) | main.rs:333:7:333:9 | A | main.rs:366:11:366:11 | n | +| main.rs:367:9:367:12 | B(...) | main.rs:334:7:334:9 | B | main.rs:367:11:367:11 | n | +| main.rs:382:9:382:38 | ...::C {...} | main.rs:372:9:372:20 | C | main.rs:382:36:382:36 | n | +| main.rs:383:9:383:38 | ...::D {...} | main.rs:373:9:373:20 | D | main.rs:383:36:383:36 | n | +| main.rs:386:9:386:38 | ...::C {...} | main.rs:372:9:372:20 | C | main.rs:386:36:386:36 | n | +| main.rs:386:42:386:71 | ...::D {...} | main.rs:373:9:373:20 | D | main.rs:386:69:386:69 | n | +| main.rs:389:9:389:38 | ...::C {...} | main.rs:372:9:372:20 | C | main.rs:389:36:389:36 | n | +| main.rs:390:9:390:38 | ...::D {...} | main.rs:373:9:373:20 | D | main.rs:390:36:390:36 | n | +| main.rs:402:9:402:24 | C {...} | main.rs:372:9:372:20 | C | main.rs:402:22:402:22 | n | +| main.rs:403:9:403:24 | D {...} | main.rs:373:9:373:20 | D | main.rs:403:22:403:22 | n | +| main.rs:406:9:406:24 | C {...} | main.rs:372:9:372:20 | C | main.rs:406:22:406:22 | n | +| main.rs:406:28:406:43 | D {...} | main.rs:373:9:373:20 | D | main.rs:406:41:406:41 | n | +| main.rs:409:9:409:24 | C {...} | main.rs:372:9:372:20 | C | main.rs:409:22:409:22 | n | +| main.rs:410:9:410:24 | D {...} | main.rs:373:9:373:20 | D | main.rs:410:22:410:22 | n | +| main.rs:419:14:419:17 | arr1 | file://:0:0:0:0 | element | main.rs:419:14:419:20 | arr1[2] | +| main.rs:423:14:423:17 | arr2 | file://:0:0:0:0 | element | main.rs:423:14:423:20 | arr2[4] | +| main.rs:427:14:427:17 | arr3 | file://:0:0:0:0 | element | main.rs:427:14:427:20 | arr3[2] | +| main.rs:433:15:433:18 | arr1 | file://:0:0:0:0 | element | main.rs:433:9:433:10 | n1 | +| main.rs:438:15:438:18 | arr2 | file://:0:0:0:0 | element | main.rs:438:9:438:10 | n2 | +| main.rs:446:9:446:17 | SlicePat | file://:0:0:0:0 | element | main.rs:446:10:446:10 | a | +| main.rs:446:9:446:17 | SlicePat | file://:0:0:0:0 | element | main.rs:446:13:446:13 | b | +| main.rs:446:9:446:17 | SlicePat | file://:0:0:0:0 | element | main.rs:446:16:446:16 | c | +| main.rs:456:10:456:16 | mut_arr | file://:0:0:0:0 | element | main.rs:456:10:456:19 | mut_arr[1] | +| main.rs:458:5:458:11 | mut_arr | file://:0:0:0:0 | element | main.rs:458:5:458:14 | mut_arr[1] | +| main.rs:459:13:459:19 | mut_arr | file://:0:0:0:0 | element | main.rs:459:13:459:22 | mut_arr[1] | +| main.rs:461:10:461:16 | mut_arr | file://:0:0:0:0 | element | main.rs:461:10:461:19 | mut_arr[0] | +| main.rs:468:9:468:20 | TuplePat | file://:0:0:0:0 | tuple.0 | main.rs:468:10:468:13 | cond | +| main.rs:468:9:468:20 | TuplePat | file://:0:0:0:0 | tuple.1 | main.rs:468:16:468:19 | name | +| main.rs:468:25:468:29 | names | file://:0:0:0:0 | element | main.rs:468:9:468:20 | TuplePat | +| main.rs:470:41:470:67 | [post] \|...\| ... | main.rs:467:9:467:20 | captured default_name | main.rs:470:41:470:67 | [post] default_name | +| main.rs:470:44:470:55 | this | main.rs:467:9:467:20 | captured default_name | main.rs:470:44:470:55 | default_name | +| main.rs:471:18:471:18 | [post] receiver for n | file://:0:0:0:0 | &ref | main.rs:471:18:471:18 | [post] n | +| main.rs:495:13:495:13 | [post] receiver for b | file://:0:0:0:0 | &ref | main.rs:495:13:495:13 | [post] b | +| main.rs:496:18:496:18 | [post] receiver for b | file://:0:0:0:0 | &ref | main.rs:496:18:496:18 | [post] b | +| main.rs:507:10:507:11 | vs | file://:0:0:0:0 | element | main.rs:507:10:507:14 | vs[0] | +| main.rs:508:11:508:35 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:508:10:508:35 | * ... | +| main.rs:509:11:509:35 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:509:10:509:35 | * ... | +| main.rs:511:14:511:15 | vs | file://:0:0:0:0 | element | main.rs:511:9:511:9 | v | +| main.rs:514:9:514:10 | &... | file://:0:0:0:0 | &ref | main.rs:514:10:514:10 | v | +| main.rs:514:15:514:23 | vs.iter() | file://:0:0:0:0 | element | main.rs:514:9:514:10 | &... | +| main.rs:519:9:519:10 | &... | file://:0:0:0:0 | &ref | main.rs:519:10:519:10 | v | +| main.rs:519:15:519:17 | vs2 | file://:0:0:0:0 | element | main.rs:519:9:519:10 | &... | +| main.rs:523:29:523:29 | x | file://:0:0:0:0 | &ref | main.rs:523:28:523:29 | * ... | +| main.rs:524:34:524:34 | x | file://:0:0:0:0 | &ref | main.rs:524:33:524:34 | * ... | +| main.rs:526:14:526:27 | vs.into_iter() | file://:0:0:0:0 | element | main.rs:526:9:526:9 | v | +| main.rs:532:10:532:15 | vs_mut | file://:0:0:0:0 | element | main.rs:532:10:532:18 | vs_mut[0] | +| main.rs:533:11:533:39 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:533:10:533:39 | * ... | +| main.rs:534:11:534:39 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:534:10:534:39 | * ... | +| main.rs:536:9:536:14 | &mut ... | file://:0:0:0:0 | &ref | main.rs:536:14:536:14 | v | +| main.rs:536:19:536:35 | vs_mut.iter_mut() | file://:0:0:0:0 | element | main.rs:536:9:536:14 | &mut ... | +| main.rs:550:11:550:15 | c_ref | file://:0:0:0:0 | &ref | main.rs:550:10:550:15 | * ... | storeStep -| main.rs:90:11:90:11 | i | file://:0:0:0:0 | &ref | main.rs:90:11:90:11 | receiver for i | -| main.rs:97:14:97:22 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:97:13:97:26 | TupleExpr | -| main.rs:97:25:97:25 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:97:13:97:26 | TupleExpr | -| main.rs:103:14:103:14 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:103:13:103:30 | TupleExpr | -| main.rs:103:17:103:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:103:13:103:30 | TupleExpr | -| main.rs:103:29:103:29 | 2 | file://:0:0:0:0 | tuple.2 | main.rs:103:13:103:30 | TupleExpr | -| main.rs:111:18:111:18 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:111:17:111:31 | TupleExpr | -| main.rs:111:21:111:30 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:111:17:111:31 | TupleExpr | -| main.rs:114:11:114:20 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:114:5:114:5 | [post] a | -| main.rs:115:11:115:11 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:115:5:115:5 | [post] a | -| main.rs:121:14:121:14 | 3 | file://:0:0:0:0 | tuple.0 | main.rs:121:13:121:27 | TupleExpr | -| main.rs:121:17:121:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:121:13:121:27 | TupleExpr | -| main.rs:122:14:122:14 | a | file://:0:0:0:0 | tuple.0 | main.rs:122:13:122:18 | TupleExpr | -| main.rs:122:17:122:17 | 3 | file://:0:0:0:0 | tuple.1 | main.rs:122:13:122:18 | TupleExpr | -| main.rs:137:24:137:32 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:137:13:137:40 | Point {...} | -| main.rs:137:38:137:38 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:137:13:137:40 | Point {...} | -| main.rs:143:28:143:36 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:143:17:143:44 | Point {...} | -| main.rs:143:42:143:42 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:143:17:143:44 | Point {...} | -| main.rs:145:11:145:20 | source(...) | main.rs:133:5:133:10 | Point.y | main.rs:145:5:145:5 | [post] p | -| main.rs:151:12:151:21 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:150:13:153:5 | Point {...} | -| main.rs:152:12:152:12 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:150:13:153:5 | Point {...} | -| main.rs:166:16:169:9 | Point {...} | main.rs:160:5:160:16 | Point3D.plane | main.rs:165:13:171:5 | Point3D {...} | -| main.rs:167:16:167:16 | 2 | main.rs:132:5:132:10 | Point.x | main.rs:166:16:169:9 | Point {...} | -| main.rs:168:16:168:25 | source(...) | main.rs:133:5:133:10 | Point.y | main.rs:166:16:169:9 | Point {...} | -| main.rs:170:12:170:12 | 4 | main.rs:161:5:161:10 | Point3D.z | main.rs:165:13:171:5 | Point3D {...} | -| main.rs:180:16:180:32 | Point {...} | main.rs:160:5:160:16 | Point3D.plane | main.rs:179:13:182:5 | Point3D {...} | -| main.rs:180:27:180:27 | 2 | main.rs:132:5:132:10 | Point.x | main.rs:180:16:180:32 | Point {...} | -| main.rs:180:30:180:30 | y | main.rs:133:5:133:10 | Point.y | main.rs:180:16:180:32 | Point {...} | -| main.rs:181:12:181:12 | 4 | main.rs:161:5:161:10 | Point3D.z | main.rs:179:13:182:5 | Point3D {...} | -| main.rs:198:27:198:36 | source(...) | main.rs:195:22:195:24 | MyTupleStruct(0) | main.rs:198:13:198:40 | MyTupleStruct(...) | -| main.rs:198:39:198:39 | 2 | main.rs:195:27:195:29 | MyTupleStruct(1) | main.rs:198:13:198:40 | MyTupleStruct(...) | -| main.rs:214:27:214:36 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:214:14:214:37 | ...::Some(...) | -| main.rs:215:27:215:27 | 2 | {EXTERNAL LOCATION} | Some | main.rs:215:14:215:28 | ...::Some(...) | -| main.rs:227:19:227:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:227:14:227:29 | Some(...) | -| main.rs:228:19:228:19 | 2 | {EXTERNAL LOCATION} | Some | main.rs:228:14:228:20 | Some(...) | -| main.rs:240:19:240:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:240:14:240:29 | Some(...) | -| main.rs:245:19:245:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:245:14:245:29 | Some(...) | -| main.rs:248:19:248:19 | 0 | {EXTERNAL LOCATION} | Some | main.rs:248:14:248:20 | Some(...) | -| main.rs:253:19:253:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:253:14:253:29 | Some(...) | -| main.rs:261:19:261:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:261:14:261:29 | Some(...) | -| main.rs:262:19:262:19 | 2 | {EXTERNAL LOCATION} | Some | main.rs:262:14:262:20 | Some(...) | -| main.rs:266:10:266:10 | 0 | {EXTERNAL LOCATION} | Some | main.rs:266:5:266:11 | Some(...) | -| main.rs:270:35:270:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:270:32:270:45 | Ok(...) | -| main.rs:276:36:276:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:276:32:276:46 | Err(...) | -| main.rs:284:35:284:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:284:32:284:45 | Ok(...) | -| main.rs:285:35:285:35 | 2 | {EXTERNAL LOCATION} | Ok | main.rs:285:32:285:36 | Ok(...) | -| main.rs:286:36:286:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:286:32:286:46 | Err(...) | -| main.rs:293:8:293:8 | 0 | {EXTERNAL LOCATION} | Ok | main.rs:293:5:293:9 | Ok(...) | -| main.rs:297:35:297:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:297:32:297:45 | Ok(...) | -| main.rs:301:36:301:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:301:32:301:46 | Err(...) | -| main.rs:312:29:312:38 | source(...) | main.rs:307:7:307:9 | A | main.rs:312:14:312:39 | ...::A(...) | -| main.rs:313:29:313:29 | 2 | main.rs:308:7:308:9 | B | main.rs:313:14:313:30 | ...::B(...) | -| main.rs:330:16:330:25 | source(...) | main.rs:307:7:307:9 | A | main.rs:330:14:330:26 | A(...) | -| main.rs:331:16:331:16 | 2 | main.rs:308:7:308:9 | B | main.rs:331:14:331:17 | B(...) | -| main.rs:352:18:352:27 | source(...) | main.rs:346:9:346:20 | C | main.rs:351:14:353:5 | ...::C {...} | -| main.rs:354:41:354:41 | 2 | main.rs:347:9:347:20 | D | main.rs:354:14:354:43 | ...::D {...} | -| main.rs:372:18:372:27 | source(...) | main.rs:346:9:346:20 | C | main.rs:371:14:373:5 | C {...} | -| main.rs:374:27:374:27 | 2 | main.rs:347:9:347:20 | D | main.rs:374:14:374:29 | D {...} | -| main.rs:392:17:392:17 | 1 | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | -| main.rs:392:20:392:20 | 2 | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | -| main.rs:392:23:392:32 | source(...) | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | -| main.rs:396:17:396:26 | source(...) | file://:0:0:0:0 | element | main.rs:396:16:396:31 | [...; 10] | -| main.rs:400:17:400:17 | 1 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | -| main.rs:400:20:400:20 | 2 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | -| main.rs:400:23:400:23 | 3 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | -| main.rs:406:17:406:17 | 1 | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | -| main.rs:406:20:406:20 | 2 | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | -| main.rs:406:23:406:32 | source(...) | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | -| main.rs:411:17:411:17 | 1 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | -| main.rs:411:20:411:20 | 2 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | -| main.rs:411:23:411:23 | 3 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | +| main.rs:104:11:104:11 | i | file://:0:0:0:0 | &ref | main.rs:104:11:104:11 | receiver for i | +| main.rs:111:14:111:22 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:111:13:111:26 | TupleExpr | +| main.rs:111:25:111:25 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:111:13:111:26 | TupleExpr | +| main.rs:117:14:117:14 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:117:13:117:30 | TupleExpr | +| main.rs:117:17:117:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:117:13:117:30 | TupleExpr | +| main.rs:117:29:117:29 | 2 | file://:0:0:0:0 | tuple.2 | main.rs:117:13:117:30 | TupleExpr | +| main.rs:125:18:125:18 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:125:17:125:31 | TupleExpr | +| main.rs:125:21:125:30 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:125:17:125:31 | TupleExpr | +| main.rs:128:11:128:20 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:128:5:128:5 | [post] a | +| main.rs:129:11:129:11 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:129:5:129:5 | [post] a | +| main.rs:135:14:135:14 | 3 | file://:0:0:0:0 | tuple.0 | main.rs:135:13:135:27 | TupleExpr | +| main.rs:135:17:135:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:135:13:135:27 | TupleExpr | +| main.rs:136:14:136:14 | a | file://:0:0:0:0 | tuple.0 | main.rs:136:13:136:18 | TupleExpr | +| main.rs:136:17:136:17 | 3 | file://:0:0:0:0 | tuple.1 | main.rs:136:13:136:18 | TupleExpr | +| main.rs:151:24:151:32 | source(...) | main.rs:146:5:146:10 | Point.x | main.rs:151:13:151:40 | Point {...} | +| main.rs:151:38:151:38 | 2 | main.rs:147:5:147:10 | Point.y | main.rs:151:13:151:40 | Point {...} | +| main.rs:157:28:157:36 | source(...) | main.rs:146:5:146:10 | Point.x | main.rs:157:17:157:44 | Point {...} | +| main.rs:157:42:157:42 | 2 | main.rs:147:5:147:10 | Point.y | main.rs:157:17:157:44 | Point {...} | +| main.rs:159:11:159:20 | source(...) | main.rs:147:5:147:10 | Point.y | main.rs:159:5:159:5 | [post] p | +| main.rs:165:12:165:21 | source(...) | main.rs:146:5:146:10 | Point.x | main.rs:164:13:167:5 | Point {...} | +| main.rs:166:12:166:12 | 2 | main.rs:147:5:147:10 | Point.y | main.rs:164:13:167:5 | Point {...} | +| main.rs:180:16:183:9 | Point {...} | main.rs:174:5:174:16 | Point3D.plane | main.rs:179:13:185:5 | Point3D {...} | +| main.rs:181:16:181:16 | 2 | main.rs:146:5:146:10 | Point.x | main.rs:180:16:183:9 | Point {...} | +| main.rs:182:16:182:25 | source(...) | main.rs:147:5:147:10 | Point.y | main.rs:180:16:183:9 | Point {...} | +| main.rs:184:12:184:12 | 4 | main.rs:175:5:175:10 | Point3D.z | main.rs:179:13:185:5 | Point3D {...} | +| main.rs:194:16:194:32 | Point {...} | main.rs:174:5:174:16 | Point3D.plane | main.rs:193:13:196:5 | Point3D {...} | +| main.rs:194:27:194:27 | 2 | main.rs:146:5:146:10 | Point.x | main.rs:194:16:194:32 | Point {...} | +| main.rs:194:30:194:30 | y | main.rs:147:5:147:10 | Point.y | main.rs:194:16:194:32 | Point {...} | +| main.rs:195:12:195:12 | 4 | main.rs:175:5:175:10 | Point3D.z | main.rs:193:13:196:5 | Point3D {...} | +| main.rs:212:27:212:36 | source(...) | main.rs:209:22:209:24 | MyTupleStruct(0) | main.rs:212:13:212:40 | MyTupleStruct(...) | +| main.rs:212:39:212:39 | 2 | main.rs:209:27:209:29 | MyTupleStruct(1) | main.rs:212:13:212:40 | MyTupleStruct(...) | +| main.rs:228:27:228:36 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:228:14:228:37 | ...::Some(...) | +| main.rs:229:27:229:27 | 2 | {EXTERNAL LOCATION} | Some | main.rs:229:14:229:28 | ...::Some(...) | +| main.rs:241:19:241:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:241:14:241:29 | Some(...) | +| main.rs:242:19:242:19 | 2 | {EXTERNAL LOCATION} | Some | main.rs:242:14:242:20 | Some(...) | +| main.rs:254:19:254:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:254:14:254:29 | Some(...) | +| main.rs:266:19:266:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:266:14:266:29 | Some(...) | +| main.rs:271:19:271:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:271:14:271:29 | Some(...) | +| main.rs:274:19:274:19 | 0 | {EXTERNAL LOCATION} | Some | main.rs:274:14:274:20 | Some(...) | +| main.rs:279:19:279:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:279:14:279:29 | Some(...) | +| main.rs:287:19:287:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:287:14:287:29 | Some(...) | +| main.rs:288:19:288:19 | 2 | {EXTERNAL LOCATION} | Some | main.rs:288:14:288:20 | Some(...) | +| main.rs:292:10:292:10 | 0 | {EXTERNAL LOCATION} | Some | main.rs:292:5:292:11 | Some(...) | +| main.rs:296:35:296:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:296:32:296:45 | Ok(...) | +| main.rs:302:36:302:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:302:32:302:46 | Err(...) | +| main.rs:310:35:310:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:310:32:310:45 | Ok(...) | +| main.rs:311:35:311:35 | 2 | {EXTERNAL LOCATION} | Ok | main.rs:311:32:311:36 | Ok(...) | +| main.rs:312:36:312:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:312:32:312:46 | Err(...) | +| main.rs:319:8:319:8 | 0 | {EXTERNAL LOCATION} | Ok | main.rs:319:5:319:9 | Ok(...) | +| main.rs:323:35:323:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:323:32:323:45 | Ok(...) | +| main.rs:327:36:327:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:327:32:327:46 | Err(...) | +| main.rs:338:29:338:38 | source(...) | main.rs:333:7:333:9 | A | main.rs:338:14:338:39 | ...::A(...) | +| main.rs:339:29:339:29 | 2 | main.rs:334:7:334:9 | B | main.rs:339:14:339:30 | ...::B(...) | +| main.rs:356:16:356:25 | source(...) | main.rs:333:7:333:9 | A | main.rs:356:14:356:26 | A(...) | +| main.rs:357:16:357:16 | 2 | main.rs:334:7:334:9 | B | main.rs:357:14:357:17 | B(...) | +| main.rs:378:18:378:27 | source(...) | main.rs:372:9:372:20 | C | main.rs:377:14:379:5 | ...::C {...} | +| main.rs:380:41:380:41 | 2 | main.rs:373:9:373:20 | D | main.rs:380:14:380:43 | ...::D {...} | +| main.rs:398:18:398:27 | source(...) | main.rs:372:9:372:20 | C | main.rs:397:14:399:5 | C {...} | +| main.rs:400:27:400:27 | 2 | main.rs:373:9:373:20 | D | main.rs:400:14:400:29 | D {...} | | main.rs:418:17:418:17 | 1 | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | | main.rs:418:20:418:20 | 2 | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | | main.rs:418:23:418:32 | source(...) | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | -| main.rs:429:24:429:24 | 1 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | -| main.rs:429:27:429:27 | 2 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | -| main.rs:429:30:429:30 | 3 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | -| main.rs:432:18:432:27 | source(...) | file://:0:0:0:0 | element | main.rs:432:5:432:11 | [post] mut_arr | -| main.rs:444:41:444:67 | default_name | main.rs:441:9:441:20 | captured default_name | main.rs:444:41:444:67 | \|...\| ... | -| main.rs:445:18:445:18 | n | file://:0:0:0:0 | &ref | main.rs:445:18:445:18 | receiver for n | -| main.rs:469:13:469:13 | b | file://:0:0:0:0 | &ref | main.rs:469:13:469:13 | receiver for b | -| main.rs:470:18:470:18 | b | file://:0:0:0:0 | &ref | main.rs:470:18:470:18 | receiver for b | -| main.rs:479:15:479:24 | source(...) | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | -| main.rs:479:27:479:27 | 2 | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | -| main.rs:479:30:479:30 | 3 | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | -| main.rs:479:33:479:33 | 4 | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | -| main.rs:504:23:504:32 | source(...) | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:504:35:504:35 | 2 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:504:38:504:38 | 3 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:504:41:504:41 | 4 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:519:18:519:18 | c | file://:0:0:0:0 | &ref | main.rs:519:17:519:18 | &c | -| main.rs:522:15:522:15 | b | file://:0:0:0:0 | &ref | main.rs:522:14:522:15 | &b | -| main.rs:545:27:545:27 | 0 | {EXTERNAL LOCATION} | Some | main.rs:545:22:545:28 | Some(...) | +| main.rs:422:17:422:26 | source(...) | file://:0:0:0:0 | element | main.rs:422:16:422:31 | [...; 10] | +| main.rs:426:17:426:17 | 1 | file://:0:0:0:0 | element | main.rs:426:16:426:24 | [...] | +| main.rs:426:20:426:20 | 2 | file://:0:0:0:0 | element | main.rs:426:16:426:24 | [...] | +| main.rs:426:23:426:23 | 3 | file://:0:0:0:0 | element | main.rs:426:16:426:24 | [...] | +| main.rs:432:17:432:17 | 1 | file://:0:0:0:0 | element | main.rs:432:16:432:33 | [...] | +| main.rs:432:20:432:20 | 2 | file://:0:0:0:0 | element | main.rs:432:16:432:33 | [...] | +| main.rs:432:23:432:32 | source(...) | file://:0:0:0:0 | element | main.rs:432:16:432:33 | [...] | +| main.rs:437:17:437:17 | 1 | file://:0:0:0:0 | element | main.rs:437:16:437:24 | [...] | +| main.rs:437:20:437:20 | 2 | file://:0:0:0:0 | element | main.rs:437:16:437:24 | [...] | +| main.rs:437:23:437:23 | 3 | file://:0:0:0:0 | element | main.rs:437:16:437:24 | [...] | +| main.rs:444:17:444:17 | 1 | file://:0:0:0:0 | element | main.rs:444:16:444:33 | [...] | +| main.rs:444:20:444:20 | 2 | file://:0:0:0:0 | element | main.rs:444:16:444:33 | [...] | +| main.rs:444:23:444:32 | source(...) | file://:0:0:0:0 | element | main.rs:444:16:444:33 | [...] | +| main.rs:455:24:455:24 | 1 | file://:0:0:0:0 | element | main.rs:455:23:455:31 | [...] | +| main.rs:455:27:455:27 | 2 | file://:0:0:0:0 | element | main.rs:455:23:455:31 | [...] | +| main.rs:455:30:455:30 | 3 | file://:0:0:0:0 | element | main.rs:455:23:455:31 | [...] | +| main.rs:458:18:458:27 | source(...) | file://:0:0:0:0 | element | main.rs:458:5:458:11 | [post] mut_arr | +| main.rs:470:41:470:67 | default_name | main.rs:467:9:467:20 | captured default_name | main.rs:470:41:470:67 | \|...\| ... | +| main.rs:471:18:471:18 | n | file://:0:0:0:0 | &ref | main.rs:471:18:471:18 | receiver for n | +| main.rs:495:13:495:13 | b | file://:0:0:0:0 | &ref | main.rs:495:13:495:13 | receiver for b | +| main.rs:496:18:496:18 | b | file://:0:0:0:0 | &ref | main.rs:496:18:496:18 | receiver for b | +| main.rs:505:15:505:24 | source(...) | file://:0:0:0:0 | element | main.rs:505:14:505:34 | [...] | +| main.rs:505:27:505:27 | 2 | file://:0:0:0:0 | element | main.rs:505:14:505:34 | [...] | +| main.rs:505:30:505:30 | 3 | file://:0:0:0:0 | element | main.rs:505:14:505:34 | [...] | +| main.rs:505:33:505:33 | 4 | file://:0:0:0:0 | element | main.rs:505:14:505:34 | [...] | +| main.rs:530:23:530:32 | source(...) | file://:0:0:0:0 | element | main.rs:530:22:530:42 | [...] | +| main.rs:530:35:530:35 | 2 | file://:0:0:0:0 | element | main.rs:530:22:530:42 | [...] | +| main.rs:530:38:530:38 | 3 | file://:0:0:0:0 | element | main.rs:530:22:530:42 | [...] | +| main.rs:530:41:530:41 | 4 | file://:0:0:0:0 | element | main.rs:530:22:530:42 | [...] | +| main.rs:545:18:545:18 | c | file://:0:0:0:0 | &ref | main.rs:545:17:545:18 | &c | +| main.rs:548:15:548:15 | b | file://:0:0:0:0 | &ref | main.rs:548:14:548:15 | &b | +| main.rs:571:27:571:27 | 0 | {EXTERNAL LOCATION} | Some | main.rs:571:22:571:28 | Some(...) | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected index ba98607e4d71..707a63342ba4 100644 --- a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected @@ -10,558 +10,586 @@ models | 9 | Summary: ::expect_err; Argument[self].Field[core::result::Result::Err(0)]; ReturnValue; value | | 10 | Summary: ::ok; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue.Field[core::option::Option::Some(0)]; value | edges -| main.rs:22:9:22:9 | s | main.rs:23:10:23:10 | s | provenance | | -| main.rs:22:13:22:21 | source(...) | main.rs:22:9:22:9 | s | provenance | | -| main.rs:27:9:27:9 | a | main.rs:29:9:29:9 | c | provenance | | -| main.rs:27:13:27:21 | source(...) | main.rs:27:9:27:9 | a | provenance | | -| main.rs:29:9:29:9 | c | main.rs:30:10:30:10 | c | provenance | | -| main.rs:34:9:34:9 | a | main.rs:35:9:35:9 | b | provenance | | -| main.rs:34:13:34:21 | source(...) | main.rs:34:9:34:9 | a | provenance | | -| main.rs:35:9:35:9 | b | main.rs:39:10:39:10 | b | provenance | | -| main.rs:47:9:47:9 | b | main.rs:50:10:50:10 | b | provenance | | -| main.rs:48:15:48:23 | source(...) | main.rs:47:9:47:9 | b | provenance | | -| main.rs:56:5:56:5 | i | main.rs:57:10:57:10 | i | provenance | | -| main.rs:56:9:56:17 | source(...) | main.rs:56:5:56:5 | i | provenance | | -| main.rs:89:9:89:9 | i [&ref] | main.rs:90:11:90:11 | i [&ref] | provenance | | -| main.rs:89:13:89:31 | ...::new(...) [&ref] | main.rs:89:9:89:9 | i [&ref] | provenance | | -| main.rs:89:22:89:30 | source(...) | main.rs:89:13:89:31 | ...::new(...) [&ref] | provenance | MaD:1 | -| main.rs:90:11:90:11 | i [&ref] | main.rs:90:10:90:11 | * ... | provenance | | -| main.rs:97:9:97:9 | a [tuple.0] | main.rs:98:10:98:10 | a [tuple.0] | provenance | | -| main.rs:97:13:97:26 | TupleExpr [tuple.0] | main.rs:97:9:97:9 | a [tuple.0] | provenance | | -| main.rs:97:14:97:22 | source(...) | main.rs:97:13:97:26 | TupleExpr [tuple.0] | provenance | | -| main.rs:98:10:98:10 | a [tuple.0] | main.rs:98:10:98:12 | a.0 | provenance | | -| main.rs:103:9:103:9 | a [tuple.1] | main.rs:104:9:104:20 | TuplePat [tuple.1] | provenance | | -| main.rs:103:13:103:30 | TupleExpr [tuple.1] | main.rs:103:9:103:9 | a [tuple.1] | provenance | | -| main.rs:103:17:103:26 | source(...) | main.rs:103:13:103:30 | TupleExpr [tuple.1] | provenance | | -| main.rs:104:9:104:20 | TuplePat [tuple.1] | main.rs:104:14:104:15 | a1 | provenance | | -| main.rs:104:14:104:15 | a1 | main.rs:106:10:106:11 | a1 | provenance | | -| main.rs:111:9:111:13 | mut a [tuple.1] | main.rs:113:10:113:10 | a [tuple.1] | provenance | | -| main.rs:111:17:111:31 | TupleExpr [tuple.1] | main.rs:111:9:111:13 | mut a [tuple.1] | provenance | | -| main.rs:111:21:111:30 | source(...) | main.rs:111:17:111:31 | TupleExpr [tuple.1] | provenance | | -| main.rs:113:10:113:10 | a [tuple.1] | main.rs:113:10:113:12 | a.1 | provenance | | -| main.rs:114:5:114:5 | [post] a [tuple.0] | main.rs:115:5:115:5 | a [tuple.0] | provenance | | -| main.rs:114:11:114:20 | source(...) | main.rs:114:5:114:5 | [post] a [tuple.0] | provenance | | -| main.rs:115:5:115:5 | a [tuple.0] | main.rs:116:10:116:10 | a [tuple.0] | provenance | | -| main.rs:116:10:116:10 | a [tuple.0] | main.rs:116:10:116:12 | a.0 | provenance | | -| main.rs:121:9:121:9 | a [tuple.1] | main.rs:122:14:122:14 | a [tuple.1] | provenance | | -| main.rs:121:13:121:27 | TupleExpr [tuple.1] | main.rs:121:9:121:9 | a [tuple.1] | provenance | | -| main.rs:121:17:121:26 | source(...) | main.rs:121:13:121:27 | TupleExpr [tuple.1] | provenance | | -| main.rs:122:9:122:9 | b [tuple.0, tuple.1] | main.rs:124:10:124:10 | b [tuple.0, tuple.1] | provenance | | -| main.rs:122:13:122:18 | TupleExpr [tuple.0, tuple.1] | main.rs:122:9:122:9 | b [tuple.0, tuple.1] | provenance | | -| main.rs:122:14:122:14 | a [tuple.1] | main.rs:122:13:122:18 | TupleExpr [tuple.0, tuple.1] | provenance | | -| main.rs:124:10:124:10 | b [tuple.0, tuple.1] | main.rs:124:10:124:12 | b.0 [tuple.1] | provenance | | -| main.rs:124:10:124:12 | b.0 [tuple.1] | main.rs:124:10:124:15 | ... .1 | provenance | | -| main.rs:137:9:137:9 | p [Point.x] | main.rs:138:10:138:10 | p [Point.x] | provenance | | -| main.rs:137:13:137:40 | Point {...} [Point.x] | main.rs:137:9:137:9 | p [Point.x] | provenance | | -| main.rs:137:24:137:32 | source(...) | main.rs:137:13:137:40 | Point {...} [Point.x] | provenance | | -| main.rs:138:10:138:10 | p [Point.x] | main.rs:138:10:138:12 | p.x | provenance | | -| main.rs:145:5:145:5 | [post] p [Point.y] | main.rs:146:10:146:10 | p [Point.y] | provenance | | -| main.rs:145:11:145:20 | source(...) | main.rs:145:5:145:5 | [post] p [Point.y] | provenance | | -| main.rs:146:10:146:10 | p [Point.y] | main.rs:146:10:146:12 | p.y | provenance | | -| main.rs:150:9:150:9 | p [Point.x] | main.rs:154:9:154:28 | Point {...} [Point.x] | provenance | | -| main.rs:150:13:153:5 | Point {...} [Point.x] | main.rs:150:9:150:9 | p [Point.x] | provenance | | -| main.rs:151:12:151:21 | source(...) | main.rs:150:13:153:5 | Point {...} [Point.x] | provenance | | -| main.rs:154:9:154:28 | Point {...} [Point.x] | main.rs:154:20:154:20 | a | provenance | | -| main.rs:154:20:154:20 | a | main.rs:155:10:155:10 | a | provenance | | -| main.rs:165:9:165:9 | p [Point3D.plane, Point.y] | main.rs:173:10:173:10 | p [Point3D.plane, Point.y] | provenance | | -| main.rs:165:13:171:5 | Point3D {...} [Point3D.plane, Point.y] | main.rs:165:9:165:9 | p [Point3D.plane, Point.y] | provenance | | -| main.rs:166:16:169:9 | Point {...} [Point.y] | main.rs:165:13:171:5 | Point3D {...} [Point3D.plane, Point.y] | provenance | | -| main.rs:168:16:168:25 | source(...) | main.rs:166:16:169:9 | Point {...} [Point.y] | provenance | | -| main.rs:173:10:173:10 | p [Point3D.plane, Point.y] | main.rs:173:10:173:16 | p.plane [Point.y] | provenance | | -| main.rs:173:10:173:16 | p.plane [Point.y] | main.rs:173:10:173:18 | ... .y | provenance | | -| main.rs:178:9:178:9 | y | main.rs:180:30:180:30 | y | provenance | | -| main.rs:178:13:178:22 | source(...) | main.rs:178:9:178:9 | y | provenance | | -| main.rs:179:9:179:9 | p [Point3D.plane, Point.y] | main.rs:183:11:183:11 | p [Point3D.plane, Point.y] | provenance | | -| main.rs:179:13:182:5 | Point3D {...} [Point3D.plane, Point.y] | main.rs:179:9:179:9 | p [Point3D.plane, Point.y] | provenance | | -| main.rs:180:16:180:32 | Point {...} [Point.y] | main.rs:179:13:182:5 | Point3D {...} [Point3D.plane, Point.y] | provenance | | -| main.rs:180:30:180:30 | y | main.rs:180:16:180:32 | Point {...} [Point.y] | provenance | | -| main.rs:183:11:183:11 | p [Point3D.plane, Point.y] | main.rs:184:9:187:9 | Point3D {...} [Point3D.plane, Point.y] | provenance | | -| main.rs:184:9:187:9 | Point3D {...} [Point3D.plane, Point.y] | main.rs:185:20:185:33 | Point {...} [Point.y] | provenance | | -| main.rs:185:20:185:33 | Point {...} [Point.y] | main.rs:185:31:185:31 | y | provenance | | -| main.rs:185:31:185:31 | y | main.rs:189:18:189:18 | y | provenance | | -| main.rs:198:9:198:9 | s [MyTupleStruct(0)] | main.rs:199:10:199:10 | s [MyTupleStruct(0)] | provenance | | -| main.rs:198:9:198:9 | s [MyTupleStruct(0)] | main.rs:202:11:202:11 | s [MyTupleStruct(0)] | provenance | | -| main.rs:198:13:198:40 | MyTupleStruct(...) [MyTupleStruct(0)] | main.rs:198:9:198:9 | s [MyTupleStruct(0)] | provenance | | -| main.rs:198:27:198:36 | source(...) | main.rs:198:13:198:40 | MyTupleStruct(...) [MyTupleStruct(0)] | provenance | | -| main.rs:199:10:199:10 | s [MyTupleStruct(0)] | main.rs:199:10:199:12 | s.0 | provenance | | -| main.rs:202:11:202:11 | s [MyTupleStruct(0)] | main.rs:203:9:203:27 | MyTupleStruct(...) [MyTupleStruct(0)] | provenance | | -| main.rs:203:9:203:27 | MyTupleStruct(...) [MyTupleStruct(0)] | main.rs:203:23:203:23 | x | provenance | | -| main.rs:203:23:203:23 | x | main.rs:204:18:204:18 | x | provenance | | -| main.rs:214:9:214:10 | s1 [Some] | main.rs:216:11:216:12 | s1 [Some] | provenance | | -| main.rs:214:14:214:37 | ...::Some(...) [Some] | main.rs:214:9:214:10 | s1 [Some] | provenance | | -| main.rs:214:27:214:36 | source(...) | main.rs:214:14:214:37 | ...::Some(...) [Some] | provenance | | -| main.rs:216:11:216:12 | s1 [Some] | main.rs:217:9:217:23 | ...::Some(...) [Some] | provenance | | -| main.rs:217:9:217:23 | ...::Some(...) [Some] | main.rs:217:22:217:22 | n | provenance | | -| main.rs:217:22:217:22 | n | main.rs:217:33:217:33 | n | provenance | | -| main.rs:227:9:227:10 | s1 [Some] | main.rs:229:11:229:12 | s1 [Some] | provenance | | -| main.rs:227:14:227:29 | Some(...) [Some] | main.rs:227:9:227:10 | s1 [Some] | provenance | | -| main.rs:227:19:227:28 | source(...) | main.rs:227:14:227:29 | Some(...) [Some] | provenance | | -| main.rs:229:11:229:12 | s1 [Some] | main.rs:230:9:230:15 | Some(...) [Some] | provenance | | -| main.rs:230:9:230:15 | Some(...) [Some] | main.rs:230:14:230:14 | n | provenance | | -| main.rs:230:14:230:14 | n | main.rs:230:25:230:25 | n | provenance | | -| main.rs:240:9:240:10 | s1 [Some] | main.rs:241:10:241:20 | s1.unwrap() | provenance | MaD:2 | -| main.rs:240:14:240:29 | Some(...) [Some] | main.rs:240:9:240:10 | s1 [Some] | provenance | | -| main.rs:240:19:240:28 | source(...) | main.rs:240:14:240:29 | Some(...) [Some] | provenance | | -| main.rs:245:9:245:10 | s1 [Some] | main.rs:246:10:246:24 | s1.unwrap_or(...) | provenance | MaD:4 | -| main.rs:245:14:245:29 | Some(...) [Some] | main.rs:245:9:245:10 | s1 [Some] | provenance | | -| main.rs:245:19:245:28 | source(...) | main.rs:245:14:245:29 | Some(...) [Some] | provenance | | -| main.rs:249:23:249:32 | source(...) | main.rs:249:10:249:33 | s2.unwrap_or(...) | provenance | MaD:3 | -| main.rs:253:9:253:10 | s1 [Some] | main.rs:254:10:254:32 | s1.unwrap_or_else(...) | provenance | MaD:6 | -| main.rs:253:14:253:29 | Some(...) [Some] | main.rs:253:9:253:10 | s1 [Some] | provenance | | -| main.rs:253:19:253:28 | source(...) | main.rs:253:14:253:29 | Some(...) [Some] | provenance | | -| main.rs:257:31:257:40 | source(...) | main.rs:257:10:257:41 | s2.unwrap_or_else(...) | provenance | MaD:5 | -| main.rs:261:9:261:10 | s1 [Some] | main.rs:263:14:263:15 | s1 [Some] | provenance | | -| main.rs:261:14:261:29 | Some(...) [Some] | main.rs:261:9:261:10 | s1 [Some] | provenance | | -| main.rs:261:19:261:28 | source(...) | main.rs:261:14:261:29 | Some(...) [Some] | provenance | | -| main.rs:263:9:263:10 | i1 | main.rs:264:10:264:11 | i1 | provenance | | -| main.rs:263:14:263:15 | s1 [Some] | main.rs:263:14:263:16 | TryExpr | provenance | | -| main.rs:263:14:263:16 | TryExpr | main.rs:263:9:263:10 | i1 | provenance | | -| main.rs:270:9:270:10 | r1 [Ok] | main.rs:271:28:271:34 | r1.ok() [Some] | provenance | MaD:10 | -| main.rs:270:32:270:45 | Ok(...) [Ok] | main.rs:270:9:270:10 | r1 [Ok] | provenance | | -| main.rs:270:35:270:44 | source(...) | main.rs:270:32:270:45 | Ok(...) [Ok] | provenance | | -| main.rs:271:9:271:11 | o1a [Some] | main.rs:273:10:273:21 | o1a.unwrap() | provenance | MaD:2 | -| main.rs:271:28:271:34 | r1.ok() [Some] | main.rs:271:9:271:11 | o1a [Some] | provenance | | -| main.rs:276:9:276:10 | r2 [Err] | main.rs:278:28:278:35 | r2.err() [Some] | provenance | MaD:7 | -| main.rs:276:32:276:46 | Err(...) [Err] | main.rs:276:9:276:10 | r2 [Err] | provenance | | -| main.rs:276:36:276:45 | source(...) | main.rs:276:32:276:46 | Err(...) [Err] | provenance | | -| main.rs:278:9:278:11 | o2b [Some] | main.rs:280:10:280:21 | o2b.unwrap() | provenance | MaD:2 | -| main.rs:278:28:278:35 | r2.err() [Some] | main.rs:278:9:278:11 | o2b [Some] | provenance | | -| main.rs:284:9:284:10 | s1 [Ok] | main.rs:287:14:287:15 | s1 [Ok] | provenance | | -| main.rs:284:32:284:45 | Ok(...) [Ok] | main.rs:284:9:284:10 | s1 [Ok] | provenance | | -| main.rs:284:35:284:44 | source(...) | main.rs:284:32:284:45 | Ok(...) [Ok] | provenance | | -| main.rs:287:9:287:10 | i1 | main.rs:289:10:289:11 | i1 | provenance | | -| main.rs:287:14:287:15 | s1 [Ok] | main.rs:287:14:287:16 | TryExpr | provenance | | -| main.rs:287:14:287:16 | TryExpr | main.rs:287:9:287:10 | i1 | provenance | | -| main.rs:297:9:297:10 | s1 [Ok] | main.rs:298:10:298:22 | s1.expect(...) | provenance | MaD:8 | -| main.rs:297:32:297:45 | Ok(...) [Ok] | main.rs:297:9:297:10 | s1 [Ok] | provenance | | -| main.rs:297:35:297:44 | source(...) | main.rs:297:32:297:45 | Ok(...) [Ok] | provenance | | -| main.rs:301:9:301:10 | s2 [Err] | main.rs:303:10:303:26 | s2.expect_err(...) | provenance | MaD:9 | -| main.rs:301:32:301:46 | Err(...) [Err] | main.rs:301:9:301:10 | s2 [Err] | provenance | | -| main.rs:301:36:301:45 | source(...) | main.rs:301:32:301:46 | Err(...) [Err] | provenance | | -| main.rs:312:9:312:10 | s1 [A] | main.rs:314:11:314:12 | s1 [A] | provenance | | -| main.rs:312:14:312:39 | ...::A(...) [A] | main.rs:312:9:312:10 | s1 [A] | provenance | | -| main.rs:312:29:312:38 | source(...) | main.rs:312:14:312:39 | ...::A(...) [A] | provenance | | -| main.rs:314:11:314:12 | s1 [A] | main.rs:315:9:315:25 | ...::A(...) [A] | provenance | | -| main.rs:314:11:314:12 | s1 [A] | main.rs:318:11:318:12 | s1 [A] | provenance | | -| main.rs:315:9:315:25 | ...::A(...) [A] | main.rs:315:24:315:24 | n | provenance | | -| main.rs:315:24:315:24 | n | main.rs:315:35:315:35 | n | provenance | | -| main.rs:318:11:318:12 | s1 [A] | main.rs:319:9:319:25 | ...::A(...) [A] | provenance | | -| main.rs:319:9:319:25 | ...::A(...) [A] | main.rs:319:24:319:24 | n | provenance | | -| main.rs:319:24:319:24 | n | main.rs:319:55:319:55 | n | provenance | | -| main.rs:330:9:330:10 | s1 [A] | main.rs:332:11:332:12 | s1 [A] | provenance | | -| main.rs:330:14:330:26 | A(...) [A] | main.rs:330:9:330:10 | s1 [A] | provenance | | -| main.rs:330:16:330:25 | source(...) | main.rs:330:14:330:26 | A(...) [A] | provenance | | -| main.rs:332:11:332:12 | s1 [A] | main.rs:333:9:333:12 | A(...) [A] | provenance | | -| main.rs:332:11:332:12 | s1 [A] | main.rs:336:11:336:12 | s1 [A] | provenance | | -| main.rs:333:9:333:12 | A(...) [A] | main.rs:333:11:333:11 | n | provenance | | -| main.rs:333:11:333:11 | n | main.rs:333:22:333:22 | n | provenance | | -| main.rs:336:11:336:12 | s1 [A] | main.rs:337:9:337:12 | A(...) [A] | provenance | | -| main.rs:337:9:337:12 | A(...) [A] | main.rs:337:11:337:11 | n | provenance | | -| main.rs:337:11:337:11 | n | main.rs:337:29:337:29 | n | provenance | | -| main.rs:351:9:351:10 | s1 [C] | main.rs:355:11:355:12 | s1 [C] | provenance | | -| main.rs:351:14:353:5 | ...::C {...} [C] | main.rs:351:9:351:10 | s1 [C] | provenance | | -| main.rs:352:18:352:27 | source(...) | main.rs:351:14:353:5 | ...::C {...} [C] | provenance | | -| main.rs:355:11:355:12 | s1 [C] | main.rs:356:9:356:38 | ...::C {...} [C] | provenance | | -| main.rs:355:11:355:12 | s1 [C] | main.rs:359:11:359:12 | s1 [C] | provenance | | -| main.rs:356:9:356:38 | ...::C {...} [C] | main.rs:356:36:356:36 | n | provenance | | -| main.rs:356:36:356:36 | n | main.rs:356:48:356:48 | n | provenance | | -| main.rs:359:11:359:12 | s1 [C] | main.rs:360:9:360:38 | ...::C {...} [C] | provenance | | -| main.rs:360:9:360:38 | ...::C {...} [C] | main.rs:360:36:360:36 | n | provenance | | -| main.rs:360:36:360:36 | n | main.rs:360:81:360:81 | n | provenance | | -| main.rs:371:9:371:10 | s1 [C] | main.rs:375:11:375:12 | s1 [C] | provenance | | -| main.rs:371:14:373:5 | C {...} [C] | main.rs:371:9:371:10 | s1 [C] | provenance | | -| main.rs:372:18:372:27 | source(...) | main.rs:371:14:373:5 | C {...} [C] | provenance | | -| main.rs:375:11:375:12 | s1 [C] | main.rs:376:9:376:24 | C {...} [C] | provenance | | -| main.rs:375:11:375:12 | s1 [C] | main.rs:379:11:379:12 | s1 [C] | provenance | | -| main.rs:376:9:376:24 | C {...} [C] | main.rs:376:22:376:22 | n | provenance | | -| main.rs:376:22:376:22 | n | main.rs:376:34:376:34 | n | provenance | | -| main.rs:379:11:379:12 | s1 [C] | main.rs:380:9:380:24 | C {...} [C] | provenance | | -| main.rs:380:9:380:24 | C {...} [C] | main.rs:380:22:380:22 | n | provenance | | -| main.rs:380:22:380:22 | n | main.rs:380:53:380:53 | n | provenance | | -| main.rs:392:9:392:12 | arr1 [element] | main.rs:393:14:393:17 | arr1 [element] | provenance | | -| main.rs:392:16:392:33 | [...] [element] | main.rs:392:9:392:12 | arr1 [element] | provenance | | -| main.rs:392:23:392:32 | source(...) | main.rs:392:16:392:33 | [...] [element] | provenance | | -| main.rs:393:9:393:10 | n1 | main.rs:394:10:394:11 | n1 | provenance | | -| main.rs:393:14:393:17 | arr1 [element] | main.rs:393:14:393:20 | arr1[2] | provenance | | -| main.rs:393:14:393:20 | arr1[2] | main.rs:393:9:393:10 | n1 | provenance | | -| main.rs:396:9:396:12 | arr2 [element] | main.rs:397:14:397:17 | arr2 [element] | provenance | | -| main.rs:396:16:396:31 | [...; 10] [element] | main.rs:396:9:396:12 | arr2 [element] | provenance | | -| main.rs:396:17:396:26 | source(...) | main.rs:396:16:396:31 | [...; 10] [element] | provenance | | -| main.rs:397:9:397:10 | n2 | main.rs:398:10:398:11 | n2 | provenance | | -| main.rs:397:14:397:17 | arr2 [element] | main.rs:397:14:397:20 | arr2[4] | provenance | | -| main.rs:397:14:397:20 | arr2[4] | main.rs:397:9:397:10 | n2 | provenance | | -| main.rs:406:9:406:12 | arr1 [element] | main.rs:407:15:407:18 | arr1 [element] | provenance | | -| main.rs:406:16:406:33 | [...] [element] | main.rs:406:9:406:12 | arr1 [element] | provenance | | -| main.rs:406:23:406:32 | source(...) | main.rs:406:16:406:33 | [...] [element] | provenance | | -| main.rs:407:9:407:10 | n1 | main.rs:408:14:408:15 | n1 | provenance | | -| main.rs:407:15:407:18 | arr1 [element] | main.rs:407:9:407:10 | n1 | provenance | | -| main.rs:418:9:418:12 | arr1 [element] | main.rs:419:11:419:14 | arr1 [element] | provenance | | +| main.rs:23:9:23:9 | s | main.rs:24:10:24:10 | s | provenance | | +| main.rs:23:9:23:9 | s | main.rs:26:12:26:12 | x | provenance | | +| main.rs:23:9:23:9 | s | main.rs:30:12:30:12 | x | provenance | | +| main.rs:23:13:23:21 | source(...) | main.rs:23:9:23:9 | s | provenance | | +| main.rs:26:12:26:12 | x | main.rs:27:14:27:14 | x | provenance | | +| main.rs:30:12:30:12 | x | main.rs:32:18:32:18 | x | provenance | | +| main.rs:30:12:30:12 | x | main.rs:36:14:36:14 | x | provenance | | +| main.rs:41:9:41:9 | a | main.rs:43:9:43:9 | c | provenance | | +| main.rs:41:13:41:21 | source(...) | main.rs:41:9:41:9 | a | provenance | | +| main.rs:43:9:43:9 | c | main.rs:44:10:44:10 | c | provenance | | +| main.rs:48:9:48:9 | a | main.rs:49:9:49:9 | b | provenance | | +| main.rs:48:13:48:21 | source(...) | main.rs:48:9:48:9 | a | provenance | | +| main.rs:49:9:49:9 | b | main.rs:53:10:53:10 | b | provenance | | +| main.rs:61:9:61:9 | b | main.rs:64:10:64:10 | b | provenance | | +| main.rs:62:15:62:23 | source(...) | main.rs:61:9:61:9 | b | provenance | | +| main.rs:70:5:70:5 | i | main.rs:71:10:71:10 | i | provenance | | +| main.rs:70:9:70:17 | source(...) | main.rs:70:5:70:5 | i | provenance | | +| main.rs:103:9:103:9 | i [&ref] | main.rs:104:11:104:11 | i [&ref] | provenance | | +| main.rs:103:13:103:31 | ...::new(...) [&ref] | main.rs:103:9:103:9 | i [&ref] | provenance | | +| main.rs:103:22:103:30 | source(...) | main.rs:103:13:103:31 | ...::new(...) [&ref] | provenance | MaD:1 | +| main.rs:104:11:104:11 | i [&ref] | main.rs:104:10:104:11 | * ... | provenance | | +| main.rs:111:9:111:9 | a [tuple.0] | main.rs:112:10:112:10 | a [tuple.0] | provenance | | +| main.rs:111:13:111:26 | TupleExpr [tuple.0] | main.rs:111:9:111:9 | a [tuple.0] | provenance | | +| main.rs:111:14:111:22 | source(...) | main.rs:111:13:111:26 | TupleExpr [tuple.0] | provenance | | +| main.rs:112:10:112:10 | a [tuple.0] | main.rs:112:10:112:12 | a.0 | provenance | | +| main.rs:117:9:117:9 | a [tuple.1] | main.rs:118:9:118:20 | TuplePat [tuple.1] | provenance | | +| main.rs:117:13:117:30 | TupleExpr [tuple.1] | main.rs:117:9:117:9 | a [tuple.1] | provenance | | +| main.rs:117:17:117:26 | source(...) | main.rs:117:13:117:30 | TupleExpr [tuple.1] | provenance | | +| main.rs:118:9:118:20 | TuplePat [tuple.1] | main.rs:118:14:118:15 | a1 | provenance | | +| main.rs:118:14:118:15 | a1 | main.rs:120:10:120:11 | a1 | provenance | | +| main.rs:125:9:125:13 | mut a [tuple.1] | main.rs:127:10:127:10 | a [tuple.1] | provenance | | +| main.rs:125:17:125:31 | TupleExpr [tuple.1] | main.rs:125:9:125:13 | mut a [tuple.1] | provenance | | +| main.rs:125:21:125:30 | source(...) | main.rs:125:17:125:31 | TupleExpr [tuple.1] | provenance | | +| main.rs:127:10:127:10 | a [tuple.1] | main.rs:127:10:127:12 | a.1 | provenance | | +| main.rs:128:5:128:5 | [post] a [tuple.0] | main.rs:129:5:129:5 | a [tuple.0] | provenance | | +| main.rs:128:11:128:20 | source(...) | main.rs:128:5:128:5 | [post] a [tuple.0] | provenance | | +| main.rs:129:5:129:5 | a [tuple.0] | main.rs:130:10:130:10 | a [tuple.0] | provenance | | +| main.rs:130:10:130:10 | a [tuple.0] | main.rs:130:10:130:12 | a.0 | provenance | | +| main.rs:135:9:135:9 | a [tuple.1] | main.rs:136:14:136:14 | a [tuple.1] | provenance | | +| main.rs:135:13:135:27 | TupleExpr [tuple.1] | main.rs:135:9:135:9 | a [tuple.1] | provenance | | +| main.rs:135:17:135:26 | source(...) | main.rs:135:13:135:27 | TupleExpr [tuple.1] | provenance | | +| main.rs:136:9:136:9 | b [tuple.0, tuple.1] | main.rs:138:10:138:10 | b [tuple.0, tuple.1] | provenance | | +| main.rs:136:13:136:18 | TupleExpr [tuple.0, tuple.1] | main.rs:136:9:136:9 | b [tuple.0, tuple.1] | provenance | | +| main.rs:136:14:136:14 | a [tuple.1] | main.rs:136:13:136:18 | TupleExpr [tuple.0, tuple.1] | provenance | | +| main.rs:138:10:138:10 | b [tuple.0, tuple.1] | main.rs:138:10:138:12 | b.0 [tuple.1] | provenance | | +| main.rs:138:10:138:12 | b.0 [tuple.1] | main.rs:138:10:138:15 | ... .1 | provenance | | +| main.rs:151:9:151:9 | p [Point.x] | main.rs:152:10:152:10 | p [Point.x] | provenance | | +| main.rs:151:13:151:40 | Point {...} [Point.x] | main.rs:151:9:151:9 | p [Point.x] | provenance | | +| main.rs:151:24:151:32 | source(...) | main.rs:151:13:151:40 | Point {...} [Point.x] | provenance | | +| main.rs:152:10:152:10 | p [Point.x] | main.rs:152:10:152:12 | p.x | provenance | | +| main.rs:159:5:159:5 | [post] p [Point.y] | main.rs:160:10:160:10 | p [Point.y] | provenance | | +| main.rs:159:11:159:20 | source(...) | main.rs:159:5:159:5 | [post] p [Point.y] | provenance | | +| main.rs:160:10:160:10 | p [Point.y] | main.rs:160:10:160:12 | p.y | provenance | | +| main.rs:164:9:164:9 | p [Point.x] | main.rs:168:9:168:28 | Point {...} [Point.x] | provenance | | +| main.rs:164:13:167:5 | Point {...} [Point.x] | main.rs:164:9:164:9 | p [Point.x] | provenance | | +| main.rs:165:12:165:21 | source(...) | main.rs:164:13:167:5 | Point {...} [Point.x] | provenance | | +| main.rs:168:9:168:28 | Point {...} [Point.x] | main.rs:168:20:168:20 | a | provenance | | +| main.rs:168:20:168:20 | a | main.rs:169:10:169:10 | a | provenance | | +| main.rs:179:9:179:9 | p [Point3D.plane, Point.y] | main.rs:187:10:187:10 | p [Point3D.plane, Point.y] | provenance | | +| main.rs:179:13:185:5 | Point3D {...} [Point3D.plane, Point.y] | main.rs:179:9:179:9 | p [Point3D.plane, Point.y] | provenance | | +| main.rs:180:16:183:9 | Point {...} [Point.y] | main.rs:179:13:185:5 | Point3D {...} [Point3D.plane, Point.y] | provenance | | +| main.rs:182:16:182:25 | source(...) | main.rs:180:16:183:9 | Point {...} [Point.y] | provenance | | +| main.rs:187:10:187:10 | p [Point3D.plane, Point.y] | main.rs:187:10:187:16 | p.plane [Point.y] | provenance | | +| main.rs:187:10:187:16 | p.plane [Point.y] | main.rs:187:10:187:18 | ... .y | provenance | | +| main.rs:192:9:192:9 | y | main.rs:194:30:194:30 | y | provenance | | +| main.rs:192:13:192:22 | source(...) | main.rs:192:9:192:9 | y | provenance | | +| main.rs:193:9:193:9 | p [Point3D.plane, Point.y] | main.rs:197:11:197:11 | p [Point3D.plane, Point.y] | provenance | | +| main.rs:193:13:196:5 | Point3D {...} [Point3D.plane, Point.y] | main.rs:193:9:193:9 | p [Point3D.plane, Point.y] | provenance | | +| main.rs:194:16:194:32 | Point {...} [Point.y] | main.rs:193:13:196:5 | Point3D {...} [Point3D.plane, Point.y] | provenance | | +| main.rs:194:30:194:30 | y | main.rs:194:16:194:32 | Point {...} [Point.y] | provenance | | +| main.rs:197:11:197:11 | p [Point3D.plane, Point.y] | main.rs:198:9:201:9 | Point3D {...} [Point3D.plane, Point.y] | provenance | | +| main.rs:198:9:201:9 | Point3D {...} [Point3D.plane, Point.y] | main.rs:199:20:199:33 | Point {...} [Point.y] | provenance | | +| main.rs:199:20:199:33 | Point {...} [Point.y] | main.rs:199:31:199:31 | y | provenance | | +| main.rs:199:31:199:31 | y | main.rs:203:18:203:18 | y | provenance | | +| main.rs:212:9:212:9 | s [MyTupleStruct(0)] | main.rs:213:10:213:10 | s [MyTupleStruct(0)] | provenance | | +| main.rs:212:9:212:9 | s [MyTupleStruct(0)] | main.rs:216:11:216:11 | s [MyTupleStruct(0)] | provenance | | +| main.rs:212:13:212:40 | MyTupleStruct(...) [MyTupleStruct(0)] | main.rs:212:9:212:9 | s [MyTupleStruct(0)] | provenance | | +| main.rs:212:27:212:36 | source(...) | main.rs:212:13:212:40 | MyTupleStruct(...) [MyTupleStruct(0)] | provenance | | +| main.rs:213:10:213:10 | s [MyTupleStruct(0)] | main.rs:213:10:213:12 | s.0 | provenance | | +| main.rs:216:11:216:11 | s [MyTupleStruct(0)] | main.rs:217:9:217:27 | MyTupleStruct(...) [MyTupleStruct(0)] | provenance | | +| main.rs:217:9:217:27 | MyTupleStruct(...) [MyTupleStruct(0)] | main.rs:217:23:217:23 | x | provenance | | +| main.rs:217:23:217:23 | x | main.rs:218:18:218:18 | x | provenance | | +| main.rs:228:9:228:10 | s1 [Some] | main.rs:230:11:230:12 | s1 [Some] | provenance | | +| main.rs:228:14:228:37 | ...::Some(...) [Some] | main.rs:228:9:228:10 | s1 [Some] | provenance | | +| main.rs:228:27:228:36 | source(...) | main.rs:228:14:228:37 | ...::Some(...) [Some] | provenance | | +| main.rs:230:11:230:12 | s1 [Some] | main.rs:231:9:231:23 | ...::Some(...) [Some] | provenance | | +| main.rs:231:9:231:23 | ...::Some(...) [Some] | main.rs:231:22:231:22 | n | provenance | | +| main.rs:231:22:231:22 | n | main.rs:231:33:231:33 | n | provenance | | +| main.rs:241:9:241:10 | s1 [Some] | main.rs:243:11:243:12 | s1 [Some] | provenance | | +| main.rs:241:14:241:29 | Some(...) [Some] | main.rs:241:9:241:10 | s1 [Some] | provenance | | +| main.rs:241:19:241:28 | source(...) | main.rs:241:14:241:29 | Some(...) [Some] | provenance | | +| main.rs:243:11:243:12 | s1 [Some] | main.rs:244:9:244:15 | Some(...) [Some] | provenance | | +| main.rs:244:9:244:15 | Some(...) [Some] | main.rs:244:14:244:14 | n | provenance | | +| main.rs:244:14:244:14 | n | main.rs:244:25:244:25 | n | provenance | | +| main.rs:254:9:254:10 | s1 [Some] | main.rs:255:12:255:18 | Some(...) [Some] | provenance | | +| main.rs:254:14:254:29 | Some(...) [Some] | main.rs:254:9:254:10 | s1 [Some] | provenance | | +| main.rs:254:19:254:28 | source(...) | main.rs:254:14:254:29 | Some(...) [Some] | provenance | | +| main.rs:255:12:255:18 | Some(...) [Some] | main.rs:255:17:255:17 | n | provenance | | +| main.rs:255:17:255:17 | n | main.rs:257:18:257:18 | n | provenance | | +| main.rs:255:17:255:17 | n | main.rs:261:14:261:14 | n | provenance | | +| main.rs:266:9:266:10 | s1 [Some] | main.rs:267:10:267:20 | s1.unwrap() | provenance | MaD:2 | +| main.rs:266:14:266:29 | Some(...) [Some] | main.rs:266:9:266:10 | s1 [Some] | provenance | | +| main.rs:266:19:266:28 | source(...) | main.rs:266:14:266:29 | Some(...) [Some] | provenance | | +| main.rs:271:9:271:10 | s1 [Some] | main.rs:272:10:272:24 | s1.unwrap_or(...) | provenance | MaD:4 | +| main.rs:271:14:271:29 | Some(...) [Some] | main.rs:271:9:271:10 | s1 [Some] | provenance | | +| main.rs:271:19:271:28 | source(...) | main.rs:271:14:271:29 | Some(...) [Some] | provenance | | +| main.rs:275:23:275:32 | source(...) | main.rs:275:10:275:33 | s2.unwrap_or(...) | provenance | MaD:3 | +| main.rs:279:9:279:10 | s1 [Some] | main.rs:280:10:280:32 | s1.unwrap_or_else(...) | provenance | MaD:6 | +| main.rs:279:14:279:29 | Some(...) [Some] | main.rs:279:9:279:10 | s1 [Some] | provenance | | +| main.rs:279:19:279:28 | source(...) | main.rs:279:14:279:29 | Some(...) [Some] | provenance | | +| main.rs:283:31:283:40 | source(...) | main.rs:283:10:283:41 | s2.unwrap_or_else(...) | provenance | MaD:5 | +| main.rs:287:9:287:10 | s1 [Some] | main.rs:289:14:289:15 | s1 [Some] | provenance | | +| main.rs:287:14:287:29 | Some(...) [Some] | main.rs:287:9:287:10 | s1 [Some] | provenance | | +| main.rs:287:19:287:28 | source(...) | main.rs:287:14:287:29 | Some(...) [Some] | provenance | | +| main.rs:289:9:289:10 | i1 | main.rs:290:10:290:11 | i1 | provenance | | +| main.rs:289:14:289:15 | s1 [Some] | main.rs:289:14:289:16 | TryExpr | provenance | | +| main.rs:289:14:289:16 | TryExpr | main.rs:289:9:289:10 | i1 | provenance | | +| main.rs:296:9:296:10 | r1 [Ok] | main.rs:297:28:297:34 | r1.ok() [Some] | provenance | MaD:10 | +| main.rs:296:32:296:45 | Ok(...) [Ok] | main.rs:296:9:296:10 | r1 [Ok] | provenance | | +| main.rs:296:35:296:44 | source(...) | main.rs:296:32:296:45 | Ok(...) [Ok] | provenance | | +| main.rs:297:9:297:11 | o1a [Some] | main.rs:299:10:299:21 | o1a.unwrap() | provenance | MaD:2 | +| main.rs:297:28:297:34 | r1.ok() [Some] | main.rs:297:9:297:11 | o1a [Some] | provenance | | +| main.rs:302:9:302:10 | r2 [Err] | main.rs:304:28:304:35 | r2.err() [Some] | provenance | MaD:7 | +| main.rs:302:32:302:46 | Err(...) [Err] | main.rs:302:9:302:10 | r2 [Err] | provenance | | +| main.rs:302:36:302:45 | source(...) | main.rs:302:32:302:46 | Err(...) [Err] | provenance | | +| main.rs:304:9:304:11 | o2b [Some] | main.rs:306:10:306:21 | o2b.unwrap() | provenance | MaD:2 | +| main.rs:304:28:304:35 | r2.err() [Some] | main.rs:304:9:304:11 | o2b [Some] | provenance | | +| main.rs:310:9:310:10 | s1 [Ok] | main.rs:313:14:313:15 | s1 [Ok] | provenance | | +| main.rs:310:32:310:45 | Ok(...) [Ok] | main.rs:310:9:310:10 | s1 [Ok] | provenance | | +| main.rs:310:35:310:44 | source(...) | main.rs:310:32:310:45 | Ok(...) [Ok] | provenance | | +| main.rs:313:9:313:10 | i1 | main.rs:315:10:315:11 | i1 | provenance | | +| main.rs:313:14:313:15 | s1 [Ok] | main.rs:313:14:313:16 | TryExpr | provenance | | +| main.rs:313:14:313:16 | TryExpr | main.rs:313:9:313:10 | i1 | provenance | | +| main.rs:323:9:323:10 | s1 [Ok] | main.rs:324:10:324:22 | s1.expect(...) | provenance | MaD:8 | +| main.rs:323:32:323:45 | Ok(...) [Ok] | main.rs:323:9:323:10 | s1 [Ok] | provenance | | +| main.rs:323:35:323:44 | source(...) | main.rs:323:32:323:45 | Ok(...) [Ok] | provenance | | +| main.rs:327:9:327:10 | s2 [Err] | main.rs:329:10:329:26 | s2.expect_err(...) | provenance | MaD:9 | +| main.rs:327:32:327:46 | Err(...) [Err] | main.rs:327:9:327:10 | s2 [Err] | provenance | | +| main.rs:327:36:327:45 | source(...) | main.rs:327:32:327:46 | Err(...) [Err] | provenance | | +| main.rs:338:9:338:10 | s1 [A] | main.rs:340:11:340:12 | s1 [A] | provenance | | +| main.rs:338:14:338:39 | ...::A(...) [A] | main.rs:338:9:338:10 | s1 [A] | provenance | | +| main.rs:338:29:338:38 | source(...) | main.rs:338:14:338:39 | ...::A(...) [A] | provenance | | +| main.rs:340:11:340:12 | s1 [A] | main.rs:341:9:341:25 | ...::A(...) [A] | provenance | | +| main.rs:340:11:340:12 | s1 [A] | main.rs:344:11:344:12 | s1 [A] | provenance | | +| main.rs:341:9:341:25 | ...::A(...) [A] | main.rs:341:24:341:24 | n | provenance | | +| main.rs:341:24:341:24 | n | main.rs:341:35:341:35 | n | provenance | | +| main.rs:344:11:344:12 | s1 [A] | main.rs:345:9:345:25 | ...::A(...) [A] | provenance | | +| main.rs:345:9:345:25 | ...::A(...) [A] | main.rs:345:24:345:24 | n | provenance | | +| main.rs:345:24:345:24 | n | main.rs:345:55:345:55 | n | provenance | | +| main.rs:356:9:356:10 | s1 [A] | main.rs:358:11:358:12 | s1 [A] | provenance | | +| main.rs:356:14:356:26 | A(...) [A] | main.rs:356:9:356:10 | s1 [A] | provenance | | +| main.rs:356:16:356:25 | source(...) | main.rs:356:14:356:26 | A(...) [A] | provenance | | +| main.rs:358:11:358:12 | s1 [A] | main.rs:359:9:359:12 | A(...) [A] | provenance | | +| main.rs:358:11:358:12 | s1 [A] | main.rs:362:11:362:12 | s1 [A] | provenance | | +| main.rs:359:9:359:12 | A(...) [A] | main.rs:359:11:359:11 | n | provenance | | +| main.rs:359:11:359:11 | n | main.rs:359:22:359:22 | n | provenance | | +| main.rs:362:11:362:12 | s1 [A] | main.rs:363:9:363:12 | A(...) [A] | provenance | | +| main.rs:363:9:363:12 | A(...) [A] | main.rs:363:11:363:11 | n | provenance | | +| main.rs:363:11:363:11 | n | main.rs:363:29:363:29 | n | provenance | | +| main.rs:377:9:377:10 | s1 [C] | main.rs:381:11:381:12 | s1 [C] | provenance | | +| main.rs:377:14:379:5 | ...::C {...} [C] | main.rs:377:9:377:10 | s1 [C] | provenance | | +| main.rs:378:18:378:27 | source(...) | main.rs:377:14:379:5 | ...::C {...} [C] | provenance | | +| main.rs:381:11:381:12 | s1 [C] | main.rs:382:9:382:38 | ...::C {...} [C] | provenance | | +| main.rs:381:11:381:12 | s1 [C] | main.rs:385:11:385:12 | s1 [C] | provenance | | +| main.rs:382:9:382:38 | ...::C {...} [C] | main.rs:382:36:382:36 | n | provenance | | +| main.rs:382:36:382:36 | n | main.rs:382:48:382:48 | n | provenance | | +| main.rs:385:11:385:12 | s1 [C] | main.rs:386:9:386:38 | ...::C {...} [C] | provenance | | +| main.rs:386:9:386:38 | ...::C {...} [C] | main.rs:386:36:386:36 | n | provenance | | +| main.rs:386:36:386:36 | n | main.rs:386:81:386:81 | n | provenance | | +| main.rs:397:9:397:10 | s1 [C] | main.rs:401:11:401:12 | s1 [C] | provenance | | +| main.rs:397:14:399:5 | C {...} [C] | main.rs:397:9:397:10 | s1 [C] | provenance | | +| main.rs:398:18:398:27 | source(...) | main.rs:397:14:399:5 | C {...} [C] | provenance | | +| main.rs:401:11:401:12 | s1 [C] | main.rs:402:9:402:24 | C {...} [C] | provenance | | +| main.rs:401:11:401:12 | s1 [C] | main.rs:405:11:405:12 | s1 [C] | provenance | | +| main.rs:402:9:402:24 | C {...} [C] | main.rs:402:22:402:22 | n | provenance | | +| main.rs:402:22:402:22 | n | main.rs:402:34:402:34 | n | provenance | | +| main.rs:405:11:405:12 | s1 [C] | main.rs:406:9:406:24 | C {...} [C] | provenance | | +| main.rs:406:9:406:24 | C {...} [C] | main.rs:406:22:406:22 | n | provenance | | +| main.rs:406:22:406:22 | n | main.rs:406:53:406:53 | n | provenance | | +| main.rs:418:9:418:12 | arr1 [element] | main.rs:419:14:419:17 | arr1 [element] | provenance | | | main.rs:418:16:418:33 | [...] [element] | main.rs:418:9:418:12 | arr1 [element] | provenance | | | main.rs:418:23:418:32 | source(...) | main.rs:418:16:418:33 | [...] [element] | provenance | | -| main.rs:419:11:419:14 | arr1 [element] | main.rs:420:9:420:17 | SlicePat [element] | provenance | | -| main.rs:420:9:420:17 | SlicePat [element] | main.rs:420:10:420:10 | a | provenance | | -| main.rs:420:9:420:17 | SlicePat [element] | main.rs:420:13:420:13 | b | provenance | | -| main.rs:420:9:420:17 | SlicePat [element] | main.rs:420:16:420:16 | c | provenance | | -| main.rs:420:10:420:10 | a | main.rs:421:18:421:18 | a | provenance | | -| main.rs:420:13:420:13 | b | main.rs:422:18:422:18 | b | provenance | | -| main.rs:420:16:420:16 | c | main.rs:423:18:423:18 | c | provenance | | -| main.rs:432:5:432:11 | [post] mut_arr [element] | main.rs:433:13:433:19 | mut_arr [element] | provenance | | -| main.rs:432:5:432:11 | [post] mut_arr [element] | main.rs:435:10:435:16 | mut_arr [element] | provenance | | -| main.rs:432:18:432:27 | source(...) | main.rs:432:5:432:11 | [post] mut_arr [element] | provenance | | -| main.rs:433:9:433:9 | d | main.rs:434:10:434:10 | d | provenance | | -| main.rs:433:13:433:19 | mut_arr [element] | main.rs:433:13:433:22 | mut_arr[1] | provenance | | -| main.rs:433:13:433:22 | mut_arr[1] | main.rs:433:9:433:9 | d | provenance | | -| main.rs:435:10:435:16 | mut_arr [element] | main.rs:435:10:435:19 | mut_arr[0] | provenance | | -| main.rs:458:9:458:9 | s | main.rs:459:10:459:10 | s | provenance | | -| main.rs:458:25:458:26 | source(...) | main.rs:458:9:458:9 | s | provenance | | -| main.rs:467:9:467:9 | a | main.rs:472:10:472:10 | a | provenance | | -| main.rs:467:13:467:22 | source(...) | main.rs:467:9:467:9 | a | provenance | | -| main.rs:479:9:479:10 | vs [element] | main.rs:481:10:481:11 | vs [element] | provenance | | -| main.rs:479:9:479:10 | vs [element] | main.rs:485:14:485:15 | vs [element] | provenance | | -| main.rs:479:14:479:34 | [...] [element] | main.rs:479:9:479:10 | vs [element] | provenance | | -| main.rs:479:15:479:24 | source(...) | main.rs:479:14:479:34 | [...] [element] | provenance | | -| main.rs:481:10:481:11 | vs [element] | main.rs:481:10:481:14 | vs[0] | provenance | | -| main.rs:485:9:485:9 | v | main.rs:486:14:486:14 | v | provenance | | -| main.rs:485:14:485:15 | vs [element] | main.rs:485:9:485:9 | v | provenance | | -| main.rs:504:9:504:18 | mut vs_mut [element] | main.rs:506:10:506:15 | vs_mut [element] | provenance | | -| main.rs:504:22:504:42 | [...] [element] | main.rs:504:9:504:18 | mut vs_mut [element] | provenance | | -| main.rs:504:23:504:32 | source(...) | main.rs:504:22:504:42 | [...] [element] | provenance | | -| main.rs:506:10:506:15 | vs_mut [element] | main.rs:506:10:506:18 | vs_mut[0] | provenance | | -| main.rs:516:9:516:9 | a | main.rs:521:10:521:10 | a | provenance | | -| main.rs:516:13:516:22 | source(...) | main.rs:516:9:516:9 | a | provenance | | -| main.rs:518:9:518:9 | c | main.rs:519:18:519:18 | c | provenance | | -| main.rs:518:13:518:22 | source(...) | main.rs:518:9:518:9 | c | provenance | | -| main.rs:519:9:519:13 | c_ref [&ref] | main.rs:524:11:524:15 | c_ref [&ref] | provenance | | -| main.rs:519:17:519:18 | &c [&ref] | main.rs:519:9:519:13 | c_ref [&ref] | provenance | | -| main.rs:519:18:519:18 | c | main.rs:519:17:519:18 | &c [&ref] | provenance | | -| main.rs:524:11:524:15 | c_ref [&ref] | main.rs:524:10:524:15 | * ... | provenance | | +| main.rs:419:9:419:10 | n1 | main.rs:420:10:420:11 | n1 | provenance | | +| main.rs:419:14:419:17 | arr1 [element] | main.rs:419:14:419:20 | arr1[2] | provenance | | +| main.rs:419:14:419:20 | arr1[2] | main.rs:419:9:419:10 | n1 | provenance | | +| main.rs:422:9:422:12 | arr2 [element] | main.rs:423:14:423:17 | arr2 [element] | provenance | | +| main.rs:422:16:422:31 | [...; 10] [element] | main.rs:422:9:422:12 | arr2 [element] | provenance | | +| main.rs:422:17:422:26 | source(...) | main.rs:422:16:422:31 | [...; 10] [element] | provenance | | +| main.rs:423:9:423:10 | n2 | main.rs:424:10:424:11 | n2 | provenance | | +| main.rs:423:14:423:17 | arr2 [element] | main.rs:423:14:423:20 | arr2[4] | provenance | | +| main.rs:423:14:423:20 | arr2[4] | main.rs:423:9:423:10 | n2 | provenance | | +| main.rs:432:9:432:12 | arr1 [element] | main.rs:433:15:433:18 | arr1 [element] | provenance | | +| main.rs:432:16:432:33 | [...] [element] | main.rs:432:9:432:12 | arr1 [element] | provenance | | +| main.rs:432:23:432:32 | source(...) | main.rs:432:16:432:33 | [...] [element] | provenance | | +| main.rs:433:9:433:10 | n1 | main.rs:434:14:434:15 | n1 | provenance | | +| main.rs:433:15:433:18 | arr1 [element] | main.rs:433:9:433:10 | n1 | provenance | | +| main.rs:444:9:444:12 | arr1 [element] | main.rs:445:11:445:14 | arr1 [element] | provenance | | +| main.rs:444:16:444:33 | [...] [element] | main.rs:444:9:444:12 | arr1 [element] | provenance | | +| main.rs:444:23:444:32 | source(...) | main.rs:444:16:444:33 | [...] [element] | provenance | | +| main.rs:445:11:445:14 | arr1 [element] | main.rs:446:9:446:17 | SlicePat [element] | provenance | | +| main.rs:446:9:446:17 | SlicePat [element] | main.rs:446:10:446:10 | a | provenance | | +| main.rs:446:9:446:17 | SlicePat [element] | main.rs:446:13:446:13 | b | provenance | | +| main.rs:446:9:446:17 | SlicePat [element] | main.rs:446:16:446:16 | c | provenance | | +| main.rs:446:10:446:10 | a | main.rs:447:18:447:18 | a | provenance | | +| main.rs:446:13:446:13 | b | main.rs:448:18:448:18 | b | provenance | | +| main.rs:446:16:446:16 | c | main.rs:449:18:449:18 | c | provenance | | +| main.rs:458:5:458:11 | [post] mut_arr [element] | main.rs:459:13:459:19 | mut_arr [element] | provenance | | +| main.rs:458:5:458:11 | [post] mut_arr [element] | main.rs:461:10:461:16 | mut_arr [element] | provenance | | +| main.rs:458:18:458:27 | source(...) | main.rs:458:5:458:11 | [post] mut_arr [element] | provenance | | +| main.rs:459:9:459:9 | d | main.rs:460:10:460:10 | d | provenance | | +| main.rs:459:13:459:19 | mut_arr [element] | main.rs:459:13:459:22 | mut_arr[1] | provenance | | +| main.rs:459:13:459:22 | mut_arr[1] | main.rs:459:9:459:9 | d | provenance | | +| main.rs:461:10:461:16 | mut_arr [element] | main.rs:461:10:461:19 | mut_arr[0] | provenance | | +| main.rs:484:9:484:9 | s | main.rs:485:10:485:10 | s | provenance | | +| main.rs:484:25:484:26 | source(...) | main.rs:484:9:484:9 | s | provenance | | +| main.rs:493:9:493:9 | a | main.rs:498:10:498:10 | a | provenance | | +| main.rs:493:13:493:22 | source(...) | main.rs:493:9:493:9 | a | provenance | | +| main.rs:505:9:505:10 | vs [element] | main.rs:507:10:507:11 | vs [element] | provenance | | +| main.rs:505:9:505:10 | vs [element] | main.rs:511:14:511:15 | vs [element] | provenance | | +| main.rs:505:14:505:34 | [...] [element] | main.rs:505:9:505:10 | vs [element] | provenance | | +| main.rs:505:15:505:24 | source(...) | main.rs:505:14:505:34 | [...] [element] | provenance | | +| main.rs:507:10:507:11 | vs [element] | main.rs:507:10:507:14 | vs[0] | provenance | | +| main.rs:511:9:511:9 | v | main.rs:512:14:512:14 | v | provenance | | +| main.rs:511:14:511:15 | vs [element] | main.rs:511:9:511:9 | v | provenance | | +| main.rs:530:9:530:18 | mut vs_mut [element] | main.rs:532:10:532:15 | vs_mut [element] | provenance | | +| main.rs:530:22:530:42 | [...] [element] | main.rs:530:9:530:18 | mut vs_mut [element] | provenance | | +| main.rs:530:23:530:32 | source(...) | main.rs:530:22:530:42 | [...] [element] | provenance | | +| main.rs:532:10:532:15 | vs_mut [element] | main.rs:532:10:532:18 | vs_mut[0] | provenance | | +| main.rs:542:9:542:9 | a | main.rs:547:10:547:10 | a | provenance | | +| main.rs:542:13:542:22 | source(...) | main.rs:542:9:542:9 | a | provenance | | +| main.rs:544:9:544:9 | c | main.rs:545:18:545:18 | c | provenance | | +| main.rs:544:13:544:22 | source(...) | main.rs:544:9:544:9 | c | provenance | | +| main.rs:545:9:545:13 | c_ref [&ref] | main.rs:550:11:550:15 | c_ref [&ref] | provenance | | +| main.rs:545:17:545:18 | &c [&ref] | main.rs:545:9:545:13 | c_ref [&ref] | provenance | | +| main.rs:545:18:545:18 | c | main.rs:545:17:545:18 | &c [&ref] | provenance | | +| main.rs:550:11:550:15 | c_ref [&ref] | main.rs:550:10:550:15 | * ... | provenance | | nodes -| main.rs:18:10:18:18 | source(...) | semmle.label | source(...) | -| main.rs:22:9:22:9 | s | semmle.label | s | -| main.rs:22:13:22:21 | source(...) | semmle.label | source(...) | -| main.rs:23:10:23:10 | s | semmle.label | s | -| main.rs:27:9:27:9 | a | semmle.label | a | -| main.rs:27:13:27:21 | source(...) | semmle.label | source(...) | -| main.rs:29:9:29:9 | c | semmle.label | c | -| main.rs:30:10:30:10 | c | semmle.label | c | -| main.rs:34:9:34:9 | a | semmle.label | a | -| main.rs:34:13:34:21 | source(...) | semmle.label | source(...) | -| main.rs:35:9:35:9 | b | semmle.label | b | -| main.rs:39:10:39:10 | b | semmle.label | b | -| main.rs:47:9:47:9 | b | semmle.label | b | -| main.rs:48:15:48:23 | source(...) | semmle.label | source(...) | -| main.rs:50:10:50:10 | b | semmle.label | b | -| main.rs:56:5:56:5 | i | semmle.label | i | -| main.rs:56:9:56:17 | source(...) | semmle.label | source(...) | -| main.rs:57:10:57:10 | i | semmle.label | i | -| main.rs:89:9:89:9 | i [&ref] | semmle.label | i [&ref] | -| main.rs:89:13:89:31 | ...::new(...) [&ref] | semmle.label | ...::new(...) [&ref] | -| main.rs:89:22:89:30 | source(...) | semmle.label | source(...) | -| main.rs:90:10:90:11 | * ... | semmle.label | * ... | -| main.rs:90:11:90:11 | i [&ref] | semmle.label | i [&ref] | -| main.rs:97:9:97:9 | a [tuple.0] | semmle.label | a [tuple.0] | -| main.rs:97:13:97:26 | TupleExpr [tuple.0] | semmle.label | TupleExpr [tuple.0] | -| main.rs:97:14:97:22 | source(...) | semmle.label | source(...) | -| main.rs:98:10:98:10 | a [tuple.0] | semmle.label | a [tuple.0] | -| main.rs:98:10:98:12 | a.0 | semmle.label | a.0 | -| main.rs:103:9:103:9 | a [tuple.1] | semmle.label | a [tuple.1] | -| main.rs:103:13:103:30 | TupleExpr [tuple.1] | semmle.label | TupleExpr [tuple.1] | -| main.rs:103:17:103:26 | source(...) | semmle.label | source(...) | -| main.rs:104:9:104:20 | TuplePat [tuple.1] | semmle.label | TuplePat [tuple.1] | -| main.rs:104:14:104:15 | a1 | semmle.label | a1 | -| main.rs:106:10:106:11 | a1 | semmle.label | a1 | -| main.rs:111:9:111:13 | mut a [tuple.1] | semmle.label | mut a [tuple.1] | -| main.rs:111:17:111:31 | TupleExpr [tuple.1] | semmle.label | TupleExpr [tuple.1] | -| main.rs:111:21:111:30 | source(...) | semmle.label | source(...) | -| main.rs:113:10:113:10 | a [tuple.1] | semmle.label | a [tuple.1] | -| main.rs:113:10:113:12 | a.1 | semmle.label | a.1 | -| main.rs:114:5:114:5 | [post] a [tuple.0] | semmle.label | [post] a [tuple.0] | -| main.rs:114:11:114:20 | source(...) | semmle.label | source(...) | -| main.rs:115:5:115:5 | a [tuple.0] | semmle.label | a [tuple.0] | -| main.rs:116:10:116:10 | a [tuple.0] | semmle.label | a [tuple.0] | -| main.rs:116:10:116:12 | a.0 | semmle.label | a.0 | -| main.rs:121:9:121:9 | a [tuple.1] | semmle.label | a [tuple.1] | -| main.rs:121:13:121:27 | TupleExpr [tuple.1] | semmle.label | TupleExpr [tuple.1] | -| main.rs:121:17:121:26 | source(...) | semmle.label | source(...) | -| main.rs:122:9:122:9 | b [tuple.0, tuple.1] | semmle.label | b [tuple.0, tuple.1] | -| main.rs:122:13:122:18 | TupleExpr [tuple.0, tuple.1] | semmle.label | TupleExpr [tuple.0, tuple.1] | -| main.rs:122:14:122:14 | a [tuple.1] | semmle.label | a [tuple.1] | -| main.rs:124:10:124:10 | b [tuple.0, tuple.1] | semmle.label | b [tuple.0, tuple.1] | -| main.rs:124:10:124:12 | b.0 [tuple.1] | semmle.label | b.0 [tuple.1] | -| main.rs:124:10:124:15 | ... .1 | semmle.label | ... .1 | -| main.rs:137:9:137:9 | p [Point.x] | semmle.label | p [Point.x] | -| main.rs:137:13:137:40 | Point {...} [Point.x] | semmle.label | Point {...} [Point.x] | -| main.rs:137:24:137:32 | source(...) | semmle.label | source(...) | -| main.rs:138:10:138:10 | p [Point.x] | semmle.label | p [Point.x] | -| main.rs:138:10:138:12 | p.x | semmle.label | p.x | -| main.rs:145:5:145:5 | [post] p [Point.y] | semmle.label | [post] p [Point.y] | -| main.rs:145:11:145:20 | source(...) | semmle.label | source(...) | -| main.rs:146:10:146:10 | p [Point.y] | semmle.label | p [Point.y] | -| main.rs:146:10:146:12 | p.y | semmle.label | p.y | -| main.rs:150:9:150:9 | p [Point.x] | semmle.label | p [Point.x] | -| main.rs:150:13:153:5 | Point {...} [Point.x] | semmle.label | Point {...} [Point.x] | -| main.rs:151:12:151:21 | source(...) | semmle.label | source(...) | -| main.rs:154:9:154:28 | Point {...} [Point.x] | semmle.label | Point {...} [Point.x] | -| main.rs:154:20:154:20 | a | semmle.label | a | -| main.rs:155:10:155:10 | a | semmle.label | a | -| main.rs:165:9:165:9 | p [Point3D.plane, Point.y] | semmle.label | p [Point3D.plane, Point.y] | -| main.rs:165:13:171:5 | Point3D {...} [Point3D.plane, Point.y] | semmle.label | Point3D {...} [Point3D.plane, Point.y] | -| main.rs:166:16:169:9 | Point {...} [Point.y] | semmle.label | Point {...} [Point.y] | -| main.rs:168:16:168:25 | source(...) | semmle.label | source(...) | -| main.rs:173:10:173:10 | p [Point3D.plane, Point.y] | semmle.label | p [Point3D.plane, Point.y] | -| main.rs:173:10:173:16 | p.plane [Point.y] | semmle.label | p.plane [Point.y] | -| main.rs:173:10:173:18 | ... .y | semmle.label | ... .y | -| main.rs:178:9:178:9 | y | semmle.label | y | -| main.rs:178:13:178:22 | source(...) | semmle.label | source(...) | +| main.rs:19:10:19:18 | source(...) | semmle.label | source(...) | +| main.rs:23:9:23:9 | s | semmle.label | s | +| main.rs:23:13:23:21 | source(...) | semmle.label | source(...) | +| main.rs:24:10:24:10 | s | semmle.label | s | +| main.rs:26:12:26:12 | x | semmle.label | x | +| main.rs:27:14:27:14 | x | semmle.label | x | +| main.rs:30:12:30:12 | x | semmle.label | x | +| main.rs:32:18:32:18 | x | semmle.label | x | +| main.rs:36:14:36:14 | x | semmle.label | x | +| main.rs:41:9:41:9 | a | semmle.label | a | +| main.rs:41:13:41:21 | source(...) | semmle.label | source(...) | +| main.rs:43:9:43:9 | c | semmle.label | c | +| main.rs:44:10:44:10 | c | semmle.label | c | +| main.rs:48:9:48:9 | a | semmle.label | a | +| main.rs:48:13:48:21 | source(...) | semmle.label | source(...) | +| main.rs:49:9:49:9 | b | semmle.label | b | +| main.rs:53:10:53:10 | b | semmle.label | b | +| main.rs:61:9:61:9 | b | semmle.label | b | +| main.rs:62:15:62:23 | source(...) | semmle.label | source(...) | +| main.rs:64:10:64:10 | b | semmle.label | b | +| main.rs:70:5:70:5 | i | semmle.label | i | +| main.rs:70:9:70:17 | source(...) | semmle.label | source(...) | +| main.rs:71:10:71:10 | i | semmle.label | i | +| main.rs:103:9:103:9 | i [&ref] | semmle.label | i [&ref] | +| main.rs:103:13:103:31 | ...::new(...) [&ref] | semmle.label | ...::new(...) [&ref] | +| main.rs:103:22:103:30 | source(...) | semmle.label | source(...) | +| main.rs:104:10:104:11 | * ... | semmle.label | * ... | +| main.rs:104:11:104:11 | i [&ref] | semmle.label | i [&ref] | +| main.rs:111:9:111:9 | a [tuple.0] | semmle.label | a [tuple.0] | +| main.rs:111:13:111:26 | TupleExpr [tuple.0] | semmle.label | TupleExpr [tuple.0] | +| main.rs:111:14:111:22 | source(...) | semmle.label | source(...) | +| main.rs:112:10:112:10 | a [tuple.0] | semmle.label | a [tuple.0] | +| main.rs:112:10:112:12 | a.0 | semmle.label | a.0 | +| main.rs:117:9:117:9 | a [tuple.1] | semmle.label | a [tuple.1] | +| main.rs:117:13:117:30 | TupleExpr [tuple.1] | semmle.label | TupleExpr [tuple.1] | +| main.rs:117:17:117:26 | source(...) | semmle.label | source(...) | +| main.rs:118:9:118:20 | TuplePat [tuple.1] | semmle.label | TuplePat [tuple.1] | +| main.rs:118:14:118:15 | a1 | semmle.label | a1 | +| main.rs:120:10:120:11 | a1 | semmle.label | a1 | +| main.rs:125:9:125:13 | mut a [tuple.1] | semmle.label | mut a [tuple.1] | +| main.rs:125:17:125:31 | TupleExpr [tuple.1] | semmle.label | TupleExpr [tuple.1] | +| main.rs:125:21:125:30 | source(...) | semmle.label | source(...) | +| main.rs:127:10:127:10 | a [tuple.1] | semmle.label | a [tuple.1] | +| main.rs:127:10:127:12 | a.1 | semmle.label | a.1 | +| main.rs:128:5:128:5 | [post] a [tuple.0] | semmle.label | [post] a [tuple.0] | +| main.rs:128:11:128:20 | source(...) | semmle.label | source(...) | +| main.rs:129:5:129:5 | a [tuple.0] | semmle.label | a [tuple.0] | +| main.rs:130:10:130:10 | a [tuple.0] | semmle.label | a [tuple.0] | +| main.rs:130:10:130:12 | a.0 | semmle.label | a.0 | +| main.rs:135:9:135:9 | a [tuple.1] | semmle.label | a [tuple.1] | +| main.rs:135:13:135:27 | TupleExpr [tuple.1] | semmle.label | TupleExpr [tuple.1] | +| main.rs:135:17:135:26 | source(...) | semmle.label | source(...) | +| main.rs:136:9:136:9 | b [tuple.0, tuple.1] | semmle.label | b [tuple.0, tuple.1] | +| main.rs:136:13:136:18 | TupleExpr [tuple.0, tuple.1] | semmle.label | TupleExpr [tuple.0, tuple.1] | +| main.rs:136:14:136:14 | a [tuple.1] | semmle.label | a [tuple.1] | +| main.rs:138:10:138:10 | b [tuple.0, tuple.1] | semmle.label | b [tuple.0, tuple.1] | +| main.rs:138:10:138:12 | b.0 [tuple.1] | semmle.label | b.0 [tuple.1] | +| main.rs:138:10:138:15 | ... .1 | semmle.label | ... .1 | +| main.rs:151:9:151:9 | p [Point.x] | semmle.label | p [Point.x] | +| main.rs:151:13:151:40 | Point {...} [Point.x] | semmle.label | Point {...} [Point.x] | +| main.rs:151:24:151:32 | source(...) | semmle.label | source(...) | +| main.rs:152:10:152:10 | p [Point.x] | semmle.label | p [Point.x] | +| main.rs:152:10:152:12 | p.x | semmle.label | p.x | +| main.rs:159:5:159:5 | [post] p [Point.y] | semmle.label | [post] p [Point.y] | +| main.rs:159:11:159:20 | source(...) | semmle.label | source(...) | +| main.rs:160:10:160:10 | p [Point.y] | semmle.label | p [Point.y] | +| main.rs:160:10:160:12 | p.y | semmle.label | p.y | +| main.rs:164:9:164:9 | p [Point.x] | semmle.label | p [Point.x] | +| main.rs:164:13:167:5 | Point {...} [Point.x] | semmle.label | Point {...} [Point.x] | +| main.rs:165:12:165:21 | source(...) | semmle.label | source(...) | +| main.rs:168:9:168:28 | Point {...} [Point.x] | semmle.label | Point {...} [Point.x] | +| main.rs:168:20:168:20 | a | semmle.label | a | +| main.rs:169:10:169:10 | a | semmle.label | a | | main.rs:179:9:179:9 | p [Point3D.plane, Point.y] | semmle.label | p [Point3D.plane, Point.y] | -| main.rs:179:13:182:5 | Point3D {...} [Point3D.plane, Point.y] | semmle.label | Point3D {...} [Point3D.plane, Point.y] | -| main.rs:180:16:180:32 | Point {...} [Point.y] | semmle.label | Point {...} [Point.y] | -| main.rs:180:30:180:30 | y | semmle.label | y | -| main.rs:183:11:183:11 | p [Point3D.plane, Point.y] | semmle.label | p [Point3D.plane, Point.y] | -| main.rs:184:9:187:9 | Point3D {...} [Point3D.plane, Point.y] | semmle.label | Point3D {...} [Point3D.plane, Point.y] | -| main.rs:185:20:185:33 | Point {...} [Point.y] | semmle.label | Point {...} [Point.y] | -| main.rs:185:31:185:31 | y | semmle.label | y | -| main.rs:189:18:189:18 | y | semmle.label | y | -| main.rs:198:9:198:9 | s [MyTupleStruct(0)] | semmle.label | s [MyTupleStruct(0)] | -| main.rs:198:13:198:40 | MyTupleStruct(...) [MyTupleStruct(0)] | semmle.label | MyTupleStruct(...) [MyTupleStruct(0)] | -| main.rs:198:27:198:36 | source(...) | semmle.label | source(...) | -| main.rs:199:10:199:10 | s [MyTupleStruct(0)] | semmle.label | s [MyTupleStruct(0)] | -| main.rs:199:10:199:12 | s.0 | semmle.label | s.0 | -| main.rs:202:11:202:11 | s [MyTupleStruct(0)] | semmle.label | s [MyTupleStruct(0)] | -| main.rs:203:9:203:27 | MyTupleStruct(...) [MyTupleStruct(0)] | semmle.label | MyTupleStruct(...) [MyTupleStruct(0)] | -| main.rs:203:23:203:23 | x | semmle.label | x | -| main.rs:204:18:204:18 | x | semmle.label | x | -| main.rs:214:9:214:10 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:214:14:214:37 | ...::Some(...) [Some] | semmle.label | ...::Some(...) [Some] | -| main.rs:214:27:214:36 | source(...) | semmle.label | source(...) | -| main.rs:216:11:216:12 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:217:9:217:23 | ...::Some(...) [Some] | semmle.label | ...::Some(...) [Some] | -| main.rs:217:22:217:22 | n | semmle.label | n | -| main.rs:217:33:217:33 | n | semmle.label | n | -| main.rs:227:9:227:10 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:227:14:227:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | -| main.rs:227:19:227:28 | source(...) | semmle.label | source(...) | -| main.rs:229:11:229:12 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:230:9:230:15 | Some(...) [Some] | semmle.label | Some(...) [Some] | -| main.rs:230:14:230:14 | n | semmle.label | n | -| main.rs:230:25:230:25 | n | semmle.label | n | -| main.rs:240:9:240:10 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:240:14:240:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | -| main.rs:240:19:240:28 | source(...) | semmle.label | source(...) | -| main.rs:241:10:241:20 | s1.unwrap() | semmle.label | s1.unwrap() | -| main.rs:245:9:245:10 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:245:14:245:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | -| main.rs:245:19:245:28 | source(...) | semmle.label | source(...) | -| main.rs:246:10:246:24 | s1.unwrap_or(...) | semmle.label | s1.unwrap_or(...) | -| main.rs:249:10:249:33 | s2.unwrap_or(...) | semmle.label | s2.unwrap_or(...) | -| main.rs:249:23:249:32 | source(...) | semmle.label | source(...) | -| main.rs:253:9:253:10 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:253:14:253:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | -| main.rs:253:19:253:28 | source(...) | semmle.label | source(...) | -| main.rs:254:10:254:32 | s1.unwrap_or_else(...) | semmle.label | s1.unwrap_or_else(...) | -| main.rs:257:10:257:41 | s2.unwrap_or_else(...) | semmle.label | s2.unwrap_or_else(...) | -| main.rs:257:31:257:40 | source(...) | semmle.label | source(...) | -| main.rs:261:9:261:10 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:261:14:261:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | -| main.rs:261:19:261:28 | source(...) | semmle.label | source(...) | -| main.rs:263:9:263:10 | i1 | semmle.label | i1 | -| main.rs:263:14:263:15 | s1 [Some] | semmle.label | s1 [Some] | -| main.rs:263:14:263:16 | TryExpr | semmle.label | TryExpr | -| main.rs:264:10:264:11 | i1 | semmle.label | i1 | -| main.rs:270:9:270:10 | r1 [Ok] | semmle.label | r1 [Ok] | -| main.rs:270:32:270:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | -| main.rs:270:35:270:44 | source(...) | semmle.label | source(...) | -| main.rs:271:9:271:11 | o1a [Some] | semmle.label | o1a [Some] | -| main.rs:271:28:271:34 | r1.ok() [Some] | semmle.label | r1.ok() [Some] | -| main.rs:273:10:273:21 | o1a.unwrap() | semmle.label | o1a.unwrap() | -| main.rs:276:9:276:10 | r2 [Err] | semmle.label | r2 [Err] | -| main.rs:276:32:276:46 | Err(...) [Err] | semmle.label | Err(...) [Err] | -| main.rs:276:36:276:45 | source(...) | semmle.label | source(...) | -| main.rs:278:9:278:11 | o2b [Some] | semmle.label | o2b [Some] | -| main.rs:278:28:278:35 | r2.err() [Some] | semmle.label | r2.err() [Some] | -| main.rs:280:10:280:21 | o2b.unwrap() | semmle.label | o2b.unwrap() | -| main.rs:284:9:284:10 | s1 [Ok] | semmle.label | s1 [Ok] | -| main.rs:284:32:284:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | -| main.rs:284:35:284:44 | source(...) | semmle.label | source(...) | -| main.rs:287:9:287:10 | i1 | semmle.label | i1 | -| main.rs:287:14:287:15 | s1 [Ok] | semmle.label | s1 [Ok] | -| main.rs:287:14:287:16 | TryExpr | semmle.label | TryExpr | -| main.rs:289:10:289:11 | i1 | semmle.label | i1 | -| main.rs:297:9:297:10 | s1 [Ok] | semmle.label | s1 [Ok] | -| main.rs:297:32:297:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | -| main.rs:297:35:297:44 | source(...) | semmle.label | source(...) | -| main.rs:298:10:298:22 | s1.expect(...) | semmle.label | s1.expect(...) | -| main.rs:301:9:301:10 | s2 [Err] | semmle.label | s2 [Err] | -| main.rs:301:32:301:46 | Err(...) [Err] | semmle.label | Err(...) [Err] | -| main.rs:301:36:301:45 | source(...) | semmle.label | source(...) | -| main.rs:303:10:303:26 | s2.expect_err(...) | semmle.label | s2.expect_err(...) | -| main.rs:312:9:312:10 | s1 [A] | semmle.label | s1 [A] | -| main.rs:312:14:312:39 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | -| main.rs:312:29:312:38 | source(...) | semmle.label | source(...) | -| main.rs:314:11:314:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:315:9:315:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | -| main.rs:315:24:315:24 | n | semmle.label | n | -| main.rs:315:35:315:35 | n | semmle.label | n | -| main.rs:318:11:318:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:319:9:319:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | -| main.rs:319:24:319:24 | n | semmle.label | n | -| main.rs:319:55:319:55 | n | semmle.label | n | -| main.rs:330:9:330:10 | s1 [A] | semmle.label | s1 [A] | -| main.rs:330:14:330:26 | A(...) [A] | semmle.label | A(...) [A] | -| main.rs:330:16:330:25 | source(...) | semmle.label | source(...) | -| main.rs:332:11:332:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:333:9:333:12 | A(...) [A] | semmle.label | A(...) [A] | -| main.rs:333:11:333:11 | n | semmle.label | n | -| main.rs:333:22:333:22 | n | semmle.label | n | -| main.rs:336:11:336:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:337:9:337:12 | A(...) [A] | semmle.label | A(...) [A] | -| main.rs:337:11:337:11 | n | semmle.label | n | -| main.rs:337:29:337:29 | n | semmle.label | n | -| main.rs:351:9:351:10 | s1 [C] | semmle.label | s1 [C] | -| main.rs:351:14:353:5 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | -| main.rs:352:18:352:27 | source(...) | semmle.label | source(...) | -| main.rs:355:11:355:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:356:9:356:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | -| main.rs:356:36:356:36 | n | semmle.label | n | -| main.rs:356:48:356:48 | n | semmle.label | n | -| main.rs:359:11:359:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:360:9:360:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | -| main.rs:360:36:360:36 | n | semmle.label | n | -| main.rs:360:81:360:81 | n | semmle.label | n | -| main.rs:371:9:371:10 | s1 [C] | semmle.label | s1 [C] | -| main.rs:371:14:373:5 | C {...} [C] | semmle.label | C {...} [C] | -| main.rs:372:18:372:27 | source(...) | semmle.label | source(...) | -| main.rs:375:11:375:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:376:9:376:24 | C {...} [C] | semmle.label | C {...} [C] | -| main.rs:376:22:376:22 | n | semmle.label | n | -| main.rs:376:34:376:34 | n | semmle.label | n | -| main.rs:379:11:379:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:380:9:380:24 | C {...} [C] | semmle.label | C {...} [C] | -| main.rs:380:22:380:22 | n | semmle.label | n | -| main.rs:380:53:380:53 | n | semmle.label | n | -| main.rs:392:9:392:12 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:392:16:392:33 | [...] [element] | semmle.label | [...] [element] | -| main.rs:392:23:392:32 | source(...) | semmle.label | source(...) | -| main.rs:393:9:393:10 | n1 | semmle.label | n1 | -| main.rs:393:14:393:17 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:393:14:393:20 | arr1[2] | semmle.label | arr1[2] | -| main.rs:394:10:394:11 | n1 | semmle.label | n1 | -| main.rs:396:9:396:12 | arr2 [element] | semmle.label | arr2 [element] | -| main.rs:396:16:396:31 | [...; 10] [element] | semmle.label | [...; 10] [element] | -| main.rs:396:17:396:26 | source(...) | semmle.label | source(...) | -| main.rs:397:9:397:10 | n2 | semmle.label | n2 | -| main.rs:397:14:397:17 | arr2 [element] | semmle.label | arr2 [element] | -| main.rs:397:14:397:20 | arr2[4] | semmle.label | arr2[4] | -| main.rs:398:10:398:11 | n2 | semmle.label | n2 | -| main.rs:406:9:406:12 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:406:16:406:33 | [...] [element] | semmle.label | [...] [element] | -| main.rs:406:23:406:32 | source(...) | semmle.label | source(...) | -| main.rs:407:9:407:10 | n1 | semmle.label | n1 | -| main.rs:407:15:407:18 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:408:14:408:15 | n1 | semmle.label | n1 | +| main.rs:179:13:185:5 | Point3D {...} [Point3D.plane, Point.y] | semmle.label | Point3D {...} [Point3D.plane, Point.y] | +| main.rs:180:16:183:9 | Point {...} [Point.y] | semmle.label | Point {...} [Point.y] | +| main.rs:182:16:182:25 | source(...) | semmle.label | source(...) | +| main.rs:187:10:187:10 | p [Point3D.plane, Point.y] | semmle.label | p [Point3D.plane, Point.y] | +| main.rs:187:10:187:16 | p.plane [Point.y] | semmle.label | p.plane [Point.y] | +| main.rs:187:10:187:18 | ... .y | semmle.label | ... .y | +| main.rs:192:9:192:9 | y | semmle.label | y | +| main.rs:192:13:192:22 | source(...) | semmle.label | source(...) | +| main.rs:193:9:193:9 | p [Point3D.plane, Point.y] | semmle.label | p [Point3D.plane, Point.y] | +| main.rs:193:13:196:5 | Point3D {...} [Point3D.plane, Point.y] | semmle.label | Point3D {...} [Point3D.plane, Point.y] | +| main.rs:194:16:194:32 | Point {...} [Point.y] | semmle.label | Point {...} [Point.y] | +| main.rs:194:30:194:30 | y | semmle.label | y | +| main.rs:197:11:197:11 | p [Point3D.plane, Point.y] | semmle.label | p [Point3D.plane, Point.y] | +| main.rs:198:9:201:9 | Point3D {...} [Point3D.plane, Point.y] | semmle.label | Point3D {...} [Point3D.plane, Point.y] | +| main.rs:199:20:199:33 | Point {...} [Point.y] | semmle.label | Point {...} [Point.y] | +| main.rs:199:31:199:31 | y | semmle.label | y | +| main.rs:203:18:203:18 | y | semmle.label | y | +| main.rs:212:9:212:9 | s [MyTupleStruct(0)] | semmle.label | s [MyTupleStruct(0)] | +| main.rs:212:13:212:40 | MyTupleStruct(...) [MyTupleStruct(0)] | semmle.label | MyTupleStruct(...) [MyTupleStruct(0)] | +| main.rs:212:27:212:36 | source(...) | semmle.label | source(...) | +| main.rs:213:10:213:10 | s [MyTupleStruct(0)] | semmle.label | s [MyTupleStruct(0)] | +| main.rs:213:10:213:12 | s.0 | semmle.label | s.0 | +| main.rs:216:11:216:11 | s [MyTupleStruct(0)] | semmle.label | s [MyTupleStruct(0)] | +| main.rs:217:9:217:27 | MyTupleStruct(...) [MyTupleStruct(0)] | semmle.label | MyTupleStruct(...) [MyTupleStruct(0)] | +| main.rs:217:23:217:23 | x | semmle.label | x | +| main.rs:218:18:218:18 | x | semmle.label | x | +| main.rs:228:9:228:10 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:228:14:228:37 | ...::Some(...) [Some] | semmle.label | ...::Some(...) [Some] | +| main.rs:228:27:228:36 | source(...) | semmle.label | source(...) | +| main.rs:230:11:230:12 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:231:9:231:23 | ...::Some(...) [Some] | semmle.label | ...::Some(...) [Some] | +| main.rs:231:22:231:22 | n | semmle.label | n | +| main.rs:231:33:231:33 | n | semmle.label | n | +| main.rs:241:9:241:10 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:241:14:241:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:241:19:241:28 | source(...) | semmle.label | source(...) | +| main.rs:243:11:243:12 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:244:9:244:15 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:244:14:244:14 | n | semmle.label | n | +| main.rs:244:25:244:25 | n | semmle.label | n | +| main.rs:254:9:254:10 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:254:14:254:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:254:19:254:28 | source(...) | semmle.label | source(...) | +| main.rs:255:12:255:18 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:255:17:255:17 | n | semmle.label | n | +| main.rs:257:18:257:18 | n | semmle.label | n | +| main.rs:261:14:261:14 | n | semmle.label | n | +| main.rs:266:9:266:10 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:266:14:266:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:266:19:266:28 | source(...) | semmle.label | source(...) | +| main.rs:267:10:267:20 | s1.unwrap() | semmle.label | s1.unwrap() | +| main.rs:271:9:271:10 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:271:14:271:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:271:19:271:28 | source(...) | semmle.label | source(...) | +| main.rs:272:10:272:24 | s1.unwrap_or(...) | semmle.label | s1.unwrap_or(...) | +| main.rs:275:10:275:33 | s2.unwrap_or(...) | semmle.label | s2.unwrap_or(...) | +| main.rs:275:23:275:32 | source(...) | semmle.label | source(...) | +| main.rs:279:9:279:10 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:279:14:279:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:279:19:279:28 | source(...) | semmle.label | source(...) | +| main.rs:280:10:280:32 | s1.unwrap_or_else(...) | semmle.label | s1.unwrap_or_else(...) | +| main.rs:283:10:283:41 | s2.unwrap_or_else(...) | semmle.label | s2.unwrap_or_else(...) | +| main.rs:283:31:283:40 | source(...) | semmle.label | source(...) | +| main.rs:287:9:287:10 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:287:14:287:29 | Some(...) [Some] | semmle.label | Some(...) [Some] | +| main.rs:287:19:287:28 | source(...) | semmle.label | source(...) | +| main.rs:289:9:289:10 | i1 | semmle.label | i1 | +| main.rs:289:14:289:15 | s1 [Some] | semmle.label | s1 [Some] | +| main.rs:289:14:289:16 | TryExpr | semmle.label | TryExpr | +| main.rs:290:10:290:11 | i1 | semmle.label | i1 | +| main.rs:296:9:296:10 | r1 [Ok] | semmle.label | r1 [Ok] | +| main.rs:296:32:296:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | +| main.rs:296:35:296:44 | source(...) | semmle.label | source(...) | +| main.rs:297:9:297:11 | o1a [Some] | semmle.label | o1a [Some] | +| main.rs:297:28:297:34 | r1.ok() [Some] | semmle.label | r1.ok() [Some] | +| main.rs:299:10:299:21 | o1a.unwrap() | semmle.label | o1a.unwrap() | +| main.rs:302:9:302:10 | r2 [Err] | semmle.label | r2 [Err] | +| main.rs:302:32:302:46 | Err(...) [Err] | semmle.label | Err(...) [Err] | +| main.rs:302:36:302:45 | source(...) | semmle.label | source(...) | +| main.rs:304:9:304:11 | o2b [Some] | semmle.label | o2b [Some] | +| main.rs:304:28:304:35 | r2.err() [Some] | semmle.label | r2.err() [Some] | +| main.rs:306:10:306:21 | o2b.unwrap() | semmle.label | o2b.unwrap() | +| main.rs:310:9:310:10 | s1 [Ok] | semmle.label | s1 [Ok] | +| main.rs:310:32:310:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | +| main.rs:310:35:310:44 | source(...) | semmle.label | source(...) | +| main.rs:313:9:313:10 | i1 | semmle.label | i1 | +| main.rs:313:14:313:15 | s1 [Ok] | semmle.label | s1 [Ok] | +| main.rs:313:14:313:16 | TryExpr | semmle.label | TryExpr | +| main.rs:315:10:315:11 | i1 | semmle.label | i1 | +| main.rs:323:9:323:10 | s1 [Ok] | semmle.label | s1 [Ok] | +| main.rs:323:32:323:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | +| main.rs:323:35:323:44 | source(...) | semmle.label | source(...) | +| main.rs:324:10:324:22 | s1.expect(...) | semmle.label | s1.expect(...) | +| main.rs:327:9:327:10 | s2 [Err] | semmle.label | s2 [Err] | +| main.rs:327:32:327:46 | Err(...) [Err] | semmle.label | Err(...) [Err] | +| main.rs:327:36:327:45 | source(...) | semmle.label | source(...) | +| main.rs:329:10:329:26 | s2.expect_err(...) | semmle.label | s2.expect_err(...) | +| main.rs:338:9:338:10 | s1 [A] | semmle.label | s1 [A] | +| main.rs:338:14:338:39 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | +| main.rs:338:29:338:38 | source(...) | semmle.label | source(...) | +| main.rs:340:11:340:12 | s1 [A] | semmle.label | s1 [A] | +| main.rs:341:9:341:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | +| main.rs:341:24:341:24 | n | semmle.label | n | +| main.rs:341:35:341:35 | n | semmle.label | n | +| main.rs:344:11:344:12 | s1 [A] | semmle.label | s1 [A] | +| main.rs:345:9:345:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | +| main.rs:345:24:345:24 | n | semmle.label | n | +| main.rs:345:55:345:55 | n | semmle.label | n | +| main.rs:356:9:356:10 | s1 [A] | semmle.label | s1 [A] | +| main.rs:356:14:356:26 | A(...) [A] | semmle.label | A(...) [A] | +| main.rs:356:16:356:25 | source(...) | semmle.label | source(...) | +| main.rs:358:11:358:12 | s1 [A] | semmle.label | s1 [A] | +| main.rs:359:9:359:12 | A(...) [A] | semmle.label | A(...) [A] | +| main.rs:359:11:359:11 | n | semmle.label | n | +| main.rs:359:22:359:22 | n | semmle.label | n | +| main.rs:362:11:362:12 | s1 [A] | semmle.label | s1 [A] | +| main.rs:363:9:363:12 | A(...) [A] | semmle.label | A(...) [A] | +| main.rs:363:11:363:11 | n | semmle.label | n | +| main.rs:363:29:363:29 | n | semmle.label | n | +| main.rs:377:9:377:10 | s1 [C] | semmle.label | s1 [C] | +| main.rs:377:14:379:5 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | +| main.rs:378:18:378:27 | source(...) | semmle.label | source(...) | +| main.rs:381:11:381:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:382:9:382:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | +| main.rs:382:36:382:36 | n | semmle.label | n | +| main.rs:382:48:382:48 | n | semmle.label | n | +| main.rs:385:11:385:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:386:9:386:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | +| main.rs:386:36:386:36 | n | semmle.label | n | +| main.rs:386:81:386:81 | n | semmle.label | n | +| main.rs:397:9:397:10 | s1 [C] | semmle.label | s1 [C] | +| main.rs:397:14:399:5 | C {...} [C] | semmle.label | C {...} [C] | +| main.rs:398:18:398:27 | source(...) | semmle.label | source(...) | +| main.rs:401:11:401:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:402:9:402:24 | C {...} [C] | semmle.label | C {...} [C] | +| main.rs:402:22:402:22 | n | semmle.label | n | +| main.rs:402:34:402:34 | n | semmle.label | n | +| main.rs:405:11:405:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:406:9:406:24 | C {...} [C] | semmle.label | C {...} [C] | +| main.rs:406:22:406:22 | n | semmle.label | n | +| main.rs:406:53:406:53 | n | semmle.label | n | | main.rs:418:9:418:12 | arr1 [element] | semmle.label | arr1 [element] | | main.rs:418:16:418:33 | [...] [element] | semmle.label | [...] [element] | | main.rs:418:23:418:32 | source(...) | semmle.label | source(...) | -| main.rs:419:11:419:14 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:420:9:420:17 | SlicePat [element] | semmle.label | SlicePat [element] | -| main.rs:420:10:420:10 | a | semmle.label | a | -| main.rs:420:13:420:13 | b | semmle.label | b | -| main.rs:420:16:420:16 | c | semmle.label | c | -| main.rs:421:18:421:18 | a | semmle.label | a | -| main.rs:422:18:422:18 | b | semmle.label | b | -| main.rs:423:18:423:18 | c | semmle.label | c | -| main.rs:432:5:432:11 | [post] mut_arr [element] | semmle.label | [post] mut_arr [element] | -| main.rs:432:18:432:27 | source(...) | semmle.label | source(...) | -| main.rs:433:9:433:9 | d | semmle.label | d | -| main.rs:433:13:433:19 | mut_arr [element] | semmle.label | mut_arr [element] | -| main.rs:433:13:433:22 | mut_arr[1] | semmle.label | mut_arr[1] | -| main.rs:434:10:434:10 | d | semmle.label | d | -| main.rs:435:10:435:16 | mut_arr [element] | semmle.label | mut_arr [element] | -| main.rs:435:10:435:19 | mut_arr[0] | semmle.label | mut_arr[0] | -| main.rs:458:9:458:9 | s | semmle.label | s | -| main.rs:458:25:458:26 | source(...) | semmle.label | source(...) | -| main.rs:459:10:459:10 | s | semmle.label | s | -| main.rs:467:9:467:9 | a | semmle.label | a | -| main.rs:467:13:467:22 | source(...) | semmle.label | source(...) | -| main.rs:472:10:472:10 | a | semmle.label | a | -| main.rs:479:9:479:10 | vs [element] | semmle.label | vs [element] | -| main.rs:479:14:479:34 | [...] [element] | semmle.label | [...] [element] | -| main.rs:479:15:479:24 | source(...) | semmle.label | source(...) | -| main.rs:481:10:481:11 | vs [element] | semmle.label | vs [element] | -| main.rs:481:10:481:14 | vs[0] | semmle.label | vs[0] | -| main.rs:485:9:485:9 | v | semmle.label | v | -| main.rs:485:14:485:15 | vs [element] | semmle.label | vs [element] | -| main.rs:486:14:486:14 | v | semmle.label | v | -| main.rs:504:9:504:18 | mut vs_mut [element] | semmle.label | mut vs_mut [element] | -| main.rs:504:22:504:42 | [...] [element] | semmle.label | [...] [element] | -| main.rs:504:23:504:32 | source(...) | semmle.label | source(...) | -| main.rs:506:10:506:15 | vs_mut [element] | semmle.label | vs_mut [element] | -| main.rs:506:10:506:18 | vs_mut[0] | semmle.label | vs_mut[0] | -| main.rs:516:9:516:9 | a | semmle.label | a | -| main.rs:516:13:516:22 | source(...) | semmle.label | source(...) | -| main.rs:518:9:518:9 | c | semmle.label | c | -| main.rs:518:13:518:22 | source(...) | semmle.label | source(...) | -| main.rs:519:9:519:13 | c_ref [&ref] | semmle.label | c_ref [&ref] | -| main.rs:519:17:519:18 | &c [&ref] | semmle.label | &c [&ref] | -| main.rs:519:18:519:18 | c | semmle.label | c | -| main.rs:521:10:521:10 | a | semmle.label | a | -| main.rs:524:10:524:15 | * ... | semmle.label | * ... | -| main.rs:524:11:524:15 | c_ref [&ref] | semmle.label | c_ref [&ref] | +| main.rs:419:9:419:10 | n1 | semmle.label | n1 | +| main.rs:419:14:419:17 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:419:14:419:20 | arr1[2] | semmle.label | arr1[2] | +| main.rs:420:10:420:11 | n1 | semmle.label | n1 | +| main.rs:422:9:422:12 | arr2 [element] | semmle.label | arr2 [element] | +| main.rs:422:16:422:31 | [...; 10] [element] | semmle.label | [...; 10] [element] | +| main.rs:422:17:422:26 | source(...) | semmle.label | source(...) | +| main.rs:423:9:423:10 | n2 | semmle.label | n2 | +| main.rs:423:14:423:17 | arr2 [element] | semmle.label | arr2 [element] | +| main.rs:423:14:423:20 | arr2[4] | semmle.label | arr2[4] | +| main.rs:424:10:424:11 | n2 | semmle.label | n2 | +| main.rs:432:9:432:12 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:432:16:432:33 | [...] [element] | semmle.label | [...] [element] | +| main.rs:432:23:432:32 | source(...) | semmle.label | source(...) | +| main.rs:433:9:433:10 | n1 | semmle.label | n1 | +| main.rs:433:15:433:18 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:434:14:434:15 | n1 | semmle.label | n1 | +| main.rs:444:9:444:12 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:444:16:444:33 | [...] [element] | semmle.label | [...] [element] | +| main.rs:444:23:444:32 | source(...) | semmle.label | source(...) | +| main.rs:445:11:445:14 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:446:9:446:17 | SlicePat [element] | semmle.label | SlicePat [element] | +| main.rs:446:10:446:10 | a | semmle.label | a | +| main.rs:446:13:446:13 | b | semmle.label | b | +| main.rs:446:16:446:16 | c | semmle.label | c | +| main.rs:447:18:447:18 | a | semmle.label | a | +| main.rs:448:18:448:18 | b | semmle.label | b | +| main.rs:449:18:449:18 | c | semmle.label | c | +| main.rs:458:5:458:11 | [post] mut_arr [element] | semmle.label | [post] mut_arr [element] | +| main.rs:458:18:458:27 | source(...) | semmle.label | source(...) | +| main.rs:459:9:459:9 | d | semmle.label | d | +| main.rs:459:13:459:19 | mut_arr [element] | semmle.label | mut_arr [element] | +| main.rs:459:13:459:22 | mut_arr[1] | semmle.label | mut_arr[1] | +| main.rs:460:10:460:10 | d | semmle.label | d | +| main.rs:461:10:461:16 | mut_arr [element] | semmle.label | mut_arr [element] | +| main.rs:461:10:461:19 | mut_arr[0] | semmle.label | mut_arr[0] | +| main.rs:484:9:484:9 | s | semmle.label | s | +| main.rs:484:25:484:26 | source(...) | semmle.label | source(...) | +| main.rs:485:10:485:10 | s | semmle.label | s | +| main.rs:493:9:493:9 | a | semmle.label | a | +| main.rs:493:13:493:22 | source(...) | semmle.label | source(...) | +| main.rs:498:10:498:10 | a | semmle.label | a | +| main.rs:505:9:505:10 | vs [element] | semmle.label | vs [element] | +| main.rs:505:14:505:34 | [...] [element] | semmle.label | [...] [element] | +| main.rs:505:15:505:24 | source(...) | semmle.label | source(...) | +| main.rs:507:10:507:11 | vs [element] | semmle.label | vs [element] | +| main.rs:507:10:507:14 | vs[0] | semmle.label | vs[0] | +| main.rs:511:9:511:9 | v | semmle.label | v | +| main.rs:511:14:511:15 | vs [element] | semmle.label | vs [element] | +| main.rs:512:14:512:14 | v | semmle.label | v | +| main.rs:530:9:530:18 | mut vs_mut [element] | semmle.label | mut vs_mut [element] | +| main.rs:530:22:530:42 | [...] [element] | semmle.label | [...] [element] | +| main.rs:530:23:530:32 | source(...) | semmle.label | source(...) | +| main.rs:532:10:532:15 | vs_mut [element] | semmle.label | vs_mut [element] | +| main.rs:532:10:532:18 | vs_mut[0] | semmle.label | vs_mut[0] | +| main.rs:542:9:542:9 | a | semmle.label | a | +| main.rs:542:13:542:22 | source(...) | semmle.label | source(...) | +| main.rs:544:9:544:9 | c | semmle.label | c | +| main.rs:544:13:544:22 | source(...) | semmle.label | source(...) | +| main.rs:545:9:545:13 | c_ref [&ref] | semmle.label | c_ref [&ref] | +| main.rs:545:17:545:18 | &c [&ref] | semmle.label | &c [&ref] | +| main.rs:545:18:545:18 | c | semmle.label | c | +| main.rs:547:10:547:10 | a | semmle.label | a | +| main.rs:550:10:550:15 | * ... | semmle.label | * ... | +| main.rs:550:11:550:15 | c_ref [&ref] | semmle.label | c_ref [&ref] | subpaths testFailures #select -| main.rs:18:10:18:18 | source(...) | main.rs:18:10:18:18 | source(...) | main.rs:18:10:18:18 | source(...) | $@ | main.rs:18:10:18:18 | source(...) | source(...) | -| main.rs:23:10:23:10 | s | main.rs:22:13:22:21 | source(...) | main.rs:23:10:23:10 | s | $@ | main.rs:22:13:22:21 | source(...) | source(...) | -| main.rs:30:10:30:10 | c | main.rs:27:13:27:21 | source(...) | main.rs:30:10:30:10 | c | $@ | main.rs:27:13:27:21 | source(...) | source(...) | -| main.rs:39:10:39:10 | b | main.rs:34:13:34:21 | source(...) | main.rs:39:10:39:10 | b | $@ | main.rs:34:13:34:21 | source(...) | source(...) | -| main.rs:50:10:50:10 | b | main.rs:48:15:48:23 | source(...) | main.rs:50:10:50:10 | b | $@ | main.rs:48:15:48:23 | source(...) | source(...) | -| main.rs:57:10:57:10 | i | main.rs:56:9:56:17 | source(...) | main.rs:57:10:57:10 | i | $@ | main.rs:56:9:56:17 | source(...) | source(...) | -| main.rs:90:10:90:11 | * ... | main.rs:89:22:89:30 | source(...) | main.rs:90:10:90:11 | * ... | $@ | main.rs:89:22:89:30 | source(...) | source(...) | -| main.rs:98:10:98:12 | a.0 | main.rs:97:14:97:22 | source(...) | main.rs:98:10:98:12 | a.0 | $@ | main.rs:97:14:97:22 | source(...) | source(...) | -| main.rs:106:10:106:11 | a1 | main.rs:103:17:103:26 | source(...) | main.rs:106:10:106:11 | a1 | $@ | main.rs:103:17:103:26 | source(...) | source(...) | -| main.rs:113:10:113:12 | a.1 | main.rs:111:21:111:30 | source(...) | main.rs:113:10:113:12 | a.1 | $@ | main.rs:111:21:111:30 | source(...) | source(...) | -| main.rs:116:10:116:12 | a.0 | main.rs:114:11:114:20 | source(...) | main.rs:116:10:116:12 | a.0 | $@ | main.rs:114:11:114:20 | source(...) | source(...) | -| main.rs:124:10:124:15 | ... .1 | main.rs:121:17:121:26 | source(...) | main.rs:124:10:124:15 | ... .1 | $@ | main.rs:121:17:121:26 | source(...) | source(...) | -| main.rs:138:10:138:12 | p.x | main.rs:137:24:137:32 | source(...) | main.rs:138:10:138:12 | p.x | $@ | main.rs:137:24:137:32 | source(...) | source(...) | -| main.rs:146:10:146:12 | p.y | main.rs:145:11:145:20 | source(...) | main.rs:146:10:146:12 | p.y | $@ | main.rs:145:11:145:20 | source(...) | source(...) | -| main.rs:155:10:155:10 | a | main.rs:151:12:151:21 | source(...) | main.rs:155:10:155:10 | a | $@ | main.rs:151:12:151:21 | source(...) | source(...) | -| main.rs:173:10:173:18 | ... .y | main.rs:168:16:168:25 | source(...) | main.rs:173:10:173:18 | ... .y | $@ | main.rs:168:16:168:25 | source(...) | source(...) | -| main.rs:189:18:189:18 | y | main.rs:178:13:178:22 | source(...) | main.rs:189:18:189:18 | y | $@ | main.rs:178:13:178:22 | source(...) | source(...) | -| main.rs:199:10:199:12 | s.0 | main.rs:198:27:198:36 | source(...) | main.rs:199:10:199:12 | s.0 | $@ | main.rs:198:27:198:36 | source(...) | source(...) | -| main.rs:204:18:204:18 | x | main.rs:198:27:198:36 | source(...) | main.rs:204:18:204:18 | x | $@ | main.rs:198:27:198:36 | source(...) | source(...) | -| main.rs:217:33:217:33 | n | main.rs:214:27:214:36 | source(...) | main.rs:217:33:217:33 | n | $@ | main.rs:214:27:214:36 | source(...) | source(...) | -| main.rs:230:25:230:25 | n | main.rs:227:19:227:28 | source(...) | main.rs:230:25:230:25 | n | $@ | main.rs:227:19:227:28 | source(...) | source(...) | -| main.rs:241:10:241:20 | s1.unwrap() | main.rs:240:19:240:28 | source(...) | main.rs:241:10:241:20 | s1.unwrap() | $@ | main.rs:240:19:240:28 | source(...) | source(...) | -| main.rs:246:10:246:24 | s1.unwrap_or(...) | main.rs:245:19:245:28 | source(...) | main.rs:246:10:246:24 | s1.unwrap_or(...) | $@ | main.rs:245:19:245:28 | source(...) | source(...) | -| main.rs:249:10:249:33 | s2.unwrap_or(...) | main.rs:249:23:249:32 | source(...) | main.rs:249:10:249:33 | s2.unwrap_or(...) | $@ | main.rs:249:23:249:32 | source(...) | source(...) | -| main.rs:254:10:254:32 | s1.unwrap_or_else(...) | main.rs:253:19:253:28 | source(...) | main.rs:254:10:254:32 | s1.unwrap_or_else(...) | $@ | main.rs:253:19:253:28 | source(...) | source(...) | -| main.rs:257:10:257:41 | s2.unwrap_or_else(...) | main.rs:257:31:257:40 | source(...) | main.rs:257:10:257:41 | s2.unwrap_or_else(...) | $@ | main.rs:257:31:257:40 | source(...) | source(...) | -| main.rs:264:10:264:11 | i1 | main.rs:261:19:261:28 | source(...) | main.rs:264:10:264:11 | i1 | $@ | main.rs:261:19:261:28 | source(...) | source(...) | -| main.rs:273:10:273:21 | o1a.unwrap() | main.rs:270:35:270:44 | source(...) | main.rs:273:10:273:21 | o1a.unwrap() | $@ | main.rs:270:35:270:44 | source(...) | source(...) | -| main.rs:280:10:280:21 | o2b.unwrap() | main.rs:276:36:276:45 | source(...) | main.rs:280:10:280:21 | o2b.unwrap() | $@ | main.rs:276:36:276:45 | source(...) | source(...) | -| main.rs:289:10:289:11 | i1 | main.rs:284:35:284:44 | source(...) | main.rs:289:10:289:11 | i1 | $@ | main.rs:284:35:284:44 | source(...) | source(...) | -| main.rs:298:10:298:22 | s1.expect(...) | main.rs:297:35:297:44 | source(...) | main.rs:298:10:298:22 | s1.expect(...) | $@ | main.rs:297:35:297:44 | source(...) | source(...) | -| main.rs:303:10:303:26 | s2.expect_err(...) | main.rs:301:36:301:45 | source(...) | main.rs:303:10:303:26 | s2.expect_err(...) | $@ | main.rs:301:36:301:45 | source(...) | source(...) | -| main.rs:315:35:315:35 | n | main.rs:312:29:312:38 | source(...) | main.rs:315:35:315:35 | n | $@ | main.rs:312:29:312:38 | source(...) | source(...) | -| main.rs:319:55:319:55 | n | main.rs:312:29:312:38 | source(...) | main.rs:319:55:319:55 | n | $@ | main.rs:312:29:312:38 | source(...) | source(...) | -| main.rs:333:22:333:22 | n | main.rs:330:16:330:25 | source(...) | main.rs:333:22:333:22 | n | $@ | main.rs:330:16:330:25 | source(...) | source(...) | -| main.rs:337:29:337:29 | n | main.rs:330:16:330:25 | source(...) | main.rs:337:29:337:29 | n | $@ | main.rs:330:16:330:25 | source(...) | source(...) | -| main.rs:356:48:356:48 | n | main.rs:352:18:352:27 | source(...) | main.rs:356:48:356:48 | n | $@ | main.rs:352:18:352:27 | source(...) | source(...) | -| main.rs:360:81:360:81 | n | main.rs:352:18:352:27 | source(...) | main.rs:360:81:360:81 | n | $@ | main.rs:352:18:352:27 | source(...) | source(...) | -| main.rs:376:34:376:34 | n | main.rs:372:18:372:27 | source(...) | main.rs:376:34:376:34 | n | $@ | main.rs:372:18:372:27 | source(...) | source(...) | -| main.rs:380:53:380:53 | n | main.rs:372:18:372:27 | source(...) | main.rs:380:53:380:53 | n | $@ | main.rs:372:18:372:27 | source(...) | source(...) | -| main.rs:394:10:394:11 | n1 | main.rs:392:23:392:32 | source(...) | main.rs:394:10:394:11 | n1 | $@ | main.rs:392:23:392:32 | source(...) | source(...) | -| main.rs:398:10:398:11 | n2 | main.rs:396:17:396:26 | source(...) | main.rs:398:10:398:11 | n2 | $@ | main.rs:396:17:396:26 | source(...) | source(...) | -| main.rs:408:14:408:15 | n1 | main.rs:406:23:406:32 | source(...) | main.rs:408:14:408:15 | n1 | $@ | main.rs:406:23:406:32 | source(...) | source(...) | -| main.rs:421:18:421:18 | a | main.rs:418:23:418:32 | source(...) | main.rs:421:18:421:18 | a | $@ | main.rs:418:23:418:32 | source(...) | source(...) | -| main.rs:422:18:422:18 | b | main.rs:418:23:418:32 | source(...) | main.rs:422:18:422:18 | b | $@ | main.rs:418:23:418:32 | source(...) | source(...) | -| main.rs:423:18:423:18 | c | main.rs:418:23:418:32 | source(...) | main.rs:423:18:423:18 | c | $@ | main.rs:418:23:418:32 | source(...) | source(...) | -| main.rs:434:10:434:10 | d | main.rs:432:18:432:27 | source(...) | main.rs:434:10:434:10 | d | $@ | main.rs:432:18:432:27 | source(...) | source(...) | -| main.rs:435:10:435:19 | mut_arr[0] | main.rs:432:18:432:27 | source(...) | main.rs:435:10:435:19 | mut_arr[0] | $@ | main.rs:432:18:432:27 | source(...) | source(...) | -| main.rs:459:10:459:10 | s | main.rs:458:25:458:26 | source(...) | main.rs:459:10:459:10 | s | $@ | main.rs:458:25:458:26 | source(...) | source(...) | -| main.rs:472:10:472:10 | a | main.rs:467:13:467:22 | source(...) | main.rs:472:10:472:10 | a | $@ | main.rs:467:13:467:22 | source(...) | source(...) | -| main.rs:481:10:481:14 | vs[0] | main.rs:479:15:479:24 | source(...) | main.rs:481:10:481:14 | vs[0] | $@ | main.rs:479:15:479:24 | source(...) | source(...) | -| main.rs:486:14:486:14 | v | main.rs:479:15:479:24 | source(...) | main.rs:486:14:486:14 | v | $@ | main.rs:479:15:479:24 | source(...) | source(...) | -| main.rs:506:10:506:18 | vs_mut[0] | main.rs:504:23:504:32 | source(...) | main.rs:506:10:506:18 | vs_mut[0] | $@ | main.rs:504:23:504:32 | source(...) | source(...) | -| main.rs:521:10:521:10 | a | main.rs:516:13:516:22 | source(...) | main.rs:521:10:521:10 | a | $@ | main.rs:516:13:516:22 | source(...) | source(...) | -| main.rs:524:10:524:15 | * ... | main.rs:518:13:518:22 | source(...) | main.rs:524:10:524:15 | * ... | $@ | main.rs:518:13:518:22 | source(...) | source(...) | +| main.rs:19:10:19:18 | source(...) | main.rs:19:10:19:18 | source(...) | main.rs:19:10:19:18 | source(...) | $@ | main.rs:19:10:19:18 | source(...) | source(...) | +| main.rs:24:10:24:10 | s | main.rs:23:13:23:21 | source(...) | main.rs:24:10:24:10 | s | $@ | main.rs:23:13:23:21 | source(...) | source(...) | +| main.rs:27:14:27:14 | x | main.rs:23:13:23:21 | source(...) | main.rs:27:14:27:14 | x | $@ | main.rs:23:13:23:21 | source(...) | source(...) | +| main.rs:32:18:32:18 | x | main.rs:23:13:23:21 | source(...) | main.rs:32:18:32:18 | x | $@ | main.rs:23:13:23:21 | source(...) | source(...) | +| main.rs:36:14:36:14 | x | main.rs:23:13:23:21 | source(...) | main.rs:36:14:36:14 | x | $@ | main.rs:23:13:23:21 | source(...) | source(...) | +| main.rs:44:10:44:10 | c | main.rs:41:13:41:21 | source(...) | main.rs:44:10:44:10 | c | $@ | main.rs:41:13:41:21 | source(...) | source(...) | +| main.rs:53:10:53:10 | b | main.rs:48:13:48:21 | source(...) | main.rs:53:10:53:10 | b | $@ | main.rs:48:13:48:21 | source(...) | source(...) | +| main.rs:64:10:64:10 | b | main.rs:62:15:62:23 | source(...) | main.rs:64:10:64:10 | b | $@ | main.rs:62:15:62:23 | source(...) | source(...) | +| main.rs:71:10:71:10 | i | main.rs:70:9:70:17 | source(...) | main.rs:71:10:71:10 | i | $@ | main.rs:70:9:70:17 | source(...) | source(...) | +| main.rs:104:10:104:11 | * ... | main.rs:103:22:103:30 | source(...) | main.rs:104:10:104:11 | * ... | $@ | main.rs:103:22:103:30 | source(...) | source(...) | +| main.rs:112:10:112:12 | a.0 | main.rs:111:14:111:22 | source(...) | main.rs:112:10:112:12 | a.0 | $@ | main.rs:111:14:111:22 | source(...) | source(...) | +| main.rs:120:10:120:11 | a1 | main.rs:117:17:117:26 | source(...) | main.rs:120:10:120:11 | a1 | $@ | main.rs:117:17:117:26 | source(...) | source(...) | +| main.rs:127:10:127:12 | a.1 | main.rs:125:21:125:30 | source(...) | main.rs:127:10:127:12 | a.1 | $@ | main.rs:125:21:125:30 | source(...) | source(...) | +| main.rs:130:10:130:12 | a.0 | main.rs:128:11:128:20 | source(...) | main.rs:130:10:130:12 | a.0 | $@ | main.rs:128:11:128:20 | source(...) | source(...) | +| main.rs:138:10:138:15 | ... .1 | main.rs:135:17:135:26 | source(...) | main.rs:138:10:138:15 | ... .1 | $@ | main.rs:135:17:135:26 | source(...) | source(...) | +| main.rs:152:10:152:12 | p.x | main.rs:151:24:151:32 | source(...) | main.rs:152:10:152:12 | p.x | $@ | main.rs:151:24:151:32 | source(...) | source(...) | +| main.rs:160:10:160:12 | p.y | main.rs:159:11:159:20 | source(...) | main.rs:160:10:160:12 | p.y | $@ | main.rs:159:11:159:20 | source(...) | source(...) | +| main.rs:169:10:169:10 | a | main.rs:165:12:165:21 | source(...) | main.rs:169:10:169:10 | a | $@ | main.rs:165:12:165:21 | source(...) | source(...) | +| main.rs:187:10:187:18 | ... .y | main.rs:182:16:182:25 | source(...) | main.rs:187:10:187:18 | ... .y | $@ | main.rs:182:16:182:25 | source(...) | source(...) | +| main.rs:203:18:203:18 | y | main.rs:192:13:192:22 | source(...) | main.rs:203:18:203:18 | y | $@ | main.rs:192:13:192:22 | source(...) | source(...) | +| main.rs:213:10:213:12 | s.0 | main.rs:212:27:212:36 | source(...) | main.rs:213:10:213:12 | s.0 | $@ | main.rs:212:27:212:36 | source(...) | source(...) | +| main.rs:218:18:218:18 | x | main.rs:212:27:212:36 | source(...) | main.rs:218:18:218:18 | x | $@ | main.rs:212:27:212:36 | source(...) | source(...) | +| main.rs:231:33:231:33 | n | main.rs:228:27:228:36 | source(...) | main.rs:231:33:231:33 | n | $@ | main.rs:228:27:228:36 | source(...) | source(...) | +| main.rs:244:25:244:25 | n | main.rs:241:19:241:28 | source(...) | main.rs:244:25:244:25 | n | $@ | main.rs:241:19:241:28 | source(...) | source(...) | +| main.rs:257:18:257:18 | n | main.rs:254:19:254:28 | source(...) | main.rs:257:18:257:18 | n | $@ | main.rs:254:19:254:28 | source(...) | source(...) | +| main.rs:261:14:261:14 | n | main.rs:254:19:254:28 | source(...) | main.rs:261:14:261:14 | n | $@ | main.rs:254:19:254:28 | source(...) | source(...) | +| main.rs:267:10:267:20 | s1.unwrap() | main.rs:266:19:266:28 | source(...) | main.rs:267:10:267:20 | s1.unwrap() | $@ | main.rs:266:19:266:28 | source(...) | source(...) | +| main.rs:272:10:272:24 | s1.unwrap_or(...) | main.rs:271:19:271:28 | source(...) | main.rs:272:10:272:24 | s1.unwrap_or(...) | $@ | main.rs:271:19:271:28 | source(...) | source(...) | +| main.rs:275:10:275:33 | s2.unwrap_or(...) | main.rs:275:23:275:32 | source(...) | main.rs:275:10:275:33 | s2.unwrap_or(...) | $@ | main.rs:275:23:275:32 | source(...) | source(...) | +| main.rs:280:10:280:32 | s1.unwrap_or_else(...) | main.rs:279:19:279:28 | source(...) | main.rs:280:10:280:32 | s1.unwrap_or_else(...) | $@ | main.rs:279:19:279:28 | source(...) | source(...) | +| main.rs:283:10:283:41 | s2.unwrap_or_else(...) | main.rs:283:31:283:40 | source(...) | main.rs:283:10:283:41 | s2.unwrap_or_else(...) | $@ | main.rs:283:31:283:40 | source(...) | source(...) | +| main.rs:290:10:290:11 | i1 | main.rs:287:19:287:28 | source(...) | main.rs:290:10:290:11 | i1 | $@ | main.rs:287:19:287:28 | source(...) | source(...) | +| main.rs:299:10:299:21 | o1a.unwrap() | main.rs:296:35:296:44 | source(...) | main.rs:299:10:299:21 | o1a.unwrap() | $@ | main.rs:296:35:296:44 | source(...) | source(...) | +| main.rs:306:10:306:21 | o2b.unwrap() | main.rs:302:36:302:45 | source(...) | main.rs:306:10:306:21 | o2b.unwrap() | $@ | main.rs:302:36:302:45 | source(...) | source(...) | +| main.rs:315:10:315:11 | i1 | main.rs:310:35:310:44 | source(...) | main.rs:315:10:315:11 | i1 | $@ | main.rs:310:35:310:44 | source(...) | source(...) | +| main.rs:324:10:324:22 | s1.expect(...) | main.rs:323:35:323:44 | source(...) | main.rs:324:10:324:22 | s1.expect(...) | $@ | main.rs:323:35:323:44 | source(...) | source(...) | +| main.rs:329:10:329:26 | s2.expect_err(...) | main.rs:327:36:327:45 | source(...) | main.rs:329:10:329:26 | s2.expect_err(...) | $@ | main.rs:327:36:327:45 | source(...) | source(...) | +| main.rs:341:35:341:35 | n | main.rs:338:29:338:38 | source(...) | main.rs:341:35:341:35 | n | $@ | main.rs:338:29:338:38 | source(...) | source(...) | +| main.rs:345:55:345:55 | n | main.rs:338:29:338:38 | source(...) | main.rs:345:55:345:55 | n | $@ | main.rs:338:29:338:38 | source(...) | source(...) | +| main.rs:359:22:359:22 | n | main.rs:356:16:356:25 | source(...) | main.rs:359:22:359:22 | n | $@ | main.rs:356:16:356:25 | source(...) | source(...) | +| main.rs:363:29:363:29 | n | main.rs:356:16:356:25 | source(...) | main.rs:363:29:363:29 | n | $@ | main.rs:356:16:356:25 | source(...) | source(...) | +| main.rs:382:48:382:48 | n | main.rs:378:18:378:27 | source(...) | main.rs:382:48:382:48 | n | $@ | main.rs:378:18:378:27 | source(...) | source(...) | +| main.rs:386:81:386:81 | n | main.rs:378:18:378:27 | source(...) | main.rs:386:81:386:81 | n | $@ | main.rs:378:18:378:27 | source(...) | source(...) | +| main.rs:402:34:402:34 | n | main.rs:398:18:398:27 | source(...) | main.rs:402:34:402:34 | n | $@ | main.rs:398:18:398:27 | source(...) | source(...) | +| main.rs:406:53:406:53 | n | main.rs:398:18:398:27 | source(...) | main.rs:406:53:406:53 | n | $@ | main.rs:398:18:398:27 | source(...) | source(...) | +| main.rs:420:10:420:11 | n1 | main.rs:418:23:418:32 | source(...) | main.rs:420:10:420:11 | n1 | $@ | main.rs:418:23:418:32 | source(...) | source(...) | +| main.rs:424:10:424:11 | n2 | main.rs:422:17:422:26 | source(...) | main.rs:424:10:424:11 | n2 | $@ | main.rs:422:17:422:26 | source(...) | source(...) | +| main.rs:434:14:434:15 | n1 | main.rs:432:23:432:32 | source(...) | main.rs:434:14:434:15 | n1 | $@ | main.rs:432:23:432:32 | source(...) | source(...) | +| main.rs:447:18:447:18 | a | main.rs:444:23:444:32 | source(...) | main.rs:447:18:447:18 | a | $@ | main.rs:444:23:444:32 | source(...) | source(...) | +| main.rs:448:18:448:18 | b | main.rs:444:23:444:32 | source(...) | main.rs:448:18:448:18 | b | $@ | main.rs:444:23:444:32 | source(...) | source(...) | +| main.rs:449:18:449:18 | c | main.rs:444:23:444:32 | source(...) | main.rs:449:18:449:18 | c | $@ | main.rs:444:23:444:32 | source(...) | source(...) | +| main.rs:460:10:460:10 | d | main.rs:458:18:458:27 | source(...) | main.rs:460:10:460:10 | d | $@ | main.rs:458:18:458:27 | source(...) | source(...) | +| main.rs:461:10:461:19 | mut_arr[0] | main.rs:458:18:458:27 | source(...) | main.rs:461:10:461:19 | mut_arr[0] | $@ | main.rs:458:18:458:27 | source(...) | source(...) | +| main.rs:485:10:485:10 | s | main.rs:484:25:484:26 | source(...) | main.rs:485:10:485:10 | s | $@ | main.rs:484:25:484:26 | source(...) | source(...) | +| main.rs:498:10:498:10 | a | main.rs:493:13:493:22 | source(...) | main.rs:498:10:498:10 | a | $@ | main.rs:493:13:493:22 | source(...) | source(...) | +| main.rs:507:10:507:14 | vs[0] | main.rs:505:15:505:24 | source(...) | main.rs:507:10:507:14 | vs[0] | $@ | main.rs:505:15:505:24 | source(...) | source(...) | +| main.rs:512:14:512:14 | v | main.rs:505:15:505:24 | source(...) | main.rs:512:14:512:14 | v | $@ | main.rs:505:15:505:24 | source(...) | source(...) | +| main.rs:532:10:532:18 | vs_mut[0] | main.rs:530:23:530:32 | source(...) | main.rs:532:10:532:18 | vs_mut[0] | $@ | main.rs:530:23:530:32 | source(...) | source(...) | +| main.rs:547:10:547:10 | a | main.rs:542:13:542:22 | source(...) | main.rs:547:10:547:10 | a | $@ | main.rs:542:13:542:22 | source(...) | source(...) | +| main.rs:550:10:550:15 | * ... | main.rs:544:13:544:22 | source(...) | main.rs:550:10:550:15 | * ... | $@ | main.rs:544:13:544:22 | source(...) | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/local/main.rs b/rust/ql/test/library-tests/dataflow/local/main.rs index f7349eee6d82..598aed6777fb 100644 --- a/rust/ql/test/library-tests/dataflow/local/main.rs +++ b/rust/ql/test/library-tests/dataflow/local/main.rs @@ -1,3 +1,4 @@ +#![feature(let_chains)] // Tests for intraprocedural data flow. fn source(i: i64) -> i64 { @@ -21,6 +22,19 @@ fn direct() { fn variable_usage() { let s = source(2); sink(s); // $ hasValueFlow=2 + + if let x = s { + sink(x); // $ hasValueFlow=2 + }; + + if let x = s + && { + sink(x); // $ hasValueFlow=2 + true + } + { + sink(x); // $ hasValueFlow=2 + }; } fn if_expression(cond: bool) { @@ -236,6 +250,18 @@ fn option_pattern_match_unqualified() { } } +fn option_chained_let() { + let s1 = Some(source(45)); + if let Some(n) = s1 + && { + sink(n); // $ hasValueFlow=45 + true + } + { + sink(n); // $ hasValueFlow=45 + } +} + fn option_unwrap() { let s1 = Some(source(19)); sink(s1.unwrap()); // $ hasValueFlow=19 @@ -558,6 +584,7 @@ fn main() { struct_nested_match(); option_pattern_match_qualified(); option_pattern_match_unqualified(); + option_chained_let(); option_unwrap(); option_unwrap_or(); option_questionmark(); diff --git a/rust/ql/test/library-tests/dataflow/local/options.yml b/rust/ql/test/library-tests/dataflow/local/options.yml new file mode 100644 index 000000000000..a394083e5212 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/local/options.yml @@ -0,0 +1 @@ +qltest_use_nightly: true diff --git a/rust/ql/test/library-tests/dataflow/sources/test.rs b/rust/ql/test/library-tests/dataflow/sources/test.rs index 5583e977bc65..baa2062a910a 100644 --- a/rust/ql/test/library-tests/dataflow/sources/test.rs +++ b/rust/ql/test/library-tests/dataflow/sources/test.rs @@ -80,7 +80,7 @@ async fn test_reqwest() -> Result<(), reqwest::Error> { let mut request1 = reqwest::get("example.com").await?; // $ Alert[rust/summary/taint-sources] sink(request1.chunk().await?.unwrap()); // $ hasTaintFlow="example.com" while let Some(chunk) = request1.chunk().await? { - sink(chunk); // $ MISSING: hasTaintFlow="example.com" + sink(chunk); // $ hasTaintFlow="example.com" } Ok(()) @@ -273,7 +273,7 @@ fn test_io_stdin() -> std::io::Result<()> { let mut reader_split = std::io::BufReader::new(std::io::stdin()).split(b','); // $ Alert[rust/summary/taint-sources] sink(reader_split.next().unwrap().unwrap()); // $ hasTaintFlow while let Some(chunk) = reader_split.next() { - sink(chunk.unwrap()); // $ MISSING: hasTaintFlow + sink(chunk.unwrap()); // $ hasTaintFlow } } diff --git a/rust/ql/test/library-tests/dataflow/sources/test_futures_io.rs b/rust/ql/test/library-tests/dataflow/sources/test_futures_io.rs index 5139568fe519..1acc5ce21b0f 100644 --- a/rust/ql/test/library-tests/dataflow/sources/test_futures_io.rs +++ b/rust/ql/test/library-tests/dataflow/sources/test_futures_io.rs @@ -62,7 +62,7 @@ async fn test_futures_rustls_futures_io() -> io::Result<()> { let buffer = pinned.poll_fill_buf(&mut cx); if let Poll::Ready(Ok(buf)) = buffer { sink(&buffer); // $ hasTaintFlow=url - sink(buf); // $ MISSING: hasTaintFlow=url + sink(buf); // $ hasTaintFlow=url } // using the `AsyncBufRead` trait (alternative syntax) @@ -116,7 +116,7 @@ async fn test_futures_rustls_futures_io() -> io::Result<()> { let buffer = pinned.poll_fill_buf(&mut cx); sink(&buffer); // $ hasTaintFlow=url if let Poll::Ready(Ok(buf)) = buffer { - sink(buf); // $ MISSING: hasTaintFlow=url + sink(buf); // $ hasTaintFlow=url } } diff --git a/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected index 7103b402f7ff..ec1a29e40c87 100644 --- a/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected @@ -1,3 +1,3 @@ multipleCallTargets -| main.rs:87:19:87:40 | ...::from(...) | -| main.rs:106:19:106:40 | ...::from(...) | +| main.rs:89:19:89:40 | ...::from(...) | +| main.rs:111:19:111:40 | ...::from(...) | diff --git a/rust/ql/test/library-tests/variables/Cfg.expected b/rust/ql/test/library-tests/variables/Cfg.expected index 157b3bd4e49a..00a614975be8 100644 --- a/rust/ql/test/library-tests/variables/Cfg.expected +++ b/rust/ql/test/library-tests/variables/Cfg.expected @@ -1,1640 +1,1880 @@ edges -| main.rs:3:1:6:1 | enter fn print_str | main.rs:3:14:3:14 | s | | -| main.rs:3:1:6:1 | exit fn print_str (normal) | main.rs:3:1:6:1 | exit fn print_str | | -| main.rs:3:14:3:14 | s | main.rs:3:14:3:14 | s | | -| main.rs:3:14:3:14 | s | main.rs:3:14:3:20 | ...: ... | match | -| main.rs:3:14:3:20 | ...: ... | main.rs:5:5:5:22 | ExprStmt | | -| main.rs:4:1:6:1 | { ... } | main.rs:3:1:6:1 | exit fn print_str (normal) | | -| main.rs:5:5:5:21 | ...::_print | main.rs:5:14:5:17 | "{}\\n" | | -| main.rs:5:5:5:21 | MacroExpr | main.rs:4:1:6:1 | { ... } | | -| main.rs:5:5:5:21 | println!... | main.rs:5:5:5:21 | MacroExpr | | -| main.rs:5:5:5:22 | ExprStmt | main.rs:5:14:5:20 | ExprStmt | | -| main.rs:5:14:5:17 | "{}\\n" | main.rs:5:20:5:20 | s | | -| main.rs:5:14:5:20 | ...::_print(...) | main.rs:5:14:5:20 | { ... } | | -| main.rs:5:14:5:20 | ...::format_args_nl!... | main.rs:5:14:5:20 | MacroExpr | | -| main.rs:5:14:5:20 | ExprStmt | main.rs:5:5:5:21 | ...::_print | | -| main.rs:5:14:5:20 | FormatArgsExpr | main.rs:5:14:5:20 | ...::format_args_nl!... | | -| main.rs:5:14:5:20 | MacroBlockExpr | main.rs:5:5:5:21 | println!... | | -| main.rs:5:14:5:20 | MacroExpr | main.rs:5:14:5:20 | ...::_print(...) | | -| main.rs:5:14:5:20 | { ... } | main.rs:5:14:5:20 | MacroBlockExpr | | -| main.rs:5:20:5:20 | s | main.rs:5:14:5:20 | FormatArgsExpr | | -| main.rs:8:1:11:1 | enter fn print_i64 | main.rs:8:14:8:14 | i | | -| main.rs:8:1:11:1 | exit fn print_i64 (normal) | main.rs:8:1:11:1 | exit fn print_i64 | | -| main.rs:8:14:8:14 | i | main.rs:8:14:8:14 | i | | -| main.rs:8:14:8:14 | i | main.rs:8:14:8:19 | ...: i64 | match | -| main.rs:8:14:8:19 | ...: i64 | main.rs:10:5:10:22 | ExprStmt | | -| main.rs:9:1:11:1 | { ... } | main.rs:8:1:11:1 | exit fn print_i64 (normal) | | -| main.rs:10:5:10:21 | ...::_print | main.rs:10:14:10:17 | "{}\\n" | | -| main.rs:10:5:10:21 | MacroExpr | main.rs:9:1:11:1 | { ... } | | -| main.rs:10:5:10:21 | println!... | main.rs:10:5:10:21 | MacroExpr | | -| main.rs:10:5:10:22 | ExprStmt | main.rs:10:14:10:20 | ExprStmt | | -| main.rs:10:14:10:17 | "{}\\n" | main.rs:10:20:10:20 | i | | -| main.rs:10:14:10:20 | ...::_print(...) | main.rs:10:14:10:20 | { ... } | | -| main.rs:10:14:10:20 | ...::format_args_nl!... | main.rs:10:14:10:20 | MacroExpr | | -| main.rs:10:14:10:20 | ExprStmt | main.rs:10:5:10:21 | ...::_print | | -| main.rs:10:14:10:20 | FormatArgsExpr | main.rs:10:14:10:20 | ...::format_args_nl!... | | -| main.rs:10:14:10:20 | MacroBlockExpr | main.rs:10:5:10:21 | println!... | | -| main.rs:10:14:10:20 | MacroExpr | main.rs:10:14:10:20 | ...::_print(...) | | -| main.rs:10:14:10:20 | { ... } | main.rs:10:14:10:20 | MacroBlockExpr | | -| main.rs:10:20:10:20 | i | main.rs:10:14:10:20 | FormatArgsExpr | | -| main.rs:13:1:15:1 | enter fn print_i64_ref | main.rs:13:18:13:18 | i | | -| main.rs:13:1:15:1 | exit fn print_i64_ref (normal) | main.rs:13:1:15:1 | exit fn print_i64_ref | | -| main.rs:13:18:13:18 | i | main.rs:13:18:13:18 | i | | -| main.rs:13:18:13:18 | i | main.rs:13:18:13:24 | ...: ... | match | -| main.rs:13:18:13:24 | ...: ... | main.rs:14:5:14:13 | print_i64 | | -| main.rs:13:27:15:1 | { ... } | main.rs:13:1:15:1 | exit fn print_i64_ref (normal) | | -| main.rs:14:5:14:13 | print_i64 | main.rs:14:16:14:16 | i | | -| main.rs:14:5:14:17 | print_i64(...) | main.rs:13:27:15:1 | { ... } | | -| main.rs:14:15:14:16 | * ... | main.rs:14:5:14:17 | print_i64(...) | | -| main.rs:14:16:14:16 | i | main.rs:14:15:14:16 | * ... | | -| main.rs:17:1:20:1 | enter fn immutable_variable | main.rs:18:5:18:17 | let ... = "a" | | -| main.rs:17:1:20:1 | exit fn immutable_variable (normal) | main.rs:17:1:20:1 | exit fn immutable_variable | | -| main.rs:17:25:20:1 | { ... } | main.rs:17:1:20:1 | exit fn immutable_variable (normal) | | -| main.rs:18:5:18:17 | let ... = "a" | main.rs:18:14:18:16 | "a" | | -| main.rs:18:9:18:10 | x1 | main.rs:18:9:18:10 | x1 | | -| main.rs:18:9:18:10 | x1 | main.rs:19:5:19:18 | ExprStmt | match | -| main.rs:18:14:18:16 | "a" | main.rs:18:9:18:10 | x1 | | -| main.rs:19:5:19:13 | print_str | main.rs:19:15:19:16 | x1 | | -| main.rs:19:5:19:17 | print_str(...) | main.rs:17:25:20:1 | { ... } | | -| main.rs:19:5:19:18 | ExprStmt | main.rs:19:5:19:13 | print_str | | -| main.rs:19:15:19:16 | x1 | main.rs:19:5:19:17 | print_str(...) | | -| main.rs:22:1:27:1 | enter fn mutable_variable | main.rs:23:5:23:19 | let ... = 4 | | -| main.rs:22:1:27:1 | exit fn mutable_variable (normal) | main.rs:22:1:27:1 | exit fn mutable_variable | | -| main.rs:22:23:27:1 | { ... } | main.rs:22:1:27:1 | exit fn mutable_variable (normal) | | -| main.rs:23:5:23:19 | let ... = 4 | main.rs:23:18:23:18 | 4 | | -| main.rs:23:9:23:14 | mut x2 | main.rs:24:5:24:18 | ExprStmt | match | -| main.rs:23:13:23:14 | x2 | main.rs:23:9:23:14 | mut x2 | | -| main.rs:23:18:23:18 | 4 | main.rs:23:13:23:14 | x2 | | -| main.rs:24:5:24:13 | print_i64 | main.rs:24:15:24:16 | x2 | | -| main.rs:24:5:24:17 | print_i64(...) | main.rs:25:5:25:11 | ExprStmt | | -| main.rs:24:5:24:18 | ExprStmt | main.rs:24:5:24:13 | print_i64 | | -| main.rs:24:15:24:16 | x2 | main.rs:24:5:24:17 | print_i64(...) | | -| main.rs:25:5:25:6 | x2 | main.rs:25:10:25:10 | 5 | | -| main.rs:25:5:25:10 | ... = ... | main.rs:26:5:26:18 | ExprStmt | | -| main.rs:25:5:25:11 | ExprStmt | main.rs:25:5:25:6 | x2 | | -| main.rs:25:10:25:10 | 5 | main.rs:25:5:25:10 | ... = ... | | +| main.rs:5:1:8:1 | enter fn print_str | main.rs:5:14:5:14 | s | | +| main.rs:5:1:8:1 | exit fn print_str (normal) | main.rs:5:1:8:1 | exit fn print_str | | +| main.rs:5:14:5:14 | s | main.rs:5:14:5:14 | s | | +| main.rs:5:14:5:14 | s | main.rs:5:14:5:20 | ...: ... | match | +| main.rs:5:14:5:20 | ...: ... | main.rs:7:5:7:22 | ExprStmt | | +| main.rs:6:1:8:1 | { ... } | main.rs:5:1:8:1 | exit fn print_str (normal) | | +| main.rs:7:5:7:21 | ...::_print | main.rs:7:14:7:17 | "{}\\n" | | +| main.rs:7:5:7:21 | MacroExpr | main.rs:6:1:8:1 | { ... } | | +| main.rs:7:5:7:21 | println!... | main.rs:7:5:7:21 | MacroExpr | | +| main.rs:7:5:7:22 | ExprStmt | main.rs:7:14:7:20 | ExprStmt | | +| main.rs:7:14:7:17 | "{}\\n" | main.rs:7:20:7:20 | s | | +| main.rs:7:14:7:20 | ...::_print(...) | main.rs:7:14:7:20 | { ... } | | +| main.rs:7:14:7:20 | ...::format_args_nl!... | main.rs:7:14:7:20 | MacroExpr | | +| main.rs:7:14:7:20 | ExprStmt | main.rs:7:5:7:21 | ...::_print | | +| main.rs:7:14:7:20 | FormatArgsExpr | main.rs:7:14:7:20 | ...::format_args_nl!... | | +| main.rs:7:14:7:20 | MacroBlockExpr | main.rs:7:5:7:21 | println!... | | +| main.rs:7:14:7:20 | MacroExpr | main.rs:7:14:7:20 | ...::_print(...) | | +| main.rs:7:14:7:20 | { ... } | main.rs:7:14:7:20 | MacroBlockExpr | | +| main.rs:7:20:7:20 | s | main.rs:7:14:7:20 | FormatArgsExpr | | +| main.rs:10:1:13:1 | enter fn print_i64 | main.rs:10:14:10:14 | i | | +| main.rs:10:1:13:1 | exit fn print_i64 (normal) | main.rs:10:1:13:1 | exit fn print_i64 | | +| main.rs:10:14:10:14 | i | main.rs:10:14:10:14 | i | | +| main.rs:10:14:10:14 | i | main.rs:10:14:10:19 | ...: i64 | match | +| main.rs:10:14:10:19 | ...: i64 | main.rs:12:5:12:22 | ExprStmt | | +| main.rs:11:1:13:1 | { ... } | main.rs:10:1:13:1 | exit fn print_i64 (normal) | | +| main.rs:12:5:12:21 | ...::_print | main.rs:12:14:12:17 | "{}\\n" | | +| main.rs:12:5:12:21 | MacroExpr | main.rs:11:1:13:1 | { ... } | | +| main.rs:12:5:12:21 | println!... | main.rs:12:5:12:21 | MacroExpr | | +| main.rs:12:5:12:22 | ExprStmt | main.rs:12:14:12:20 | ExprStmt | | +| main.rs:12:14:12:17 | "{}\\n" | main.rs:12:20:12:20 | i | | +| main.rs:12:14:12:20 | ...::_print(...) | main.rs:12:14:12:20 | { ... } | | +| main.rs:12:14:12:20 | ...::format_args_nl!... | main.rs:12:14:12:20 | MacroExpr | | +| main.rs:12:14:12:20 | ExprStmt | main.rs:12:5:12:21 | ...::_print | | +| main.rs:12:14:12:20 | FormatArgsExpr | main.rs:12:14:12:20 | ...::format_args_nl!... | | +| main.rs:12:14:12:20 | MacroBlockExpr | main.rs:12:5:12:21 | println!... | | +| main.rs:12:14:12:20 | MacroExpr | main.rs:12:14:12:20 | ...::_print(...) | | +| main.rs:12:14:12:20 | { ... } | main.rs:12:14:12:20 | MacroBlockExpr | | +| main.rs:12:20:12:20 | i | main.rs:12:14:12:20 | FormatArgsExpr | | +| main.rs:15:1:17:1 | enter fn print_i64_ref | main.rs:15:18:15:18 | i | | +| main.rs:15:1:17:1 | exit fn print_i64_ref (normal) | main.rs:15:1:17:1 | exit fn print_i64_ref | | +| main.rs:15:18:15:18 | i | main.rs:15:18:15:18 | i | | +| main.rs:15:18:15:18 | i | main.rs:15:18:15:24 | ...: ... | match | +| main.rs:15:18:15:24 | ...: ... | main.rs:16:5:16:13 | print_i64 | | +| main.rs:15:27:17:1 | { ... } | main.rs:15:1:17:1 | exit fn print_i64_ref (normal) | | +| main.rs:16:5:16:13 | print_i64 | main.rs:16:16:16:16 | i | | +| main.rs:16:5:16:17 | print_i64(...) | main.rs:15:27:17:1 | { ... } | | +| main.rs:16:15:16:16 | * ... | main.rs:16:5:16:17 | print_i64(...) | | +| main.rs:16:16:16:16 | i | main.rs:16:15:16:16 | * ... | | +| main.rs:19:1:22:1 | enter fn immutable_variable | main.rs:20:5:20:17 | let ... = "a" | | +| main.rs:19:1:22:1 | exit fn immutable_variable (normal) | main.rs:19:1:22:1 | exit fn immutable_variable | | +| main.rs:19:25:22:1 | { ... } | main.rs:19:1:22:1 | exit fn immutable_variable (normal) | | +| main.rs:20:5:20:17 | let ... = "a" | main.rs:20:14:20:16 | "a" | | +| main.rs:20:9:20:10 | x1 | main.rs:20:9:20:10 | x1 | | +| main.rs:20:9:20:10 | x1 | main.rs:21:5:21:18 | ExprStmt | match | +| main.rs:20:14:20:16 | "a" | main.rs:20:9:20:10 | x1 | | +| main.rs:21:5:21:13 | print_str | main.rs:21:15:21:16 | x1 | | +| main.rs:21:5:21:17 | print_str(...) | main.rs:19:25:22:1 | { ... } | | +| main.rs:21:5:21:18 | ExprStmt | main.rs:21:5:21:13 | print_str | | +| main.rs:21:15:21:16 | x1 | main.rs:21:5:21:17 | print_str(...) | | +| main.rs:24:1:29:1 | enter fn mutable_variable | main.rs:25:5:25:19 | let ... = 4 | | +| main.rs:24:1:29:1 | exit fn mutable_variable (normal) | main.rs:24:1:29:1 | exit fn mutable_variable | | +| main.rs:24:23:29:1 | { ... } | main.rs:24:1:29:1 | exit fn mutable_variable (normal) | | +| main.rs:25:5:25:19 | let ... = 4 | main.rs:25:18:25:18 | 4 | | +| main.rs:25:9:25:14 | mut x2 | main.rs:26:5:26:18 | ExprStmt | match | +| main.rs:25:13:25:14 | x2 | main.rs:25:9:25:14 | mut x2 | | +| main.rs:25:18:25:18 | 4 | main.rs:25:13:25:14 | x2 | | | main.rs:26:5:26:13 | print_i64 | main.rs:26:15:26:16 | x2 | | -| main.rs:26:5:26:17 | print_i64(...) | main.rs:22:23:27:1 | { ... } | | +| main.rs:26:5:26:17 | print_i64(...) | main.rs:27:5:27:11 | ExprStmt | | | main.rs:26:5:26:18 | ExprStmt | main.rs:26:5:26:13 | print_i64 | | | main.rs:26:15:26:16 | x2 | main.rs:26:5:26:17 | print_i64(...) | | -| main.rs:29:1:34:1 | enter fn mutable_variable_immutable_borrow | main.rs:30:5:30:18 | let ... = 1 | | -| main.rs:29:1:34:1 | exit fn mutable_variable_immutable_borrow (normal) | main.rs:29:1:34:1 | exit fn mutable_variable_immutable_borrow | | -| main.rs:29:40:34:1 | { ... } | main.rs:29:1:34:1 | exit fn mutable_variable_immutable_borrow (normal) | | -| main.rs:30:5:30:18 | let ... = 1 | main.rs:30:17:30:17 | 1 | | -| main.rs:30:9:30:13 | mut x | main.rs:31:5:31:22 | ExprStmt | match | -| main.rs:30:13:30:13 | x | main.rs:30:9:30:13 | mut x | | -| main.rs:30:17:30:17 | 1 | main.rs:30:13:30:13 | x | | -| main.rs:31:5:31:17 | print_i64_ref | main.rs:31:20:31:20 | x | | -| main.rs:31:5:31:21 | print_i64_ref(...) | main.rs:32:5:32:10 | ExprStmt | | -| main.rs:31:5:31:22 | ExprStmt | main.rs:31:5:31:17 | print_i64_ref | | -| main.rs:31:19:31:20 | &x | main.rs:31:5:31:21 | print_i64_ref(...) | | -| main.rs:31:20:31:20 | x | main.rs:31:19:31:20 | &x | | -| main.rs:32:5:32:5 | x | main.rs:32:9:32:9 | 2 | | -| main.rs:32:5:32:9 | ... = ... | main.rs:33:5:33:22 | ExprStmt | | -| main.rs:32:5:32:10 | ExprStmt | main.rs:32:5:32:5 | x | | -| main.rs:32:9:32:9 | 2 | main.rs:32:5:32:9 | ... = ... | | +| main.rs:27:5:27:6 | x2 | main.rs:27:10:27:10 | 5 | | +| main.rs:27:5:27:10 | ... = ... | main.rs:28:5:28:18 | ExprStmt | | +| main.rs:27:5:27:11 | ExprStmt | main.rs:27:5:27:6 | x2 | | +| main.rs:27:10:27:10 | 5 | main.rs:27:5:27:10 | ... = ... | | +| main.rs:28:5:28:13 | print_i64 | main.rs:28:15:28:16 | x2 | | +| main.rs:28:5:28:17 | print_i64(...) | main.rs:24:23:29:1 | { ... } | | +| main.rs:28:5:28:18 | ExprStmt | main.rs:28:5:28:13 | print_i64 | | +| main.rs:28:15:28:16 | x2 | main.rs:28:5:28:17 | print_i64(...) | | +| main.rs:31:1:36:1 | enter fn mutable_variable_immutable_borrow | main.rs:32:5:32:18 | let ... = 1 | | +| main.rs:31:1:36:1 | exit fn mutable_variable_immutable_borrow (normal) | main.rs:31:1:36:1 | exit fn mutable_variable_immutable_borrow | | +| main.rs:31:40:36:1 | { ... } | main.rs:31:1:36:1 | exit fn mutable_variable_immutable_borrow (normal) | | +| main.rs:32:5:32:18 | let ... = 1 | main.rs:32:17:32:17 | 1 | | +| main.rs:32:9:32:13 | mut x | main.rs:33:5:33:22 | ExprStmt | match | +| main.rs:32:13:32:13 | x | main.rs:32:9:32:13 | mut x | | +| main.rs:32:17:32:17 | 1 | main.rs:32:13:32:13 | x | | | main.rs:33:5:33:17 | print_i64_ref | main.rs:33:20:33:20 | x | | -| main.rs:33:5:33:21 | print_i64_ref(...) | main.rs:29:40:34:1 | { ... } | | +| main.rs:33:5:33:21 | print_i64_ref(...) | main.rs:34:5:34:10 | ExprStmt | | | main.rs:33:5:33:22 | ExprStmt | main.rs:33:5:33:17 | print_i64_ref | | | main.rs:33:19:33:20 | &x | main.rs:33:5:33:21 | print_i64_ref(...) | | | main.rs:33:20:33:20 | x | main.rs:33:19:33:20 | &x | | -| main.rs:36:1:42:1 | enter fn variable_shadow1 | main.rs:37:5:37:15 | let ... = 1 | | -| main.rs:36:1:42:1 | exit fn variable_shadow1 (normal) | main.rs:36:1:42:1 | exit fn variable_shadow1 | | -| main.rs:36:23:42:1 | { ... } | main.rs:36:1:42:1 | exit fn variable_shadow1 (normal) | | -| main.rs:37:5:37:15 | let ... = 1 | main.rs:37:14:37:14 | 1 | | -| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | | -| main.rs:37:9:37:10 | x3 | main.rs:38:5:38:18 | ExprStmt | match | -| main.rs:37:14:37:14 | 1 | main.rs:37:9:37:10 | x3 | | -| main.rs:38:5:38:13 | print_i64 | main.rs:38:15:38:16 | x3 | | -| main.rs:38:5:38:17 | print_i64(...) | main.rs:39:5:40:15 | let ... = ... | | -| main.rs:38:5:38:18 | ExprStmt | main.rs:38:5:38:13 | print_i64 | | -| main.rs:38:15:38:16 | x3 | main.rs:38:5:38:17 | print_i64(...) | | -| main.rs:39:5:40:15 | let ... = ... | main.rs:40:9:40:10 | x3 | | +| main.rs:34:5:34:5 | x | main.rs:34:9:34:9 | 2 | | +| main.rs:34:5:34:9 | ... = ... | main.rs:35:5:35:22 | ExprStmt | | +| main.rs:34:5:34:10 | ExprStmt | main.rs:34:5:34:5 | x | | +| main.rs:34:9:34:9 | 2 | main.rs:34:5:34:9 | ... = ... | | +| main.rs:35:5:35:17 | print_i64_ref | main.rs:35:20:35:20 | x | | +| main.rs:35:5:35:21 | print_i64_ref(...) | main.rs:31:40:36:1 | { ... } | | +| main.rs:35:5:35:22 | ExprStmt | main.rs:35:5:35:17 | print_i64_ref | | +| main.rs:35:19:35:20 | &x | main.rs:35:5:35:21 | print_i64_ref(...) | | +| main.rs:35:20:35:20 | x | main.rs:35:19:35:20 | &x | | +| main.rs:38:1:44:1 | enter fn variable_shadow1 | main.rs:39:5:39:15 | let ... = 1 | | +| main.rs:38:1:44:1 | exit fn variable_shadow1 (normal) | main.rs:38:1:44:1 | exit fn variable_shadow1 | | +| main.rs:38:23:44:1 | { ... } | main.rs:38:1:44:1 | exit fn variable_shadow1 (normal) | | +| main.rs:39:5:39:15 | let ... = 1 | main.rs:39:14:39:14 | 1 | | | main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | | -| main.rs:39:9:39:10 | x3 | main.rs:41:5:41:18 | ExprStmt | match | -| main.rs:40:9:40:10 | x3 | main.rs:40:14:40:14 | 1 | | -| main.rs:40:9:40:14 | ... + ... | main.rs:39:9:39:10 | x3 | | -| main.rs:40:14:40:14 | 1 | main.rs:40:9:40:14 | ... + ... | | -| main.rs:41:5:41:13 | print_i64 | main.rs:41:15:41:16 | x3 | | -| main.rs:41:5:41:17 | print_i64(...) | main.rs:36:23:42:1 | { ... } | | -| main.rs:41:5:41:18 | ExprStmt | main.rs:41:5:41:13 | print_i64 | | -| main.rs:41:15:41:16 | x3 | main.rs:41:5:41:17 | print_i64(...) | | -| main.rs:44:1:52:1 | enter fn variable_shadow2 | main.rs:45:5:45:17 | let ... = "a" | | -| main.rs:44:1:52:1 | exit fn variable_shadow2 (normal) | main.rs:44:1:52:1 | exit fn variable_shadow2 | | -| main.rs:44:23:52:1 | { ... } | main.rs:44:1:52:1 | exit fn variable_shadow2 (normal) | | -| main.rs:45:5:45:17 | let ... = "a" | main.rs:45:14:45:16 | "a" | | -| main.rs:45:9:45:10 | x4 | main.rs:45:9:45:10 | x4 | | -| main.rs:45:9:45:10 | x4 | main.rs:46:5:46:18 | ExprStmt | match | -| main.rs:45:14:45:16 | "a" | main.rs:45:9:45:10 | x4 | | -| main.rs:46:5:46:13 | print_str | main.rs:46:15:46:16 | x4 | | -| main.rs:46:5:46:17 | print_str(...) | main.rs:47:5:50:5 | ExprStmt | | -| main.rs:46:5:46:18 | ExprStmt | main.rs:46:5:46:13 | print_str | | -| main.rs:46:15:46:16 | x4 | main.rs:46:5:46:17 | print_str(...) | | -| main.rs:47:5:50:5 | ExprStmt | main.rs:48:9:48:21 | let ... = "b" | | -| main.rs:47:5:50:5 | { ... } | main.rs:51:5:51:18 | ExprStmt | | -| main.rs:48:9:48:21 | let ... = "b" | main.rs:48:18:48:20 | "b" | | -| main.rs:48:13:48:14 | x4 | main.rs:48:13:48:14 | x4 | | -| main.rs:48:13:48:14 | x4 | main.rs:49:9:49:22 | ExprStmt | match | -| main.rs:48:18:48:20 | "b" | main.rs:48:13:48:14 | x4 | | -| main.rs:49:9:49:17 | print_str | main.rs:49:19:49:20 | x4 | | -| main.rs:49:9:49:21 | print_str(...) | main.rs:47:5:50:5 | { ... } | | -| main.rs:49:9:49:22 | ExprStmt | main.rs:49:9:49:17 | print_str | | -| main.rs:49:19:49:20 | x4 | main.rs:49:9:49:21 | print_str(...) | | -| main.rs:51:5:51:13 | print_str | main.rs:51:15:51:16 | x4 | | -| main.rs:51:5:51:17 | print_str(...) | main.rs:44:23:52:1 | { ... } | | -| main.rs:51:5:51:18 | ExprStmt | main.rs:51:5:51:13 | print_str | | -| main.rs:51:15:51:16 | x4 | main.rs:51:5:51:17 | print_str(...) | | -| main.rs:59:1:74:1 | enter fn let_pattern1 | main.rs:60:5:69:47 | let ... = ... | | -| main.rs:59:1:74:1 | exit fn let_pattern1 (normal) | main.rs:59:1:74:1 | exit fn let_pattern1 | | -| main.rs:59:19:74:1 | { ... } | main.rs:59:1:74:1 | exit fn let_pattern1 (normal) | | -| main.rs:60:5:69:47 | let ... = ... | main.rs:69:11:69:13 | "a" | | -| main.rs:60:9:69:5 | TuplePat | main.rs:61:9:64:9 | TuplePat | match | -| main.rs:61:9:64:9 | TuplePat | main.rs:62:13:62:14 | a1 | match | -| main.rs:62:13:62:14 | a1 | main.rs:62:13:62:14 | a1 | | -| main.rs:62:13:62:14 | a1 | main.rs:63:13:63:14 | b1 | match | -| main.rs:63:13:63:14 | b1 | main.rs:63:13:63:14 | b1 | | -| main.rs:63:13:63:14 | b1 | main.rs:65:9:68:9 | Point {...} | match | -| main.rs:65:9:68:9 | Point {...} | main.rs:66:13:66:13 | x | match | -| main.rs:66:13:66:13 | x | main.rs:66:13:66:13 | x | | -| main.rs:66:13:66:13 | x | main.rs:67:13:67:13 | y | match | -| main.rs:67:13:67:13 | y | main.rs:67:13:67:13 | y | | -| main.rs:67:13:67:13 | y | main.rs:70:5:70:18 | ExprStmt | match | -| main.rs:69:9:69:46 | TupleExpr | main.rs:60:9:69:5 | TuplePat | | -| main.rs:69:10:69:19 | TupleExpr | main.rs:69:33:69:35 | "x" | | -| main.rs:69:11:69:13 | "a" | main.rs:69:16:69:18 | "b" | | -| main.rs:69:16:69:18 | "b" | main.rs:69:10:69:19 | TupleExpr | | -| main.rs:69:22:69:45 | Point {...} | main.rs:69:9:69:46 | TupleExpr | | -| main.rs:69:33:69:35 | "x" | main.rs:69:41:69:43 | "y" | | -| main.rs:69:41:69:43 | "y" | main.rs:69:22:69:45 | Point {...} | | -| main.rs:70:5:70:13 | print_str | main.rs:70:15:70:16 | a1 | | -| main.rs:70:5:70:17 | print_str(...) | main.rs:71:5:71:18 | ExprStmt | | -| main.rs:70:5:70:18 | ExprStmt | main.rs:70:5:70:13 | print_str | | -| main.rs:70:15:70:16 | a1 | main.rs:70:5:70:17 | print_str(...) | | -| main.rs:71:5:71:13 | print_str | main.rs:71:15:71:16 | b1 | | -| main.rs:71:5:71:17 | print_str(...) | main.rs:72:5:72:17 | ExprStmt | | -| main.rs:71:5:71:18 | ExprStmt | main.rs:71:5:71:13 | print_str | | -| main.rs:71:15:71:16 | b1 | main.rs:71:5:71:17 | print_str(...) | | -| main.rs:72:5:72:13 | print_str | main.rs:72:15:72:15 | x | | -| main.rs:72:5:72:16 | print_str(...) | main.rs:73:5:73:17 | ExprStmt | | -| main.rs:72:5:72:17 | ExprStmt | main.rs:72:5:72:13 | print_str | | -| main.rs:72:15:72:15 | x | main.rs:72:5:72:16 | print_str(...) | | -| main.rs:73:5:73:13 | print_str | main.rs:73:15:73:15 | y | | -| main.rs:73:5:73:16 | print_str(...) | main.rs:59:19:74:1 | { ... } | | -| main.rs:73:5:73:17 | ExprStmt | main.rs:73:5:73:13 | print_str | | -| main.rs:73:15:73:15 | y | main.rs:73:5:73:16 | print_str(...) | | -| main.rs:76:1:84:1 | enter fn let_pattern2 | main.rs:77:5:77:38 | let ... = ... | | -| main.rs:76:1:84:1 | exit fn let_pattern2 (normal) | main.rs:76:1:84:1 | exit fn let_pattern2 | | -| main.rs:76:19:84:1 | { ... } | main.rs:76:1:84:1 | exit fn let_pattern2 (normal) | | -| main.rs:77:5:77:38 | let ... = ... | main.rs:77:25:77:27 | "a" | | -| main.rs:77:9:77:10 | p1 | main.rs:77:9:77:10 | p1 | | -| main.rs:77:9:77:10 | p1 | main.rs:78:5:81:11 | let ... = p1 | match | -| main.rs:77:14:77:37 | Point {...} | main.rs:77:9:77:10 | p1 | | -| main.rs:77:25:77:27 | "a" | main.rs:77:33:77:35 | "b" | | -| main.rs:77:33:77:35 | "b" | main.rs:77:14:77:37 | Point {...} | | -| main.rs:78:5:81:11 | let ... = p1 | main.rs:81:9:81:10 | p1 | | -| main.rs:78:9:81:5 | Point {...} | main.rs:79:12:79:13 | a2 | match | -| main.rs:79:12:79:13 | a2 | main.rs:79:12:79:13 | a2 | | -| main.rs:79:12:79:13 | a2 | main.rs:80:12:80:13 | b2 | match | -| main.rs:80:12:80:13 | b2 | main.rs:80:12:80:13 | b2 | | -| main.rs:80:12:80:13 | b2 | main.rs:82:5:82:18 | ExprStmt | match | -| main.rs:81:9:81:10 | p1 | main.rs:78:9:81:5 | Point {...} | | -| main.rs:82:5:82:13 | print_str | main.rs:82:15:82:16 | a2 | | -| main.rs:82:5:82:17 | print_str(...) | main.rs:83:5:83:18 | ExprStmt | | -| main.rs:82:5:82:18 | ExprStmt | main.rs:82:5:82:13 | print_str | | -| main.rs:82:15:82:16 | a2 | main.rs:82:5:82:17 | print_str(...) | | -| main.rs:83:5:83:13 | print_str | main.rs:83:15:83:16 | b2 | | -| main.rs:83:5:83:17 | print_str(...) | main.rs:76:19:84:1 | { ... } | | -| main.rs:83:5:83:18 | ExprStmt | main.rs:83:5:83:13 | print_str | | -| main.rs:83:15:83:16 | b2 | main.rs:83:5:83:17 | print_str(...) | | -| main.rs:86:1:93:1 | enter fn let_pattern3 | main.rs:87:5:87:42 | let ... = ... | | -| main.rs:86:1:93:1 | exit fn let_pattern3 (normal) | main.rs:86:1:93:1 | exit fn let_pattern3 | | -| main.rs:86:19:93:1 | { ... } | main.rs:86:1:93:1 | exit fn let_pattern3 (normal) | | -| main.rs:87:5:87:42 | let ... = ... | main.rs:87:14:87:17 | Some | | -| main.rs:87:9:87:10 | s1 | main.rs:87:9:87:10 | s1 | | -| main.rs:87:9:87:10 | s1 | main.rs:89:8:90:12 | let ... = s1 | match | -| main.rs:87:14:87:17 | Some | main.rs:87:19:87:30 | ...::from | | -| main.rs:87:14:87:41 | Some(...) | main.rs:87:9:87:10 | s1 | | -| main.rs:87:19:87:30 | ...::from | main.rs:87:32:87:39 | "Hello!" | | -| main.rs:87:19:87:40 | ...::from(...) | main.rs:87:14:87:41 | Some(...) | | -| main.rs:87:32:87:39 | "Hello!" | main.rs:87:19:87:40 | ...::from(...) | | -| main.rs:89:5:92:5 | if ... {...} | main.rs:86:19:93:1 | { ... } | | -| main.rs:89:8:90:12 | let ... = s1 | main.rs:90:11:90:12 | s1 | | -| main.rs:89:12:89:23 | Some(...) | main.rs:89:5:92:5 | if ... {...} | no-match | -| main.rs:89:12:89:23 | Some(...) | main.rs:89:21:89:22 | s2 | match | -| main.rs:89:17:89:22 | ref s2 | main.rs:91:9:91:22 | ExprStmt | match | -| main.rs:89:21:89:22 | s2 | main.rs:89:17:89:22 | ref s2 | | -| main.rs:90:11:90:12 | s1 | main.rs:89:12:89:23 | Some(...) | | -| main.rs:90:14:92:5 | { ... } | main.rs:89:5:92:5 | if ... {...} | | -| main.rs:91:9:91:17 | print_str | main.rs:91:19:91:20 | s2 | | -| main.rs:91:9:91:21 | print_str(...) | main.rs:90:14:92:5 | { ... } | | -| main.rs:91:9:91:22 | ExprStmt | main.rs:91:9:91:17 | print_str | | -| main.rs:91:19:91:20 | s2 | main.rs:91:9:91:21 | print_str(...) | | -| main.rs:95:1:103:1 | enter fn let_pattern4 | main.rs:96:5:101:6 | let ... = ... else {...} | | -| main.rs:95:1:103:1 | exit fn let_pattern4 (normal) | main.rs:95:1:103:1 | exit fn let_pattern4 | | -| main.rs:95:19:103:1 | { ... } | main.rs:95:1:103:1 | exit fn let_pattern4 (normal) | | -| main.rs:96:5:101:6 | let ... = ... else {...} | main.rs:97:7:97:10 | Some | | -| main.rs:96:9:96:16 | Some(...) | main.rs:96:14:96:15 | x5 | match | -| main.rs:96:9:96:16 | Some(...) | main.rs:100:9:100:15 | ...::panic | no-match | -| main.rs:96:14:96:15 | x5 | main.rs:96:14:96:15 | x5 | | -| main.rs:96:14:96:15 | x5 | main.rs:102:5:102:18 | ExprStmt | match | -| main.rs:97:7:97:10 | Some | main.rs:97:12:97:15 | "x5" | | -| main.rs:97:7:97:16 | Some(...) | main.rs:96:9:96:16 | Some(...) | | -| main.rs:97:12:97:15 | "x5" | main.rs:97:7:97:16 | Some(...) | | -| main.rs:100:9:100:15 | "not yet implemented" | main.rs:100:9:100:15 | ...::panic(...) | | -| main.rs:100:9:100:15 | ...::panic | main.rs:100:9:100:15 | "not yet implemented" | | -| main.rs:100:9:100:15 | ...::panic(...) | main.rs:100:9:100:15 | MacroBlockExpr | | -| main.rs:100:9:100:15 | MacroBlockExpr | main.rs:100:9:100:15 | todo!... | | -| main.rs:100:9:100:15 | MacroExpr | main.rs:99:10:101:5 | { ... } | | -| main.rs:100:9:100:15 | todo!... | main.rs:100:9:100:15 | MacroExpr | | -| main.rs:102:5:102:13 | print_str | main.rs:102:15:102:16 | x5 | | -| main.rs:102:5:102:17 | print_str(...) | main.rs:95:19:103:1 | { ... } | | -| main.rs:102:5:102:18 | ExprStmt | main.rs:102:5:102:13 | print_str | | -| main.rs:102:15:102:16 | x5 | main.rs:102:5:102:17 | print_str(...) | | -| main.rs:105:1:112:1 | enter fn let_pattern5 | main.rs:106:5:106:42 | let ... = ... | | -| main.rs:105:1:112:1 | exit fn let_pattern5 (normal) | main.rs:105:1:112:1 | exit fn let_pattern5 | | -| main.rs:105:19:112:1 | { ... } | main.rs:105:1:112:1 | exit fn let_pattern5 (normal) | | -| main.rs:106:5:106:42 | let ... = ... | main.rs:106:14:106:17 | Some | | -| main.rs:106:9:106:10 | s1 | main.rs:106:9:106:10 | s1 | | -| main.rs:106:9:106:10 | s1 | main.rs:108:11:109:12 | let ... = s1 | match | -| main.rs:106:14:106:17 | Some | main.rs:106:19:106:30 | ...::from | | -| main.rs:106:14:106:41 | Some(...) | main.rs:106:9:106:10 | s1 | | -| main.rs:106:19:106:30 | ...::from | main.rs:106:32:106:39 | "Hello!" | | -| main.rs:106:19:106:40 | ...::from(...) | main.rs:106:14:106:41 | Some(...) | | -| main.rs:106:32:106:39 | "Hello!" | main.rs:106:19:106:40 | ...::from(...) | | -| main.rs:108:5:111:5 | while ... { ... } | main.rs:105:19:112:1 | { ... } | | -| main.rs:108:11:109:12 | let ... = s1 | main.rs:109:11:109:12 | s1 | | -| main.rs:108:15:108:26 | Some(...) | main.rs:108:5:111:5 | while ... { ... } | no-match | -| main.rs:108:15:108:26 | Some(...) | main.rs:108:24:108:25 | s2 | match | -| main.rs:108:20:108:25 | ref s2 | main.rs:110:9:110:22 | ExprStmt | match | -| main.rs:108:24:108:25 | s2 | main.rs:108:20:108:25 | ref s2 | | -| main.rs:109:11:109:12 | s1 | main.rs:108:15:108:26 | Some(...) | | -| main.rs:109:14:111:5 | { ... } | main.rs:108:11:109:12 | let ... = s1 | | -| main.rs:110:9:110:17 | print_str | main.rs:110:19:110:20 | s2 | | -| main.rs:110:9:110:21 | print_str(...) | main.rs:109:14:111:5 | { ... } | | -| main.rs:110:9:110:22 | ExprStmt | main.rs:110:9:110:17 | print_str | | -| main.rs:110:19:110:20 | s2 | main.rs:110:9:110:21 | print_str(...) | | -| main.rs:114:1:129:1 | enter fn match_pattern1 | main.rs:115:5:115:21 | let ... = ... | | -| main.rs:114:1:129:1 | exit fn match_pattern1 (normal) | main.rs:114:1:129:1 | exit fn match_pattern1 | | -| main.rs:114:21:129:1 | { ... } | main.rs:114:1:129:1 | exit fn match_pattern1 (normal) | | -| main.rs:115:5:115:21 | let ... = ... | main.rs:115:14:115:17 | Some | | -| main.rs:115:9:115:10 | x6 | main.rs:115:9:115:10 | x6 | | -| main.rs:115:9:115:10 | x6 | main.rs:116:5:116:16 | let ... = 10 | match | -| main.rs:115:14:115:17 | Some | main.rs:115:19:115:19 | 5 | | -| main.rs:115:14:115:20 | Some(...) | main.rs:115:9:115:10 | x6 | | -| main.rs:115:19:115:19 | 5 | main.rs:115:14:115:20 | Some(...) | | -| main.rs:116:5:116:16 | let ... = 10 | main.rs:116:14:116:15 | 10 | | -| main.rs:116:9:116:10 | y1 | main.rs:116:9:116:10 | y1 | | -| main.rs:116:9:116:10 | y1 | main.rs:118:5:126:5 | ExprStmt | match | -| main.rs:116:14:116:15 | 10 | main.rs:116:9:116:10 | y1 | | -| main.rs:118:5:126:5 | ExprStmt | main.rs:118:11:118:12 | x6 | | -| main.rs:118:5:126:5 | match x6 { ... } | main.rs:128:5:128:18 | ExprStmt | | -| main.rs:118:11:118:12 | x6 | main.rs:119:9:119:16 | Some(...) | | -| main.rs:119:9:119:16 | Some(...) | main.rs:119:14:119:15 | 50 | match | -| main.rs:119:9:119:16 | Some(...) | main.rs:120:9:120:16 | Some(...) | no-match | -| main.rs:119:14:119:15 | 50 | main.rs:119:14:119:15 | 50 | | -| main.rs:119:14:119:15 | 50 | main.rs:119:21:119:29 | print_str | match | -| main.rs:119:14:119:15 | 50 | main.rs:120:9:120:16 | Some(...) | no-match | -| main.rs:119:21:119:29 | print_str | main.rs:119:31:119:38 | "Got 50" | | -| main.rs:119:21:119:39 | print_str(...) | main.rs:118:5:126:5 | match x6 { ... } | | -| main.rs:119:31:119:38 | "Got 50" | main.rs:119:21:119:39 | print_str(...) | | -| main.rs:120:9:120:16 | Some(...) | main.rs:120:14:120:15 | y1 | match | -| main.rs:120:9:120:16 | Some(...) | main.rs:125:9:125:12 | None | no-match | -| main.rs:120:14:120:15 | y1 | main.rs:120:14:120:15 | y1 | | -| main.rs:120:14:120:15 | y1 | main.rs:123:13:123:21 | print_i64 | match | -| main.rs:122:9:124:9 | { ... } | main.rs:118:5:126:5 | match x6 { ... } | | -| main.rs:123:13:123:21 | print_i64 | main.rs:123:23:123:24 | y1 | | -| main.rs:123:13:123:25 | print_i64(...) | main.rs:122:9:124:9 | { ... } | | -| main.rs:123:23:123:24 | y1 | main.rs:123:13:123:25 | print_i64(...) | | -| main.rs:125:9:125:12 | None | main.rs:125:9:125:12 | None | | -| main.rs:125:9:125:12 | None | main.rs:125:17:125:25 | print_str | match | -| main.rs:125:17:125:25 | print_str | main.rs:125:27:125:32 | "NONE" | | -| main.rs:125:17:125:33 | print_str(...) | main.rs:118:5:126:5 | match x6 { ... } | | -| main.rs:125:27:125:32 | "NONE" | main.rs:125:17:125:33 | print_str(...) | | -| main.rs:128:5:128:13 | print_i64 | main.rs:128:15:128:16 | y1 | | -| main.rs:128:5:128:17 | print_i64(...) | main.rs:114:21:129:1 | { ... } | | -| main.rs:128:5:128:18 | ExprStmt | main.rs:128:5:128:13 | print_i64 | | -| main.rs:128:15:128:16 | y1 | main.rs:128:5:128:17 | print_i64(...) | | -| main.rs:131:1:160:1 | enter fn match_pattern2 | main.rs:132:5:132:36 | let ... = ... | | -| main.rs:131:1:160:1 | exit fn match_pattern2 (normal) | main.rs:131:1:160:1 | exit fn match_pattern2 | | -| main.rs:131:21:160:1 | { ... } | main.rs:131:1:160:1 | exit fn match_pattern2 (normal) | | -| main.rs:132:5:132:36 | let ... = ... | main.rs:132:20:132:20 | 2 | | -| main.rs:132:9:132:15 | numbers | main.rs:132:9:132:15 | numbers | | -| main.rs:132:9:132:15 | numbers | main.rs:134:5:147:5 | ExprStmt | match | -| main.rs:132:19:132:35 | TupleExpr | main.rs:132:9:132:15 | numbers | | -| main.rs:132:20:132:20 | 2 | main.rs:132:23:132:23 | 4 | | -| main.rs:132:23:132:23 | 4 | main.rs:132:26:132:26 | 8 | | -| main.rs:132:26:132:26 | 8 | main.rs:132:29:132:30 | 16 | | -| main.rs:132:29:132:30 | 16 | main.rs:132:33:132:34 | 32 | | -| main.rs:132:33:132:34 | 32 | main.rs:132:19:132:35 | TupleExpr | | -| main.rs:134:5:147:5 | ExprStmt | main.rs:134:11:134:17 | numbers | | -| main.rs:134:5:147:5 | match numbers { ... } | main.rs:149:11:149:17 | numbers | | -| main.rs:134:11:134:17 | numbers | main.rs:136:9:142:9 | TuplePat | | -| main.rs:136:9:142:9 | TuplePat | main.rs:137:13:137:17 | first | match | -| main.rs:137:13:137:17 | first | main.rs:137:13:137:17 | first | | -| main.rs:137:13:137:17 | first | main.rs:138:13:138:13 | _ | match | -| main.rs:138:13:138:13 | _ | main.rs:139:13:139:17 | third | match | -| main.rs:139:13:139:17 | third | main.rs:139:13:139:17 | third | | -| main.rs:139:13:139:17 | third | main.rs:140:13:140:13 | _ | match | -| main.rs:140:13:140:13 | _ | main.rs:141:13:141:17 | fifth | match | -| main.rs:141:13:141:17 | fifth | main.rs:141:13:141:17 | fifth | | -| main.rs:141:13:141:17 | fifth | main.rs:143:13:143:29 | ExprStmt | match | -| main.rs:142:14:146:9 | { ... } | main.rs:134:5:147:5 | match numbers { ... } | | -| main.rs:143:13:143:21 | print_i64 | main.rs:143:23:143:27 | first | | -| main.rs:143:13:143:28 | print_i64(...) | main.rs:144:13:144:29 | ExprStmt | | -| main.rs:143:13:143:29 | ExprStmt | main.rs:143:13:143:21 | print_i64 | | -| main.rs:143:23:143:27 | first | main.rs:143:13:143:28 | print_i64(...) | | -| main.rs:144:13:144:21 | print_i64 | main.rs:144:23:144:27 | third | | -| main.rs:144:13:144:28 | print_i64(...) | main.rs:145:13:145:29 | ExprStmt | | -| main.rs:144:13:144:29 | ExprStmt | main.rs:144:13:144:21 | print_i64 | | -| main.rs:144:23:144:27 | third | main.rs:144:13:144:28 | print_i64(...) | | -| main.rs:145:13:145:21 | print_i64 | main.rs:145:23:145:27 | fifth | | -| main.rs:145:13:145:28 | print_i64(...) | main.rs:142:14:146:9 | { ... } | | -| main.rs:145:13:145:29 | ExprStmt | main.rs:145:13:145:21 | print_i64 | | -| main.rs:145:23:145:27 | fifth | main.rs:145:13:145:28 | print_i64(...) | | -| main.rs:149:5:159:5 | match numbers { ... } | main.rs:131:21:160:1 | { ... } | | -| main.rs:149:11:149:17 | numbers | main.rs:151:9:155:9 | TuplePat | | -| main.rs:151:9:155:9 | TuplePat | main.rs:152:13:152:17 | first | match | -| main.rs:152:13:152:17 | first | main.rs:152:13:152:17 | first | | -| main.rs:152:13:152:17 | first | main.rs:153:13:153:14 | .. | match | -| main.rs:153:13:153:14 | .. | main.rs:154:13:154:16 | last | match | -| main.rs:154:13:154:16 | last | main.rs:154:13:154:16 | last | | -| main.rs:154:13:154:16 | last | main.rs:156:13:156:29 | ExprStmt | match | -| main.rs:155:14:158:9 | { ... } | main.rs:149:5:159:5 | match numbers { ... } | | -| main.rs:156:13:156:21 | print_i64 | main.rs:156:23:156:27 | first | | -| main.rs:156:13:156:28 | print_i64(...) | main.rs:157:13:157:28 | ExprStmt | | -| main.rs:156:13:156:29 | ExprStmt | main.rs:156:13:156:21 | print_i64 | | -| main.rs:156:23:156:27 | first | main.rs:156:13:156:28 | print_i64(...) | | -| main.rs:157:13:157:21 | print_i64 | main.rs:157:23:157:26 | last | | -| main.rs:157:13:157:27 | print_i64(...) | main.rs:155:14:158:9 | { ... } | | -| main.rs:157:13:157:28 | ExprStmt | main.rs:157:13:157:21 | print_i64 | | -| main.rs:157:23:157:26 | last | main.rs:157:13:157:27 | print_i64(...) | | -| main.rs:162:1:170:1 | enter fn match_pattern3 | main.rs:163:5:163:38 | let ... = ... | | -| main.rs:162:1:170:1 | exit fn match_pattern3 (normal) | main.rs:162:1:170:1 | exit fn match_pattern3 | | -| main.rs:162:21:170:1 | { ... } | main.rs:162:1:170:1 | exit fn match_pattern3 (normal) | | -| main.rs:163:5:163:38 | let ... = ... | main.rs:163:25:163:27 | "x" | | -| main.rs:163:9:163:10 | p2 | main.rs:163:9:163:10 | p2 | | -| main.rs:163:9:163:10 | p2 | main.rs:165:11:165:12 | p2 | match | -| main.rs:163:14:163:37 | Point {...} | main.rs:163:9:163:10 | p2 | | -| main.rs:163:25:163:27 | "x" | main.rs:163:33:163:35 | "y" | | -| main.rs:163:33:163:35 | "y" | main.rs:163:14:163:37 | Point {...} | | -| main.rs:165:5:169:5 | match p2 { ... } | main.rs:162:21:170:1 | { ... } | | -| main.rs:165:11:165:12 | p2 | main.rs:166:9:168:9 | Point {...} | | -| main.rs:166:9:168:9 | Point {...} | main.rs:167:16:167:17 | x7 | match | -| main.rs:167:16:167:17 | x7 | main.rs:167:16:167:17 | x7 | | -| main.rs:167:16:167:17 | x7 | main.rs:167:20:167:21 | .. | match | -| main.rs:167:20:167:21 | .. | main.rs:168:14:168:22 | print_str | match | -| main.rs:168:14:168:22 | print_str | main.rs:168:24:168:25 | x7 | | -| main.rs:168:14:168:26 | print_str(...) | main.rs:165:5:169:5 | match p2 { ... } | | -| main.rs:168:24:168:25 | x7 | main.rs:168:14:168:26 | print_str(...) | | -| main.rs:176:1:193:1 | enter fn match_pattern4 | main.rs:177:5:177:39 | let ... = ... | | -| main.rs:176:1:193:1 | exit fn match_pattern4 (normal) | main.rs:176:1:193:1 | exit fn match_pattern4 | | -| main.rs:176:21:193:1 | { ... } | main.rs:176:1:193:1 | exit fn match_pattern4 (normal) | | -| main.rs:177:5:177:39 | let ... = ... | main.rs:177:36:177:36 | 0 | | -| main.rs:177:9:177:11 | msg | main.rs:177:9:177:11 | msg | | -| main.rs:177:9:177:11 | msg | main.rs:179:11:179:13 | msg | match | -| main.rs:177:15:177:38 | ...::Hello {...} | main.rs:177:9:177:11 | msg | | -| main.rs:177:36:177:36 | 0 | main.rs:177:15:177:38 | ...::Hello {...} | | -| main.rs:179:5:192:5 | match msg { ... } | main.rs:176:21:193:1 | { ... } | | -| main.rs:179:11:179:13 | msg | main.rs:181:9:183:9 | ...::Hello {...} | | -| main.rs:181:9:183:9 | ...::Hello {...} | main.rs:182:31:182:35 | RangePat | match | -| main.rs:181:9:183:9 | ...::Hello {...} | main.rs:184:9:184:38 | ...::Hello {...} | no-match | -| main.rs:182:17:182:27 | id_variable | main.rs:182:17:182:35 | id_variable @ ... | | -| main.rs:182:17:182:35 | id_variable @ ... | main.rs:183:14:183:22 | print_i64 | match | -| main.rs:182:31:182:31 | 3 | main.rs:182:31:182:31 | 3 | | -| main.rs:182:31:182:31 | 3 | main.rs:182:35:182:35 | 7 | match | -| main.rs:182:31:182:31 | 3 | main.rs:184:9:184:38 | ...::Hello {...} | no-match | -| main.rs:182:31:182:35 | RangePat | main.rs:182:31:182:31 | 3 | match | -| main.rs:182:35:182:35 | 7 | main.rs:182:17:182:27 | id_variable | match | -| main.rs:182:35:182:35 | 7 | main.rs:182:35:182:35 | 7 | | -| main.rs:182:35:182:35 | 7 | main.rs:184:9:184:38 | ...::Hello {...} | no-match | -| main.rs:183:14:183:22 | print_i64 | main.rs:183:24:183:34 | id_variable | | -| main.rs:183:14:183:35 | print_i64(...) | main.rs:179:5:192:5 | match msg { ... } | | -| main.rs:183:24:183:34 | id_variable | main.rs:183:14:183:35 | print_i64(...) | | -| main.rs:184:9:184:38 | ...::Hello {...} | main.rs:184:30:184:36 | RangePat | match | -| main.rs:184:9:184:38 | ...::Hello {...} | main.rs:187:9:187:29 | ...::Hello {...} | no-match | -| main.rs:184:30:184:31 | 10 | main.rs:184:30:184:31 | 10 | | -| main.rs:184:30:184:31 | 10 | main.rs:184:35:184:36 | 12 | match | -| main.rs:184:30:184:31 | 10 | main.rs:187:9:187:29 | ...::Hello {...} | no-match | -| main.rs:184:30:184:36 | RangePat | main.rs:184:30:184:31 | 10 | match | -| main.rs:184:35:184:36 | 12 | main.rs:184:35:184:36 | 12 | | -| main.rs:184:35:184:36 | 12 | main.rs:185:22:185:51 | ExprStmt | match | -| main.rs:184:35:184:36 | 12 | main.rs:187:9:187:29 | ...::Hello {...} | no-match | -| main.rs:184:43:186:9 | { ... } | main.rs:179:5:192:5 | match msg { ... } | | -| main.rs:185:13:185:52 | ...::_print | main.rs:185:22:185:51 | "Found an id in another range\\... | | -| main.rs:185:13:185:52 | MacroExpr | main.rs:184:43:186:9 | { ... } | | -| main.rs:185:13:185:52 | println!... | main.rs:185:13:185:52 | MacroExpr | | -| main.rs:185:22:185:51 | "Found an id in another range\\... | main.rs:185:22:185:51 | FormatArgsExpr | | -| main.rs:185:22:185:51 | ...::_print(...) | main.rs:185:22:185:51 | { ... } | | -| main.rs:185:22:185:51 | ...::format_args_nl!... | main.rs:185:22:185:51 | MacroExpr | | -| main.rs:185:22:185:51 | ExprStmt | main.rs:185:13:185:52 | ...::_print | | -| main.rs:185:22:185:51 | FormatArgsExpr | main.rs:185:22:185:51 | ...::format_args_nl!... | | -| main.rs:185:22:185:51 | MacroBlockExpr | main.rs:185:13:185:52 | println!... | | -| main.rs:185:22:185:51 | MacroExpr | main.rs:185:22:185:51 | ...::_print(...) | | -| main.rs:185:22:185:51 | { ... } | main.rs:185:22:185:51 | MacroBlockExpr | | -| main.rs:187:9:187:29 | ...::Hello {...} | main.rs:187:26:187:27 | id | match | -| main.rs:187:26:187:27 | id | main.rs:187:26:187:27 | id | | -| main.rs:187:26:187:27 | id | main.rs:190:13:190:21 | print_i64 | match | -| main.rs:189:9:191:9 | { ... } | main.rs:179:5:192:5 | match msg { ... } | | -| main.rs:190:13:190:21 | print_i64 | main.rs:190:23:190:24 | id | | -| main.rs:190:13:190:25 | print_i64(...) | main.rs:189:9:191:9 | { ... } | | -| main.rs:190:23:190:24 | id | main.rs:190:13:190:25 | print_i64(...) | | -| main.rs:200:1:206:1 | enter fn match_pattern5 | main.rs:201:5:201:34 | let ... = ... | | -| main.rs:200:1:206:1 | exit fn match_pattern5 (normal) | main.rs:200:1:206:1 | exit fn match_pattern5 | | -| main.rs:200:21:206:1 | { ... } | main.rs:200:1:206:1 | exit fn match_pattern5 (normal) | | -| main.rs:201:5:201:34 | let ... = ... | main.rs:201:18:201:29 | ...::Left | | -| main.rs:201:9:201:14 | either | main.rs:201:9:201:14 | either | | -| main.rs:201:9:201:14 | either | main.rs:202:11:202:16 | either | match | -| main.rs:201:18:201:29 | ...::Left | main.rs:201:31:201:32 | 32 | | -| main.rs:201:18:201:33 | ...::Left(...) | main.rs:201:9:201:14 | either | | -| main.rs:201:31:201:32 | 32 | main.rs:201:18:201:33 | ...::Left(...) | | -| main.rs:202:5:205:5 | match either { ... } | main.rs:200:21:206:1 | { ... } | | -| main.rs:202:11:202:16 | either | main.rs:203:9:203:24 | ...::Left(...) | | -| main.rs:203:9:203:24 | ...::Left(...) | main.rs:203:22:203:23 | a3 | match | -| main.rs:203:9:203:24 | ...::Left(...) | main.rs:203:28:203:44 | ...::Right(...) | no-match | -| main.rs:203:9:203:44 | ... \| ... | main.rs:204:16:204:24 | print_i64 | match | -| main.rs:203:22:203:23 | a3 | main.rs:203:9:203:44 | ... \| ... | match | -| main.rs:203:22:203:23 | a3 | main.rs:203:22:203:23 | a3 | | -| main.rs:203:28:203:44 | ...::Right(...) | main.rs:203:42:203:43 | a3 | match | -| main.rs:203:42:203:43 | a3 | main.rs:203:9:203:44 | ... \| ... | match | -| main.rs:203:42:203:43 | a3 | main.rs:203:42:203:43 | a3 | | -| main.rs:204:16:204:24 | print_i64 | main.rs:204:26:204:27 | a3 | | -| main.rs:204:16:204:28 | print_i64(...) | main.rs:202:5:205:5 | match either { ... } | | -| main.rs:204:26:204:27 | a3 | main.rs:204:16:204:28 | print_i64(...) | | -| main.rs:214:1:228:1 | enter fn match_pattern6 | main.rs:215:5:215:37 | let ... = ... | | -| main.rs:214:1:228:1 | exit fn match_pattern6 (normal) | main.rs:214:1:228:1 | exit fn match_pattern6 | | -| main.rs:214:21:228:1 | { ... } | main.rs:214:1:228:1 | exit fn match_pattern6 (normal) | | -| main.rs:215:5:215:37 | let ... = ... | main.rs:215:14:215:32 | ...::Second | | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | | -| main.rs:215:9:215:10 | tv | main.rs:216:5:219:5 | ExprStmt | match | -| main.rs:215:14:215:32 | ...::Second | main.rs:215:34:215:35 | 62 | | -| main.rs:215:14:215:36 | ...::Second(...) | main.rs:215:9:215:10 | tv | | -| main.rs:215:34:215:35 | 62 | main.rs:215:14:215:36 | ...::Second(...) | | -| main.rs:216:5:219:5 | ExprStmt | main.rs:216:11:216:12 | tv | | -| main.rs:216:5:219:5 | match tv { ... } | main.rs:220:5:223:5 | ExprStmt | | -| main.rs:216:11:216:12 | tv | main.rs:217:9:217:30 | ...::First(...) | | -| main.rs:217:9:217:30 | ...::First(...) | main.rs:217:28:217:29 | a4 | match | -| main.rs:217:9:217:30 | ...::First(...) | main.rs:217:34:217:56 | ...::Second(...) | no-match | -| main.rs:217:9:217:81 | ... \| ... \| ... | main.rs:218:16:218:24 | print_i64 | match | -| main.rs:217:28:217:29 | a4 | main.rs:217:9:217:81 | ... \| ... \| ... | match | -| main.rs:217:28:217:29 | a4 | main.rs:217:28:217:29 | a4 | | -| main.rs:217:34:217:56 | ...::Second(...) | main.rs:217:54:217:55 | a4 | match | -| main.rs:217:34:217:56 | ...::Second(...) | main.rs:217:60:217:81 | ...::Third(...) | no-match | -| main.rs:217:54:217:55 | a4 | main.rs:217:9:217:81 | ... \| ... \| ... | match | -| main.rs:217:54:217:55 | a4 | main.rs:217:54:217:55 | a4 | | -| main.rs:217:60:217:81 | ...::Third(...) | main.rs:217:79:217:80 | a4 | match | -| main.rs:217:79:217:80 | a4 | main.rs:217:9:217:81 | ... \| ... \| ... | match | -| main.rs:217:79:217:80 | a4 | main.rs:217:79:217:80 | a4 | | -| main.rs:218:16:218:24 | print_i64 | main.rs:218:26:218:27 | a4 | | -| main.rs:218:16:218:28 | print_i64(...) | main.rs:216:5:219:5 | match tv { ... } | | -| main.rs:218:26:218:27 | a4 | main.rs:218:16:218:28 | print_i64(...) | | -| main.rs:220:5:223:5 | ExprStmt | main.rs:220:11:220:12 | tv | | -| main.rs:220:5:223:5 | match tv { ... } | main.rs:224:11:224:12 | tv | | -| main.rs:220:11:220:12 | tv | main.rs:221:10:221:31 | ...::First(...) | | -| main.rs:221:9:221:83 | ... \| ... | main.rs:222:16:222:24 | print_i64 | match | -| main.rs:221:10:221:31 | ...::First(...) | main.rs:221:29:221:30 | a5 | match | -| main.rs:221:10:221:31 | ...::First(...) | main.rs:221:35:221:57 | ...::Second(...) | no-match | -| main.rs:221:10:221:57 | [match(false)] ... \| ... | main.rs:221:62:221:83 | ...::Third(...) | no-match | -| main.rs:221:10:221:57 | [match(true)] ... \| ... | main.rs:221:9:221:83 | ... \| ... | match | -| main.rs:221:29:221:30 | a5 | main.rs:221:10:221:57 | [match(true)] ... \| ... | match | -| main.rs:221:29:221:30 | a5 | main.rs:221:29:221:30 | a5 | | -| main.rs:221:35:221:57 | ...::Second(...) | main.rs:221:10:221:57 | [match(false)] ... \| ... | no-match | -| main.rs:221:35:221:57 | ...::Second(...) | main.rs:221:55:221:56 | a5 | match | -| main.rs:221:55:221:56 | a5 | main.rs:221:10:221:57 | [match(true)] ... \| ... | match | -| main.rs:221:55:221:56 | a5 | main.rs:221:55:221:56 | a5 | | -| main.rs:221:62:221:83 | ...::Third(...) | main.rs:221:81:221:82 | a5 | match | -| main.rs:221:81:221:82 | a5 | main.rs:221:9:221:83 | ... \| ... | match | -| main.rs:221:81:221:82 | a5 | main.rs:221:81:221:82 | a5 | | -| main.rs:222:16:222:24 | print_i64 | main.rs:222:26:222:27 | a5 | | -| main.rs:222:16:222:28 | print_i64(...) | main.rs:220:5:223:5 | match tv { ... } | | -| main.rs:222:26:222:27 | a5 | main.rs:222:16:222:28 | print_i64(...) | | -| main.rs:224:5:227:5 | match tv { ... } | main.rs:214:21:228:1 | { ... } | | -| main.rs:224:11:224:12 | tv | main.rs:225:9:225:30 | ...::First(...) | | -| main.rs:225:9:225:30 | ...::First(...) | main.rs:225:28:225:29 | a6 | match | -| main.rs:225:9:225:30 | ...::First(...) | main.rs:225:35:225:57 | ...::Second(...) | no-match | -| main.rs:225:9:225:83 | ... \| ... | main.rs:226:16:226:24 | print_i64 | match | -| main.rs:225:28:225:29 | a6 | main.rs:225:9:225:83 | ... \| ... | match | -| main.rs:225:28:225:29 | a6 | main.rs:225:28:225:29 | a6 | | -| main.rs:225:35:225:57 | ...::Second(...) | main.rs:225:55:225:56 | a6 | match | -| main.rs:225:35:225:57 | ...::Second(...) | main.rs:225:61:225:82 | ...::Third(...) | no-match | -| main.rs:225:35:225:82 | ... \| ... | main.rs:225:9:225:83 | ... \| ... | match | -| main.rs:225:55:225:56 | a6 | main.rs:225:35:225:82 | ... \| ... | match | -| main.rs:225:55:225:56 | a6 | main.rs:225:55:225:56 | a6 | | -| main.rs:225:61:225:82 | ...::Third(...) | main.rs:225:80:225:81 | a6 | match | -| main.rs:225:80:225:81 | a6 | main.rs:225:35:225:82 | ... \| ... | match | -| main.rs:225:80:225:81 | a6 | main.rs:225:80:225:81 | a6 | | -| main.rs:226:16:226:24 | print_i64 | main.rs:226:26:226:27 | a6 | | -| main.rs:226:16:226:28 | print_i64(...) | main.rs:224:5:227:5 | match tv { ... } | | -| main.rs:226:26:226:27 | a6 | main.rs:226:16:226:28 | print_i64(...) | | -| main.rs:230:1:238:1 | enter fn match_pattern7 | main.rs:231:5:231:34 | let ... = ... | | -| main.rs:230:1:238:1 | exit fn match_pattern7 (normal) | main.rs:230:1:238:1 | exit fn match_pattern7 | | -| main.rs:230:21:238:1 | { ... } | main.rs:230:1:238:1 | exit fn match_pattern7 (normal) | | -| main.rs:231:5:231:34 | let ... = ... | main.rs:231:18:231:29 | ...::Left | | -| main.rs:231:9:231:14 | either | main.rs:231:9:231:14 | either | | -| main.rs:231:9:231:14 | either | main.rs:232:11:232:16 | either | match | -| main.rs:231:18:231:29 | ...::Left | main.rs:231:31:231:32 | 32 | | -| main.rs:231:18:231:33 | ...::Left(...) | main.rs:231:9:231:14 | either | | -| main.rs:231:31:231:32 | 32 | main.rs:231:18:231:33 | ...::Left(...) | | -| main.rs:232:5:237:5 | match either { ... } | main.rs:230:21:238:1 | { ... } | | -| main.rs:232:11:232:16 | either | main.rs:233:9:233:24 | ...::Left(...) | | -| main.rs:233:9:233:24 | ...::Left(...) | main.rs:233:22:233:23 | a7 | match | -| main.rs:233:9:233:24 | ...::Left(...) | main.rs:233:28:233:44 | ...::Right(...) | no-match | -| main.rs:233:9:233:44 | [match(false)] ... \| ... | main.rs:236:9:236:9 | _ | no-match | -| main.rs:233:9:233:44 | [match(true)] ... \| ... | main.rs:234:16:234:17 | a7 | match | -| main.rs:233:22:233:23 | a7 | main.rs:233:9:233:44 | [match(true)] ... \| ... | match | -| main.rs:233:22:233:23 | a7 | main.rs:233:22:233:23 | a7 | | -| main.rs:233:28:233:44 | ...::Right(...) | main.rs:233:9:233:44 | [match(false)] ... \| ... | no-match | -| main.rs:233:28:233:44 | ...::Right(...) | main.rs:233:42:233:43 | a7 | match | -| main.rs:233:42:233:43 | a7 | main.rs:233:9:233:44 | [match(true)] ... \| ... | match | -| main.rs:233:42:233:43 | a7 | main.rs:233:42:233:43 | a7 | | -| main.rs:234:16:234:17 | a7 | main.rs:234:21:234:21 | 0 | | -| main.rs:234:16:234:21 | ... > ... | main.rs:235:16:235:24 | print_i64 | true | -| main.rs:234:16:234:21 | ... > ... | main.rs:236:9:236:9 | _ | false | -| main.rs:234:21:234:21 | 0 | main.rs:234:16:234:21 | ... > ... | | -| main.rs:235:16:235:24 | print_i64 | main.rs:235:26:235:27 | a7 | | -| main.rs:235:16:235:28 | print_i64(...) | main.rs:232:5:237:5 | match either { ... } | | -| main.rs:235:26:235:27 | a7 | main.rs:235:16:235:28 | print_i64(...) | | -| main.rs:236:9:236:9 | _ | main.rs:236:14:236:15 | TupleExpr | match | -| main.rs:236:14:236:15 | TupleExpr | main.rs:232:5:237:5 | match either { ... } | | -| main.rs:240:1:255:1 | enter fn match_pattern8 | main.rs:241:5:241:34 | let ... = ... | | -| main.rs:240:1:255:1 | exit fn match_pattern8 (normal) | main.rs:240:1:255:1 | exit fn match_pattern8 | | -| main.rs:240:21:255:1 | { ... } | main.rs:240:1:255:1 | exit fn match_pattern8 (normal) | | -| main.rs:241:5:241:34 | let ... = ... | main.rs:241:18:241:29 | ...::Left | | -| main.rs:241:9:241:14 | either | main.rs:241:9:241:14 | either | | -| main.rs:241:9:241:14 | either | main.rs:243:11:243:16 | either | match | -| main.rs:241:18:241:29 | ...::Left | main.rs:241:31:241:32 | 32 | | -| main.rs:241:18:241:33 | ...::Left(...) | main.rs:241:9:241:14 | either | | -| main.rs:241:31:241:32 | 32 | main.rs:241:18:241:33 | ...::Left(...) | | -| main.rs:243:5:254:5 | match either { ... } | main.rs:240:21:255:1 | { ... } | | -| main.rs:243:11:243:16 | either | main.rs:245:14:245:30 | ...::Left(...) | | -| main.rs:244:9:245:52 | ref e @ ... | main.rs:247:13:247:27 | ExprStmt | match | -| main.rs:244:13:244:13 | e | main.rs:244:9:245:52 | ref e @ ... | | -| main.rs:245:14:245:30 | ...::Left(...) | main.rs:245:27:245:29 | a11 | match | -| main.rs:245:14:245:30 | ...::Left(...) | main.rs:245:34:245:51 | ...::Right(...) | no-match | -| main.rs:245:14:245:51 | [match(false)] ... \| ... | main.rs:253:9:253:9 | _ | no-match | -| main.rs:245:14:245:51 | [match(true)] ... \| ... | main.rs:244:13:244:13 | e | match | -| main.rs:245:27:245:29 | a11 | main.rs:245:14:245:51 | [match(true)] ... \| ... | match | -| main.rs:245:27:245:29 | a11 | main.rs:245:27:245:29 | a11 | | -| main.rs:245:34:245:51 | ...::Right(...) | main.rs:245:14:245:51 | [match(false)] ... \| ... | no-match | -| main.rs:245:34:245:51 | ...::Right(...) | main.rs:245:48:245:50 | a11 | match | -| main.rs:245:48:245:50 | a11 | main.rs:245:14:245:51 | [match(true)] ... \| ... | match | -| main.rs:245:48:245:50 | a11 | main.rs:245:48:245:50 | a11 | | -| main.rs:246:12:252:9 | { ... } | main.rs:243:5:254:5 | match either { ... } | | -| main.rs:247:13:247:21 | print_i64 | main.rs:247:23:247:25 | a11 | | -| main.rs:247:13:247:26 | print_i64(...) | main.rs:248:16:249:15 | let ... = e | | -| main.rs:247:13:247:27 | ExprStmt | main.rs:247:13:247:21 | print_i64 | | -| main.rs:247:23:247:25 | a11 | main.rs:247:13:247:26 | print_i64(...) | | -| main.rs:248:13:251:13 | if ... {...} | main.rs:246:12:252:9 | { ... } | | -| main.rs:248:16:249:15 | let ... = e | main.rs:249:15:249:15 | e | | -| main.rs:248:20:248:36 | ...::Left(...) | main.rs:248:13:251:13 | if ... {...} | no-match | -| main.rs:248:20:248:36 | ...::Left(...) | main.rs:248:33:248:35 | a12 | match | -| main.rs:248:33:248:35 | a12 | main.rs:248:33:248:35 | a12 | | -| main.rs:248:33:248:35 | a12 | main.rs:250:17:250:32 | ExprStmt | match | -| main.rs:249:15:249:15 | e | main.rs:248:20:248:36 | ...::Left(...) | | -| main.rs:249:17:251:13 | { ... } | main.rs:248:13:251:13 | if ... {...} | | -| main.rs:250:17:250:25 | print_i64 | main.rs:250:28:250:30 | a12 | | -| main.rs:250:17:250:31 | print_i64(...) | main.rs:249:17:251:13 | { ... } | | -| main.rs:250:17:250:32 | ExprStmt | main.rs:250:17:250:25 | print_i64 | | -| main.rs:250:27:250:30 | * ... | main.rs:250:17:250:31 | print_i64(...) | | -| main.rs:250:28:250:30 | a12 | main.rs:250:27:250:30 | * ... | | -| main.rs:253:9:253:9 | _ | main.rs:253:14:253:15 | TupleExpr | match | -| main.rs:253:14:253:15 | TupleExpr | main.rs:243:5:254:5 | match either { ... } | | -| main.rs:264:1:270:1 | enter fn match_pattern9 | main.rs:265:5:265:36 | let ... = ... | | -| main.rs:264:1:270:1 | exit fn match_pattern9 (normal) | main.rs:264:1:270:1 | exit fn match_pattern9 | | -| main.rs:264:21:270:1 | { ... } | main.rs:264:1:270:1 | exit fn match_pattern9 (normal) | | -| main.rs:265:5:265:36 | let ... = ... | main.rs:265:14:265:31 | ...::Second | | -| main.rs:265:9:265:10 | fv | main.rs:265:9:265:10 | fv | | -| main.rs:265:9:265:10 | fv | main.rs:266:11:266:12 | fv | match | -| main.rs:265:14:265:31 | ...::Second | main.rs:265:33:265:34 | 62 | | -| main.rs:265:14:265:35 | ...::Second(...) | main.rs:265:9:265:10 | fv | | -| main.rs:265:33:265:34 | 62 | main.rs:265:14:265:35 | ...::Second(...) | | -| main.rs:266:5:269:5 | match fv { ... } | main.rs:264:21:270:1 | { ... } | | -| main.rs:266:11:266:12 | fv | main.rs:267:9:267:30 | ...::First(...) | | -| main.rs:267:9:267:30 | ...::First(...) | main.rs:267:27:267:29 | a13 | match | -| main.rs:267:9:267:30 | ...::First(...) | main.rs:267:35:267:57 | ...::Second(...) | no-match | -| main.rs:267:9:267:109 | ... \| ... \| ... | main.rs:268:16:268:24 | print_i64 | match | -| main.rs:267:27:267:29 | a13 | main.rs:267:9:267:109 | ... \| ... \| ... | match | -| main.rs:267:27:267:29 | a13 | main.rs:267:27:267:29 | a13 | | -| main.rs:267:35:267:57 | ...::Second(...) | main.rs:267:54:267:56 | a13 | match | -| main.rs:267:35:267:57 | ...::Second(...) | main.rs:267:61:267:82 | ...::Third(...) | no-match | -| main.rs:267:35:267:82 | [match(false)] ... \| ... | main.rs:267:87:267:109 | ...::Fourth(...) | no-match | -| main.rs:267:35:267:82 | [match(true)] ... \| ... | main.rs:267:9:267:109 | ... \| ... \| ... | match | -| main.rs:267:54:267:56 | a13 | main.rs:267:35:267:82 | [match(true)] ... \| ... | match | -| main.rs:267:54:267:56 | a13 | main.rs:267:54:267:56 | a13 | | -| main.rs:267:61:267:82 | ...::Third(...) | main.rs:267:35:267:82 | [match(false)] ... \| ... | no-match | -| main.rs:267:61:267:82 | ...::Third(...) | main.rs:267:79:267:81 | a13 | match | -| main.rs:267:79:267:81 | a13 | main.rs:267:35:267:82 | [match(true)] ... \| ... | match | -| main.rs:267:79:267:81 | a13 | main.rs:267:79:267:81 | a13 | | -| main.rs:267:87:267:109 | ...::Fourth(...) | main.rs:267:106:267:108 | a13 | match | -| main.rs:267:106:267:108 | a13 | main.rs:267:9:267:109 | ... \| ... \| ... | match | -| main.rs:267:106:267:108 | a13 | main.rs:267:106:267:108 | a13 | | -| main.rs:268:16:268:24 | print_i64 | main.rs:268:26:268:28 | a13 | | -| main.rs:268:16:268:29 | print_i64(...) | main.rs:266:5:269:5 | match fv { ... } | | -| main.rs:268:26:268:28 | a13 | main.rs:268:16:268:29 | print_i64(...) | | -| main.rs:272:1:282:1 | enter fn param_pattern1 | main.rs:273:5:273:6 | a8 | | -| main.rs:272:1:282:1 | exit fn param_pattern1 (normal) | main.rs:272:1:282:1 | exit fn param_pattern1 | | -| main.rs:273:5:273:6 | a8 | main.rs:273:5:273:6 | a8 | | -| main.rs:273:5:273:6 | a8 | main.rs:273:5:273:12 | ...: ... | match | -| main.rs:273:5:273:12 | ...: ... | main.rs:274:5:277:5 | TuplePat | | -| main.rs:274:5:277:5 | TuplePat | main.rs:275:9:275:10 | b3 | match | -| main.rs:274:5:277:19 | ...: ... | main.rs:279:5:279:18 | ExprStmt | | -| main.rs:275:9:275:10 | b3 | main.rs:275:9:275:10 | b3 | | -| main.rs:275:9:275:10 | b3 | main.rs:276:9:276:10 | c1 | match | -| main.rs:276:9:276:10 | c1 | main.rs:274:5:277:19 | ...: ... | match | -| main.rs:276:9:276:10 | c1 | main.rs:276:9:276:10 | c1 | | -| main.rs:278:9:282:1 | { ... } | main.rs:272:1:282:1 | exit fn param_pattern1 (normal) | | -| main.rs:279:5:279:13 | print_str | main.rs:279:15:279:16 | a8 | | -| main.rs:279:5:279:17 | print_str(...) | main.rs:280:5:280:18 | ExprStmt | | -| main.rs:279:5:279:18 | ExprStmt | main.rs:279:5:279:13 | print_str | | -| main.rs:279:15:279:16 | a8 | main.rs:279:5:279:17 | print_str(...) | | -| main.rs:280:5:280:13 | print_str | main.rs:280:15:280:16 | b3 | | -| main.rs:280:5:280:17 | print_str(...) | main.rs:281:5:281:18 | ExprStmt | | -| main.rs:280:5:280:18 | ExprStmt | main.rs:280:5:280:13 | print_str | | -| main.rs:280:15:280:16 | b3 | main.rs:280:5:280:17 | print_str(...) | | -| main.rs:281:5:281:13 | print_str | main.rs:281:15:281:16 | c1 | | -| main.rs:281:5:281:17 | print_str(...) | main.rs:278:9:282:1 | { ... } | | -| main.rs:281:5:281:18 | ExprStmt | main.rs:281:5:281:13 | print_str | | -| main.rs:281:15:281:16 | c1 | main.rs:281:5:281:17 | print_str(...) | | -| main.rs:284:1:287:1 | enter fn param_pattern2 | main.rs:284:20:284:35 | ...::Left(...) | | -| main.rs:284:1:287:1 | exit fn param_pattern2 (normal) | main.rs:284:1:287:1 | exit fn param_pattern2 | | -| main.rs:284:19:284:64 | ...: Either | main.rs:286:5:286:18 | ExprStmt | | -| main.rs:284:20:284:35 | ...::Left(...) | main.rs:284:33:284:34 | a9 | match | -| main.rs:284:20:284:35 | ...::Left(...) | main.rs:284:39:284:55 | ...::Right(...) | no-match | -| main.rs:284:20:284:55 | ... \| ... | main.rs:284:19:284:64 | ...: Either | match | -| main.rs:284:33:284:34 | a9 | main.rs:284:20:284:55 | ... \| ... | match | -| main.rs:284:33:284:34 | a9 | main.rs:284:33:284:34 | a9 | | -| main.rs:284:39:284:55 | ...::Right(...) | main.rs:284:53:284:54 | a9 | match | -| main.rs:284:53:284:54 | a9 | main.rs:284:20:284:55 | ... \| ... | match | -| main.rs:284:53:284:54 | a9 | main.rs:284:53:284:54 | a9 | | -| main.rs:285:9:287:1 | { ... } | main.rs:284:1:287:1 | exit fn param_pattern2 (normal) | | -| main.rs:286:5:286:13 | print_i64 | main.rs:286:15:286:16 | a9 | | -| main.rs:286:5:286:17 | print_i64(...) | main.rs:285:9:287:1 | { ... } | | -| main.rs:286:5:286:18 | ExprStmt | main.rs:286:5:286:13 | print_i64 | | -| main.rs:286:15:286:16 | a9 | main.rs:286:5:286:17 | print_i64(...) | | -| main.rs:289:1:324:1 | enter fn destruct_assignment | main.rs:290:5:294:18 | let ... = ... | | -| main.rs:289:1:324:1 | exit fn destruct_assignment (normal) | main.rs:289:1:324:1 | exit fn destruct_assignment | | -| main.rs:289:26:324:1 | { ... } | main.rs:289:1:324:1 | exit fn destruct_assignment (normal) | | -| main.rs:290:5:294:18 | let ... = ... | main.rs:294:10:294:10 | 1 | | -| main.rs:290:9:294:5 | TuplePat | main.rs:291:13:291:15 | a10 | match | -| main.rs:291:9:291:15 | mut a10 | main.rs:292:13:292:14 | b4 | match | -| main.rs:291:13:291:15 | a10 | main.rs:291:9:291:15 | mut a10 | | -| main.rs:292:9:292:14 | mut b4 | main.rs:293:13:293:14 | c2 | match | -| main.rs:292:13:292:14 | b4 | main.rs:292:9:292:14 | mut b4 | | -| main.rs:293:9:293:14 | mut c2 | main.rs:295:5:295:19 | ExprStmt | match | -| main.rs:293:13:293:14 | c2 | main.rs:293:9:293:14 | mut c2 | | -| main.rs:294:9:294:17 | TupleExpr | main.rs:290:9:294:5 | TuplePat | | -| main.rs:294:10:294:10 | 1 | main.rs:294:13:294:13 | 2 | | -| main.rs:294:13:294:13 | 2 | main.rs:294:16:294:16 | 3 | | -| main.rs:294:16:294:16 | 3 | main.rs:294:9:294:17 | TupleExpr | | -| main.rs:295:5:295:13 | print_i64 | main.rs:295:15:295:17 | a10 | | -| main.rs:295:5:295:18 | print_i64(...) | main.rs:296:5:296:18 | ExprStmt | | -| main.rs:295:5:295:19 | ExprStmt | main.rs:295:5:295:13 | print_i64 | | -| main.rs:295:15:295:17 | a10 | main.rs:295:5:295:18 | print_i64(...) | | -| main.rs:296:5:296:13 | print_i64 | main.rs:296:15:296:16 | b4 | | -| main.rs:296:5:296:17 | print_i64(...) | main.rs:297:5:297:18 | ExprStmt | | -| main.rs:296:5:296:18 | ExprStmt | main.rs:296:5:296:13 | print_i64 | | -| main.rs:296:15:296:16 | b4 | main.rs:296:5:296:17 | print_i64(...) | | -| main.rs:297:5:297:13 | print_i64 | main.rs:297:15:297:16 | c2 | | -| main.rs:297:5:297:17 | print_i64(...) | main.rs:299:5:307:6 | ExprStmt | | -| main.rs:297:5:297:18 | ExprStmt | main.rs:297:5:297:13 | print_i64 | | -| main.rs:297:15:297:16 | c2 | main.rs:297:5:297:17 | print_i64(...) | | -| main.rs:299:5:303:5 | TupleExpr | main.rs:304:9:304:11 | a10 | | -| main.rs:299:5:307:5 | ... = ... | main.rs:308:5:308:19 | ExprStmt | | -| main.rs:299:5:307:6 | ExprStmt | main.rs:300:9:300:10 | c2 | | -| main.rs:300:9:300:10 | c2 | main.rs:301:9:301:10 | b4 | | -| main.rs:301:9:301:10 | b4 | main.rs:302:9:302:11 | a10 | | -| main.rs:302:9:302:11 | a10 | main.rs:299:5:303:5 | TupleExpr | | -| main.rs:303:9:307:5 | TupleExpr | main.rs:299:5:307:5 | ... = ... | | -| main.rs:304:9:304:11 | a10 | main.rs:305:9:305:10 | b4 | | -| main.rs:305:9:305:10 | b4 | main.rs:306:9:306:10 | c2 | | -| main.rs:306:9:306:10 | c2 | main.rs:303:9:307:5 | TupleExpr | | -| main.rs:308:5:308:13 | print_i64 | main.rs:308:15:308:17 | a10 | | -| main.rs:308:5:308:18 | print_i64(...) | main.rs:309:5:309:18 | ExprStmt | | -| main.rs:308:5:308:19 | ExprStmt | main.rs:308:5:308:13 | print_i64 | | -| main.rs:308:15:308:17 | a10 | main.rs:308:5:308:18 | print_i64(...) | | -| main.rs:309:5:309:13 | print_i64 | main.rs:309:15:309:16 | b4 | | -| main.rs:309:5:309:17 | print_i64(...) | main.rs:310:5:310:18 | ExprStmt | | -| main.rs:309:5:309:18 | ExprStmt | main.rs:309:5:309:13 | print_i64 | | -| main.rs:309:15:309:16 | b4 | main.rs:309:5:309:17 | print_i64(...) | | -| main.rs:310:5:310:13 | print_i64 | main.rs:310:15:310:16 | c2 | | -| main.rs:310:5:310:17 | print_i64(...) | main.rs:312:5:320:5 | ExprStmt | | -| main.rs:310:5:310:18 | ExprStmt | main.rs:310:5:310:13 | print_i64 | | -| main.rs:310:15:310:16 | c2 | main.rs:310:5:310:17 | print_i64(...) | | -| main.rs:312:5:320:5 | ExprStmt | main.rs:312:12:312:12 | 4 | | -| main.rs:312:5:320:5 | match ... { ... } | main.rs:322:5:322:19 | ExprStmt | | -| main.rs:312:11:312:16 | TupleExpr | main.rs:313:9:316:9 | TuplePat | | -| main.rs:312:12:312:12 | 4 | main.rs:312:15:312:15 | 5 | | -| main.rs:312:15:312:15 | 5 | main.rs:312:11:312:16 | TupleExpr | | -| main.rs:313:9:316:9 | TuplePat | main.rs:314:13:314:15 | a10 | match | -| main.rs:314:13:314:15 | a10 | main.rs:314:13:314:15 | a10 | | -| main.rs:314:13:314:15 | a10 | main.rs:315:13:315:14 | b4 | match | -| main.rs:315:13:315:14 | b4 | main.rs:315:13:315:14 | b4 | | -| main.rs:315:13:315:14 | b4 | main.rs:317:13:317:27 | ExprStmt | match | -| main.rs:316:14:319:9 | { ... } | main.rs:312:5:320:5 | match ... { ... } | | -| main.rs:317:13:317:21 | print_i64 | main.rs:317:23:317:25 | a10 | | -| main.rs:317:13:317:26 | print_i64(...) | main.rs:318:13:318:26 | ExprStmt | | -| main.rs:317:13:317:27 | ExprStmt | main.rs:317:13:317:21 | print_i64 | | -| main.rs:317:23:317:25 | a10 | main.rs:317:13:317:26 | print_i64(...) | | -| main.rs:318:13:318:21 | print_i64 | main.rs:318:23:318:24 | b4 | | -| main.rs:318:13:318:25 | print_i64(...) | main.rs:316:14:319:9 | { ... } | | -| main.rs:318:13:318:26 | ExprStmt | main.rs:318:13:318:21 | print_i64 | | -| main.rs:318:23:318:24 | b4 | main.rs:318:13:318:25 | print_i64(...) | | -| main.rs:322:5:322:13 | print_i64 | main.rs:322:15:322:17 | a10 | | -| main.rs:322:5:322:18 | print_i64(...) | main.rs:323:5:323:18 | ExprStmt | | -| main.rs:322:5:322:19 | ExprStmt | main.rs:322:5:322:13 | print_i64 | | -| main.rs:322:15:322:17 | a10 | main.rs:322:5:322:18 | print_i64(...) | | -| main.rs:323:5:323:13 | print_i64 | main.rs:323:15:323:16 | b4 | | -| main.rs:323:5:323:17 | print_i64(...) | main.rs:289:26:324:1 | { ... } | | -| main.rs:323:5:323:18 | ExprStmt | main.rs:323:5:323:13 | print_i64 | | -| main.rs:323:15:323:16 | b4 | main.rs:323:5:323:17 | print_i64(...) | | -| main.rs:326:1:341:1 | enter fn closure_variable | main.rs:327:5:329:10 | let ... = ... | | -| main.rs:326:1:341:1 | exit fn closure_variable (normal) | main.rs:326:1:341:1 | exit fn closure_variable | | -| main.rs:326:23:341:1 | { ... } | main.rs:326:1:341:1 | exit fn closure_variable (normal) | | -| main.rs:327:5:329:10 | let ... = ... | main.rs:328:9:329:9 | \|...\| x | | -| main.rs:327:9:327:23 | example_closure | main.rs:327:9:327:23 | example_closure | | -| main.rs:327:9:327:23 | example_closure | main.rs:330:5:331:27 | let ... = ... | match | -| main.rs:328:9:329:9 | \|...\| x | main.rs:327:9:327:23 | example_closure | | -| main.rs:328:9:329:9 | enter \|...\| x | main.rs:328:10:328:10 | x | | -| main.rs:328:9:329:9 | exit \|...\| x (normal) | main.rs:328:9:329:9 | exit \|...\| x | | -| main.rs:328:10:328:10 | x | main.rs:328:10:328:10 | x | | -| main.rs:328:10:328:10 | x | main.rs:328:10:328:15 | ...: i64 | match | -| main.rs:328:10:328:15 | ...: i64 | main.rs:329:9:329:9 | x | | -| main.rs:329:9:329:9 | x | main.rs:328:9:329:9 | exit \|...\| x (normal) | | -| main.rs:330:5:331:27 | let ... = ... | main.rs:331:9:331:23 | example_closure | | -| main.rs:330:9:330:10 | n1 | main.rs:330:9:330:10 | n1 | | -| main.rs:330:9:330:10 | n1 | main.rs:332:5:332:18 | ExprStmt | match | -| main.rs:331:9:331:23 | example_closure | main.rs:331:25:331:25 | 5 | | -| main.rs:331:9:331:26 | example_closure(...) | main.rs:330:9:330:10 | n1 | | -| main.rs:331:25:331:25 | 5 | main.rs:331:9:331:26 | example_closure(...) | | -| main.rs:332:5:332:13 | print_i64 | main.rs:332:15:332:16 | n1 | | -| main.rs:332:5:332:17 | print_i64(...) | main.rs:334:5:334:25 | ExprStmt | | -| main.rs:332:5:332:18 | ExprStmt | main.rs:332:5:332:13 | print_i64 | | -| main.rs:332:15:332:16 | n1 | main.rs:332:5:332:17 | print_i64(...) | | -| main.rs:334:5:334:22 | immutable_variable | main.rs:334:5:334:24 | immutable_variable(...) | | -| main.rs:334:5:334:24 | immutable_variable(...) | main.rs:335:5:337:10 | let ... = ... | | -| main.rs:334:5:334:25 | ExprStmt | main.rs:334:5:334:22 | immutable_variable | | -| main.rs:335:5:337:10 | let ... = ... | main.rs:336:5:337:9 | \|...\| x | | -| main.rs:335:9:335:26 | immutable_variable | main.rs:335:9:335:26 | immutable_variable | | -| main.rs:335:9:335:26 | immutable_variable | main.rs:338:5:339:30 | let ... = ... | match | -| main.rs:336:5:337:9 | \|...\| x | main.rs:335:9:335:26 | immutable_variable | | -| main.rs:336:5:337:9 | enter \|...\| x | main.rs:336:6:336:6 | x | | -| main.rs:336:5:337:9 | exit \|...\| x (normal) | main.rs:336:5:337:9 | exit \|...\| x | | -| main.rs:336:6:336:6 | x | main.rs:336:6:336:6 | x | | -| main.rs:336:6:336:6 | x | main.rs:336:6:336:11 | ...: i64 | match | -| main.rs:336:6:336:11 | ...: i64 | main.rs:337:9:337:9 | x | | -| main.rs:337:9:337:9 | x | main.rs:336:5:337:9 | exit \|...\| x (normal) | | -| main.rs:338:5:339:30 | let ... = ... | main.rs:339:9:339:26 | immutable_variable | | -| main.rs:338:9:338:10 | n2 | main.rs:338:9:338:10 | n2 | | -| main.rs:338:9:338:10 | n2 | main.rs:340:5:340:18 | ExprStmt | match | -| main.rs:339:9:339:26 | immutable_variable | main.rs:339:28:339:28 | 6 | | -| main.rs:339:9:339:29 | immutable_variable(...) | main.rs:338:9:338:10 | n2 | | -| main.rs:339:28:339:28 | 6 | main.rs:339:9:339:29 | immutable_variable(...) | | -| main.rs:340:5:340:13 | print_i64 | main.rs:340:15:340:16 | n2 | | -| main.rs:340:5:340:17 | print_i64(...) | main.rs:326:23:341:1 | { ... } | | -| main.rs:340:5:340:18 | ExprStmt | main.rs:340:5:340:13 | print_i64 | | -| main.rs:340:15:340:16 | n2 | main.rs:340:5:340:17 | print_i64(...) | | -| main.rs:343:1:373:1 | enter fn nested_function | main.rs:345:5:347:10 | let ... = ... | | -| main.rs:343:1:373:1 | exit fn nested_function (normal) | main.rs:343:1:373:1 | exit fn nested_function | | -| main.rs:343:22:373:1 | { ... } | main.rs:343:1:373:1 | exit fn nested_function (normal) | | -| main.rs:345:5:347:10 | let ... = ... | main.rs:346:9:347:9 | \|...\| x | | -| main.rs:345:9:345:9 | f | main.rs:345:9:345:9 | f | | -| main.rs:345:9:345:9 | f | main.rs:348:5:348:20 | ExprStmt | match | -| main.rs:346:9:347:9 | \|...\| x | main.rs:345:9:345:9 | f | | -| main.rs:346:9:347:9 | enter \|...\| x | main.rs:346:10:346:10 | x | | -| main.rs:346:9:347:9 | exit \|...\| x (normal) | main.rs:346:9:347:9 | exit \|...\| x | | -| main.rs:346:10:346:10 | x | main.rs:346:10:346:10 | x | | -| main.rs:346:10:346:10 | x | main.rs:346:10:346:15 | ...: i64 | match | -| main.rs:346:10:346:15 | ...: i64 | main.rs:347:9:347:9 | x | | -| main.rs:347:9:347:9 | x | main.rs:346:9:347:9 | exit \|...\| x (normal) | | -| main.rs:348:5:348:13 | print_i64 | main.rs:348:15:348:15 | f | | -| main.rs:348:5:348:19 | print_i64(...) | main.rs:350:5:353:5 | fn f | | -| main.rs:348:5:348:20 | ExprStmt | main.rs:348:5:348:13 | print_i64 | | -| main.rs:348:15:348:15 | f | main.rs:348:17:348:17 | 1 | | -| main.rs:348:15:348:18 | f(...) | main.rs:348:5:348:19 | print_i64(...) | | -| main.rs:348:17:348:17 | 1 | main.rs:348:15:348:18 | f(...) | | -| main.rs:350:5:353:5 | enter fn f | main.rs:350:10:350:10 | x | | -| main.rs:350:5:353:5 | exit fn f (normal) | main.rs:350:5:353:5 | exit fn f | | -| main.rs:350:5:353:5 | fn f | main.rs:355:5:355:20 | ExprStmt | | -| main.rs:350:10:350:10 | x | main.rs:350:10:350:10 | x | | -| main.rs:350:10:350:10 | x | main.rs:350:10:350:15 | ...: i64 | match | -| main.rs:350:10:350:15 | ...: i64 | main.rs:352:9:352:9 | x | | -| main.rs:351:5:353:5 | { ... } | main.rs:350:5:353:5 | exit fn f (normal) | | -| main.rs:352:9:352:9 | x | main.rs:352:13:352:13 | 1 | | -| main.rs:352:9:352:13 | ... + ... | main.rs:351:5:353:5 | { ... } | | -| main.rs:352:13:352:13 | 1 | main.rs:352:9:352:13 | ... + ... | | -| main.rs:355:5:355:13 | print_i64 | main.rs:355:15:355:15 | f | | -| main.rs:355:5:355:19 | print_i64(...) | main.rs:358:9:358:24 | ExprStmt | | -| main.rs:355:5:355:20 | ExprStmt | main.rs:355:5:355:13 | print_i64 | | -| main.rs:355:15:355:15 | f | main.rs:355:17:355:17 | 2 | | -| main.rs:355:15:355:18 | f(...) | main.rs:355:5:355:19 | print_i64(...) | | -| main.rs:355:17:355:17 | 2 | main.rs:355:15:355:18 | f(...) | | -| main.rs:357:5:372:5 | { ... } | main.rs:343:22:373:1 | { ... } | | -| main.rs:358:9:358:17 | print_i64 | main.rs:358:19:358:19 | f | | -| main.rs:358:9:358:23 | print_i64(...) | main.rs:359:9:362:9 | fn f | | -| main.rs:358:9:358:24 | ExprStmt | main.rs:358:9:358:17 | print_i64 | | -| main.rs:358:19:358:19 | f | main.rs:358:21:358:21 | 3 | | -| main.rs:358:19:358:22 | f(...) | main.rs:358:9:358:23 | print_i64(...) | | -| main.rs:358:21:358:21 | 3 | main.rs:358:19:358:22 | f(...) | | -| main.rs:359:9:362:9 | enter fn f | main.rs:359:14:359:14 | x | | -| main.rs:359:9:362:9 | exit fn f (normal) | main.rs:359:9:362:9 | exit fn f | | -| main.rs:359:9:362:9 | fn f | main.rs:364:9:366:9 | ExprStmt | | -| main.rs:359:14:359:14 | x | main.rs:359:14:359:14 | x | | -| main.rs:359:14:359:14 | x | main.rs:359:14:359:19 | ...: i64 | match | -| main.rs:359:14:359:19 | ...: i64 | main.rs:361:13:361:13 | 2 | | -| main.rs:360:9:362:9 | { ... } | main.rs:359:9:362:9 | exit fn f (normal) | | -| main.rs:361:13:361:13 | 2 | main.rs:361:17:361:17 | x | | -| main.rs:361:13:361:17 | ... * ... | main.rs:360:9:362:9 | { ... } | | -| main.rs:361:17:361:17 | x | main.rs:361:13:361:17 | ... * ... | | -| main.rs:364:9:366:9 | ExprStmt | main.rs:365:13:365:28 | ExprStmt | | -| main.rs:364:9:366:9 | { ... } | main.rs:368:9:370:14 | let ... = ... | | -| main.rs:365:13:365:21 | print_i64 | main.rs:365:23:365:23 | f | | -| main.rs:365:13:365:27 | print_i64(...) | main.rs:364:9:366:9 | { ... } | | -| main.rs:365:13:365:28 | ExprStmt | main.rs:365:13:365:21 | print_i64 | | -| main.rs:365:23:365:23 | f | main.rs:365:25:365:25 | 4 | | -| main.rs:365:23:365:26 | f(...) | main.rs:365:13:365:27 | print_i64(...) | | -| main.rs:365:25:365:25 | 4 | main.rs:365:23:365:26 | f(...) | | -| main.rs:368:9:370:14 | let ... = ... | main.rs:369:13:370:13 | \|...\| x | | -| main.rs:368:13:368:13 | f | main.rs:368:13:368:13 | f | | -| main.rs:368:13:368:13 | f | main.rs:371:9:371:24 | ExprStmt | match | -| main.rs:369:13:370:13 | \|...\| x | main.rs:368:13:368:13 | f | | -| main.rs:369:13:370:13 | enter \|...\| x | main.rs:369:14:369:14 | x | | -| main.rs:369:13:370:13 | exit \|...\| x (normal) | main.rs:369:13:370:13 | exit \|...\| x | | -| main.rs:369:14:369:14 | x | main.rs:369:14:369:14 | x | | -| main.rs:369:14:369:14 | x | main.rs:369:14:369:19 | ...: i64 | match | -| main.rs:369:14:369:19 | ...: i64 | main.rs:370:13:370:13 | x | | -| main.rs:370:13:370:13 | x | main.rs:369:13:370:13 | exit \|...\| x (normal) | | -| main.rs:371:9:371:17 | print_i64 | main.rs:371:19:371:19 | f | | -| main.rs:371:9:371:23 | print_i64(...) | main.rs:357:5:372:5 | { ... } | | -| main.rs:371:9:371:24 | ExprStmt | main.rs:371:9:371:17 | print_i64 | | -| main.rs:371:19:371:19 | f | main.rs:371:21:371:21 | 5 | | -| main.rs:371:19:371:22 | f(...) | main.rs:371:9:371:23 | print_i64(...) | | -| main.rs:371:21:371:21 | 5 | main.rs:371:19:371:22 | f(...) | | -| main.rs:375:1:382:1 | enter fn for_variable | main.rs:376:5:376:42 | let ... = ... | | -| main.rs:375:1:382:1 | exit fn for_variable (normal) | main.rs:375:1:382:1 | exit fn for_variable | | -| main.rs:375:19:382:1 | { ... } | main.rs:375:1:382:1 | exit fn for_variable (normal) | | -| main.rs:376:5:376:42 | let ... = ... | main.rs:376:15:376:22 | "apples" | | -| main.rs:376:9:376:9 | v | main.rs:376:9:376:9 | v | | -| main.rs:376:9:376:9 | v | main.rs:379:12:379:12 | v | match | -| main.rs:376:13:376:41 | &... | main.rs:376:9:376:9 | v | | -| main.rs:376:14:376:41 | [...] | main.rs:376:13:376:41 | &... | | -| main.rs:376:15:376:22 | "apples" | main.rs:376:25:376:30 | "cake" | | -| main.rs:376:25:376:30 | "cake" | main.rs:376:33:376:40 | "coffee" | | -| main.rs:376:33:376:40 | "coffee" | main.rs:376:14:376:41 | [...] | | -| main.rs:378:5:381:5 | for ... in ... { ... } | main.rs:375:19:382:1 | { ... } | | -| main.rs:378:9:378:12 | text | main.rs:378:5:381:5 | for ... in ... { ... } | no-match | -| main.rs:378:9:378:12 | text | main.rs:378:9:378:12 | text | | -| main.rs:378:9:378:12 | text | main.rs:380:9:380:24 | ExprStmt | match | -| main.rs:379:12:379:12 | v | main.rs:378:9:378:12 | text | | -| main.rs:379:14:381:5 | { ... } | main.rs:378:9:378:12 | text | | -| main.rs:380:9:380:17 | print_str | main.rs:380:19:380:22 | text | | -| main.rs:380:9:380:23 | print_str(...) | main.rs:379:14:381:5 | { ... } | | -| main.rs:380:9:380:24 | ExprStmt | main.rs:380:9:380:17 | print_str | | -| main.rs:380:19:380:22 | text | main.rs:380:9:380:23 | print_str(...) | | -| main.rs:384:1:390:1 | enter fn add_assign | main.rs:385:5:385:18 | let ... = 0 | | -| main.rs:384:1:390:1 | exit fn add_assign (normal) | main.rs:384:1:390:1 | exit fn add_assign | | -| main.rs:384:17:390:1 | { ... } | main.rs:384:1:390:1 | exit fn add_assign (normal) | | -| main.rs:385:5:385:18 | let ... = 0 | main.rs:385:17:385:17 | 0 | | -| main.rs:385:9:385:13 | mut a | main.rs:386:5:386:11 | ExprStmt | match | -| main.rs:385:13:385:13 | a | main.rs:385:9:385:13 | mut a | | -| main.rs:385:17:385:17 | 0 | main.rs:385:13:385:13 | a | | -| main.rs:386:5:386:5 | a | main.rs:386:10:386:10 | 1 | | -| main.rs:386:5:386:10 | ... += ... | main.rs:387:5:387:17 | ExprStmt | | -| main.rs:386:5:386:11 | ExprStmt | main.rs:386:5:386:5 | a | | -| main.rs:386:10:386:10 | 1 | main.rs:386:5:386:10 | ... += ... | | -| main.rs:387:5:387:13 | print_i64 | main.rs:387:15:387:15 | a | | -| main.rs:387:5:387:16 | print_i64(...) | main.rs:388:5:388:28 | ExprStmt | | -| main.rs:387:5:387:17 | ExprStmt | main.rs:387:5:387:13 | print_i64 | | -| main.rs:387:15:387:15 | a | main.rs:387:5:387:16 | print_i64(...) | | -| main.rs:388:5:388:27 | ... .add_assign(...) | main.rs:389:5:389:17 | ExprStmt | | -| main.rs:388:5:388:28 | ExprStmt | main.rs:388:11:388:11 | a | | -| main.rs:388:6:388:11 | &mut a | main.rs:388:25:388:26 | 10 | | -| main.rs:388:11:388:11 | a | main.rs:388:6:388:11 | &mut a | | -| main.rs:388:25:388:26 | 10 | main.rs:388:5:388:27 | ... .add_assign(...) | | -| main.rs:389:5:389:13 | print_i64 | main.rs:389:15:389:15 | a | | -| main.rs:389:5:389:16 | print_i64(...) | main.rs:384:17:390:1 | { ... } | | -| main.rs:389:5:389:17 | ExprStmt | main.rs:389:5:389:13 | print_i64 | | -| main.rs:389:15:389:15 | a | main.rs:389:5:389:16 | print_i64(...) | | -| main.rs:392:1:398:1 | enter fn mutate | main.rs:393:5:393:18 | let ... = 1 | | -| main.rs:392:1:398:1 | exit fn mutate (normal) | main.rs:392:1:398:1 | exit fn mutate | | -| main.rs:392:13:398:1 | { ... } | main.rs:392:1:398:1 | exit fn mutate (normal) | | -| main.rs:393:5:393:18 | let ... = 1 | main.rs:393:17:393:17 | 1 | | -| main.rs:393:9:393:13 | mut i | main.rs:394:5:395:15 | let ... = ... | match | -| main.rs:393:13:393:13 | i | main.rs:393:9:393:13 | mut i | | -| main.rs:393:17:393:17 | 1 | main.rs:393:13:393:13 | i | | -| main.rs:394:5:395:15 | let ... = ... | main.rs:395:14:395:14 | i | | -| main.rs:394:9:394:13 | ref_i | main.rs:394:9:394:13 | ref_i | | -| main.rs:394:9:394:13 | ref_i | main.rs:396:5:396:15 | ExprStmt | match | -| main.rs:395:9:395:14 | &mut i | main.rs:394:9:394:13 | ref_i | | -| main.rs:395:14:395:14 | i | main.rs:395:9:395:14 | &mut i | | -| main.rs:396:5:396:10 | * ... | main.rs:396:14:396:14 | 2 | | -| main.rs:396:5:396:14 | ... = ... | main.rs:397:5:397:17 | ExprStmt | | -| main.rs:396:5:396:15 | ExprStmt | main.rs:396:6:396:10 | ref_i | | -| main.rs:396:6:396:10 | ref_i | main.rs:396:5:396:10 | * ... | | -| main.rs:396:14:396:14 | 2 | main.rs:396:5:396:14 | ... = ... | | -| main.rs:397:5:397:13 | print_i64 | main.rs:397:15:397:15 | i | | -| main.rs:397:5:397:16 | print_i64(...) | main.rs:392:13:398:1 | { ... } | | -| main.rs:397:5:397:17 | ExprStmt | main.rs:397:5:397:13 | print_i64 | | -| main.rs:397:15:397:15 | i | main.rs:397:5:397:16 | print_i64(...) | | -| main.rs:400:1:405:1 | enter fn mutate_param | main.rs:400:17:400:17 | x | | -| main.rs:400:1:405:1 | exit fn mutate_param (normal) | main.rs:400:1:405:1 | exit fn mutate_param | | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:27 | ...: ... | match | -| main.rs:400:17:400:27 | ...: ... | main.rs:401:5:403:11 | ExprStmt | | -| main.rs:401:5:401:6 | * ... | main.rs:402:10:402:10 | x | | -| main.rs:401:5:403:10 | ... = ... | main.rs:404:5:404:13 | ExprStmt | | -| main.rs:401:5:403:11 | ExprStmt | main.rs:401:6:401:6 | x | | -| main.rs:401:6:401:6 | x | main.rs:401:5:401:6 | * ... | | -| main.rs:402:9:402:10 | * ... | main.rs:403:10:403:10 | x | | -| main.rs:402:9:403:10 | ... + ... | main.rs:401:5:403:10 | ... = ... | | -| main.rs:402:10:402:10 | x | main.rs:402:9:402:10 | * ... | | -| main.rs:403:9:403:10 | * ... | main.rs:402:9:403:10 | ... + ... | | -| main.rs:403:10:403:10 | x | main.rs:403:9:403:10 | * ... | | -| main.rs:404:5:404:12 | return x | main.rs:400:1:405:1 | exit fn mutate_param (normal) | return | -| main.rs:404:5:404:13 | ExprStmt | main.rs:404:12:404:12 | x | | -| main.rs:404:12:404:12 | x | main.rs:404:5:404:12 | return x | | -| main.rs:407:1:413:1 | enter fn mutate_param2 | main.rs:407:22:407:22 | x | | -| main.rs:407:1:413:1 | exit fn mutate_param2 (normal) | main.rs:407:1:413:1 | exit fn mutate_param2 | | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:35 | ...: ... | match | -| main.rs:407:22:407:35 | ...: ... | main.rs:407:38:407:38 | y | | -| main.rs:407:38:407:38 | y | main.rs:407:38:407:38 | y | | -| main.rs:407:38:407:38 | y | main.rs:407:38:407:56 | ...: ... | match | -| main.rs:407:38:407:56 | ...: ... | main.rs:408:5:410:11 | ExprStmt | | -| main.rs:407:59:413:1 | { ... } | main.rs:407:1:413:1 | exit fn mutate_param2 (normal) | | -| main.rs:408:5:408:6 | * ... | main.rs:409:10:409:10 | x | | -| main.rs:408:5:410:10 | ... = ... | main.rs:411:5:412:10 | ExprStmt | | -| main.rs:408:5:410:11 | ExprStmt | main.rs:408:6:408:6 | x | | -| main.rs:408:6:408:6 | x | main.rs:408:5:408:6 | * ... | | -| main.rs:409:9:409:10 | * ... | main.rs:410:10:410:10 | x | | -| main.rs:409:9:410:10 | ... + ... | main.rs:408:5:410:10 | ... = ... | | -| main.rs:409:10:409:10 | x | main.rs:409:9:409:10 | * ... | | -| main.rs:410:9:410:10 | * ... | main.rs:409:9:410:10 | ... + ... | | -| main.rs:410:10:410:10 | x | main.rs:410:9:410:10 | * ... | | -| main.rs:411:5:411:6 | * ... | main.rs:412:9:412:9 | x | | -| main.rs:411:5:412:9 | ... = ... | main.rs:407:59:413:1 | { ... } | | -| main.rs:411:5:412:10 | ExprStmt | main.rs:411:6:411:6 | y | | -| main.rs:411:6:411:6 | y | main.rs:411:5:411:6 | * ... | | -| main.rs:412:9:412:9 | x | main.rs:411:5:412:9 | ... = ... | | -| main.rs:415:1:433:1 | enter fn mutate_arg | main.rs:416:5:416:18 | let ... = 2 | | -| main.rs:415:1:433:1 | exit fn mutate_arg (normal) | main.rs:415:1:433:1 | exit fn mutate_arg | | -| main.rs:415:17:433:1 | { ... } | main.rs:415:1:433:1 | exit fn mutate_arg (normal) | | -| main.rs:416:5:416:18 | let ... = 2 | main.rs:416:17:416:17 | 2 | | -| main.rs:416:9:416:13 | mut x | main.rs:417:5:418:29 | let ... = ... | match | -| main.rs:416:13:416:13 | x | main.rs:416:9:416:13 | mut x | | -| main.rs:416:17:416:17 | 2 | main.rs:416:13:416:13 | x | | -| main.rs:417:5:418:29 | let ... = ... | main.rs:418:9:418:20 | mutate_param | | -| main.rs:417:9:417:9 | y | main.rs:417:9:417:9 | y | | -| main.rs:417:9:417:9 | y | main.rs:419:5:419:12 | ExprStmt | match | -| main.rs:418:9:418:20 | mutate_param | main.rs:418:27:418:27 | x | | -| main.rs:418:9:418:28 | mutate_param(...) | main.rs:417:9:417:9 | y | | -| main.rs:418:22:418:27 | &mut x | main.rs:418:9:418:28 | mutate_param(...) | | -| main.rs:418:27:418:27 | x | main.rs:418:22:418:27 | &mut x | | -| main.rs:419:5:419:6 | * ... | main.rs:419:10:419:11 | 10 | | -| main.rs:419:5:419:11 | ... = ... | main.rs:421:5:421:17 | ExprStmt | | -| main.rs:419:5:419:12 | ExprStmt | main.rs:419:6:419:6 | y | | -| main.rs:419:6:419:6 | y | main.rs:419:5:419:6 | * ... | | -| main.rs:419:10:419:11 | 10 | main.rs:419:5:419:11 | ... = ... | | -| main.rs:421:5:421:13 | print_i64 | main.rs:421:15:421:15 | x | | -| main.rs:421:5:421:16 | print_i64(...) | main.rs:423:5:423:18 | let ... = 4 | | -| main.rs:421:5:421:17 | ExprStmt | main.rs:421:5:421:13 | print_i64 | | -| main.rs:421:15:421:15 | x | main.rs:421:5:421:16 | print_i64(...) | | -| main.rs:423:5:423:18 | let ... = 4 | main.rs:423:17:423:17 | 4 | | -| main.rs:423:9:423:13 | mut z | main.rs:424:5:425:20 | let ... = ... | match | -| main.rs:423:13:423:13 | z | main.rs:423:9:423:13 | mut z | | -| main.rs:423:17:423:17 | 4 | main.rs:423:13:423:13 | z | | -| main.rs:424:5:425:20 | let ... = ... | main.rs:425:19:425:19 | x | | -| main.rs:424:9:424:9 | w | main.rs:424:9:424:9 | w | | -| main.rs:424:9:424:9 | w | main.rs:426:5:429:6 | ExprStmt | match | -| main.rs:425:9:425:19 | &mut ... | main.rs:424:9:424:9 | w | | -| main.rs:425:14:425:19 | &mut x | main.rs:425:9:425:19 | &mut ... | | -| main.rs:425:19:425:19 | x | main.rs:425:14:425:19 | &mut x | | -| main.rs:426:5:426:17 | mutate_param2 | main.rs:427:14:427:14 | z | | -| main.rs:426:5:429:5 | mutate_param2(...) | main.rs:430:5:430:13 | ExprStmt | | -| main.rs:426:5:429:6 | ExprStmt | main.rs:426:5:426:17 | mutate_param2 | | -| main.rs:427:9:427:14 | &mut z | main.rs:428:9:428:9 | w | | -| main.rs:427:14:427:14 | z | main.rs:427:9:427:14 | &mut z | | -| main.rs:428:9:428:9 | w | main.rs:426:5:429:5 | mutate_param2(...) | | -| main.rs:430:5:430:7 | * ... | main.rs:430:11:430:12 | 11 | | -| main.rs:430:5:430:12 | ... = ... | main.rs:432:5:432:17 | ExprStmt | | -| main.rs:430:5:430:13 | ExprStmt | main.rs:430:7:430:7 | w | | -| main.rs:430:6:430:7 | * ... | main.rs:430:5:430:7 | * ... | | -| main.rs:430:7:430:7 | w | main.rs:430:6:430:7 | * ... | | -| main.rs:430:11:430:12 | 11 | main.rs:430:5:430:12 | ... = ... | | -| main.rs:432:5:432:13 | print_i64 | main.rs:432:15:432:15 | z | | -| main.rs:432:5:432:16 | print_i64(...) | main.rs:415:17:433:1 | { ... } | | -| main.rs:432:5:432:17 | ExprStmt | main.rs:432:5:432:13 | print_i64 | | -| main.rs:432:15:432:15 | z | main.rs:432:5:432:16 | print_i64(...) | | -| main.rs:435:1:441:1 | enter fn alias | main.rs:436:5:436:18 | let ... = 1 | | -| main.rs:435:1:441:1 | exit fn alias (normal) | main.rs:435:1:441:1 | exit fn alias | | -| main.rs:435:12:441:1 | { ... } | main.rs:435:1:441:1 | exit fn alias (normal) | | -| main.rs:436:5:436:18 | let ... = 1 | main.rs:436:17:436:17 | 1 | | -| main.rs:436:9:436:13 | mut x | main.rs:437:5:438:15 | let ... = ... | match | -| main.rs:436:13:436:13 | x | main.rs:436:9:436:13 | mut x | | -| main.rs:436:17:436:17 | 1 | main.rs:436:13:436:13 | x | | -| main.rs:437:5:438:15 | let ... = ... | main.rs:438:14:438:14 | x | | -| main.rs:437:9:437:9 | y | main.rs:437:9:437:9 | y | | -| main.rs:437:9:437:9 | y | main.rs:439:5:439:11 | ExprStmt | match | -| main.rs:438:9:438:14 | &mut x | main.rs:437:9:437:9 | y | | -| main.rs:438:14:438:14 | x | main.rs:438:9:438:14 | &mut x | | -| main.rs:439:5:439:6 | * ... | main.rs:439:10:439:10 | 2 | | -| main.rs:439:5:439:10 | ... = ... | main.rs:440:5:440:17 | ExprStmt | | -| main.rs:439:5:439:11 | ExprStmt | main.rs:439:6:439:6 | y | | -| main.rs:439:6:439:6 | y | main.rs:439:5:439:6 | * ... | | -| main.rs:439:10:439:10 | 2 | main.rs:439:5:439:10 | ... = ... | | -| main.rs:440:5:440:13 | print_i64 | main.rs:440:15:440:15 | x | | -| main.rs:440:5:440:16 | print_i64(...) | main.rs:435:12:441:1 | { ... } | | -| main.rs:440:5:440:17 | ExprStmt | main.rs:440:5:440:13 | print_i64 | | -| main.rs:440:15:440:15 | x | main.rs:440:5:440:16 | print_i64(...) | | -| main.rs:443:1:451:1 | enter fn capture_immut | main.rs:444:5:444:16 | let ... = 100 | | -| main.rs:443:1:451:1 | exit fn capture_immut (normal) | main.rs:443:1:451:1 | exit fn capture_immut | | -| main.rs:443:20:451:1 | { ... } | main.rs:443:1:451:1 | exit fn capture_immut (normal) | | -| main.rs:444:5:444:16 | let ... = 100 | main.rs:444:13:444:15 | 100 | | -| main.rs:444:9:444:9 | x | main.rs:444:9:444:9 | x | | -| main.rs:444:9:444:9 | x | main.rs:446:5:448:6 | let ... = ... | match | -| main.rs:444:13:444:15 | 100 | main.rs:444:9:444:9 | x | | -| main.rs:446:5:448:6 | let ... = ... | main.rs:446:15:448:5 | \|...\| ... | | -| main.rs:446:9:446:11 | cap | main.rs:446:9:446:11 | cap | | -| main.rs:446:9:446:11 | cap | main.rs:449:5:449:10 | ExprStmt | match | -| main.rs:446:15:448:5 | \|...\| ... | main.rs:446:9:446:11 | cap | | -| main.rs:446:15:448:5 | enter \|...\| ... | main.rs:447:9:447:21 | ExprStmt | | -| main.rs:446:15:448:5 | exit \|...\| ... (normal) | main.rs:446:15:448:5 | exit \|...\| ... | | -| main.rs:446:18:448:5 | { ... } | main.rs:446:15:448:5 | exit \|...\| ... (normal) | | -| main.rs:447:9:447:17 | print_i64 | main.rs:447:19:447:19 | x | | -| main.rs:447:9:447:20 | print_i64(...) | main.rs:446:18:448:5 | { ... } | | -| main.rs:447:9:447:21 | ExprStmt | main.rs:447:9:447:17 | print_i64 | | -| main.rs:447:19:447:19 | x | main.rs:447:9:447:20 | print_i64(...) | | -| main.rs:449:5:449:7 | cap | main.rs:449:5:449:9 | cap(...) | | -| main.rs:449:5:449:9 | cap(...) | main.rs:450:5:450:17 | ExprStmt | | -| main.rs:449:5:449:10 | ExprStmt | main.rs:449:5:449:7 | cap | | -| main.rs:450:5:450:13 | print_i64 | main.rs:450:15:450:15 | x | | -| main.rs:450:5:450:16 | print_i64(...) | main.rs:443:20:451:1 | { ... } | | -| main.rs:450:5:450:17 | ExprStmt | main.rs:450:5:450:13 | print_i64 | | -| main.rs:450:15:450:15 | x | main.rs:450:5:450:16 | print_i64(...) | | -| main.rs:453:1:477:1 | enter fn capture_mut | main.rs:454:5:454:18 | let ... = 1 | | -| main.rs:453:1:477:1 | exit fn capture_mut (normal) | main.rs:453:1:477:1 | exit fn capture_mut | | -| main.rs:453:18:477:1 | { ... } | main.rs:453:1:477:1 | exit fn capture_mut (normal) | | -| main.rs:454:5:454:18 | let ... = 1 | main.rs:454:17:454:17 | 1 | | -| main.rs:454:9:454:13 | mut x | main.rs:456:5:458:6 | let ... = ... | match | -| main.rs:454:13:454:13 | x | main.rs:454:9:454:13 | mut x | | -| main.rs:454:17:454:17 | 1 | main.rs:454:13:454:13 | x | | -| main.rs:456:5:458:6 | let ... = ... | main.rs:456:20:458:5 | \|...\| ... | | -| main.rs:456:9:456:16 | closure1 | main.rs:456:9:456:16 | closure1 | | -| main.rs:456:9:456:16 | closure1 | main.rs:459:5:459:15 | ExprStmt | match | -| main.rs:456:20:458:5 | \|...\| ... | main.rs:456:9:456:16 | closure1 | | -| main.rs:456:20:458:5 | enter \|...\| ... | main.rs:457:9:457:21 | ExprStmt | | -| main.rs:456:20:458:5 | exit \|...\| ... (normal) | main.rs:456:20:458:5 | exit \|...\| ... | | -| main.rs:456:23:458:5 | { ... } | main.rs:456:20:458:5 | exit \|...\| ... (normal) | | -| main.rs:457:9:457:17 | print_i64 | main.rs:457:19:457:19 | x | | -| main.rs:457:9:457:20 | print_i64(...) | main.rs:456:23:458:5 | { ... } | | -| main.rs:457:9:457:21 | ExprStmt | main.rs:457:9:457:17 | print_i64 | | -| main.rs:457:19:457:19 | x | main.rs:457:9:457:20 | print_i64(...) | | -| main.rs:459:5:459:12 | closure1 | main.rs:459:5:459:14 | closure1(...) | | -| main.rs:459:5:459:14 | closure1(...) | main.rs:460:5:460:17 | ExprStmt | | -| main.rs:459:5:459:15 | ExprStmt | main.rs:459:5:459:12 | closure1 | | -| main.rs:460:5:460:13 | print_i64 | main.rs:460:15:460:15 | x | | -| main.rs:460:5:460:16 | print_i64(...) | main.rs:462:5:462:18 | let ... = 2 | | -| main.rs:460:5:460:17 | ExprStmt | main.rs:460:5:460:13 | print_i64 | | -| main.rs:460:15:460:15 | x | main.rs:460:5:460:16 | print_i64(...) | | -| main.rs:462:5:462:18 | let ... = 2 | main.rs:462:17:462:17 | 2 | | -| main.rs:462:9:462:13 | mut y | main.rs:464:5:466:6 | let ... = ... | match | -| main.rs:462:13:462:13 | y | main.rs:462:9:462:13 | mut y | | -| main.rs:462:17:462:17 | 2 | main.rs:462:13:462:13 | y | | -| main.rs:464:5:466:6 | let ... = ... | main.rs:464:24:466:5 | \|...\| ... | | -| main.rs:464:9:464:20 | mut closure2 | main.rs:467:5:467:15 | ExprStmt | match | -| main.rs:464:13:464:20 | closure2 | main.rs:464:9:464:20 | mut closure2 | | -| main.rs:464:24:466:5 | \|...\| ... | main.rs:464:13:464:20 | closure2 | | -| main.rs:464:24:466:5 | enter \|...\| ... | main.rs:465:9:465:14 | ExprStmt | | -| main.rs:464:24:466:5 | exit \|...\| ... (normal) | main.rs:464:24:466:5 | exit \|...\| ... | | -| main.rs:464:27:466:5 | { ... } | main.rs:464:24:466:5 | exit \|...\| ... (normal) | | -| main.rs:465:9:465:9 | y | main.rs:465:13:465:13 | 3 | | -| main.rs:465:9:465:13 | ... = ... | main.rs:464:27:466:5 | { ... } | | -| main.rs:465:9:465:14 | ExprStmt | main.rs:465:9:465:9 | y | | -| main.rs:465:13:465:13 | 3 | main.rs:465:9:465:13 | ... = ... | | -| main.rs:467:5:467:12 | closure2 | main.rs:467:5:467:14 | closure2(...) | | -| main.rs:467:5:467:14 | closure2(...) | main.rs:468:5:468:17 | ExprStmt | | -| main.rs:467:5:467:15 | ExprStmt | main.rs:467:5:467:12 | closure2 | | -| main.rs:468:5:468:13 | print_i64 | main.rs:468:15:468:15 | y | | -| main.rs:468:5:468:16 | print_i64(...) | main.rs:470:5:470:18 | let ... = 2 | | -| main.rs:468:5:468:17 | ExprStmt | main.rs:468:5:468:13 | print_i64 | | -| main.rs:468:15:468:15 | y | main.rs:468:5:468:16 | print_i64(...) | | -| main.rs:470:5:470:18 | let ... = 2 | main.rs:470:17:470:17 | 2 | | -| main.rs:470:9:470:13 | mut z | main.rs:472:5:474:6 | let ... = ... | match | -| main.rs:470:13:470:13 | z | main.rs:470:9:470:13 | mut z | | -| main.rs:470:17:470:17 | 2 | main.rs:470:13:470:13 | z | | -| main.rs:472:5:474:6 | let ... = ... | main.rs:472:24:474:5 | \|...\| ... | | -| main.rs:472:9:472:20 | mut closure3 | main.rs:475:5:475:15 | ExprStmt | match | -| main.rs:472:13:472:20 | closure3 | main.rs:472:9:472:20 | mut closure3 | | -| main.rs:472:24:474:5 | \|...\| ... | main.rs:472:13:472:20 | closure3 | | -| main.rs:472:24:474:5 | enter \|...\| ... | main.rs:473:9:473:24 | ExprStmt | | -| main.rs:472:24:474:5 | exit \|...\| ... (normal) | main.rs:472:24:474:5 | exit \|...\| ... | | -| main.rs:472:27:474:5 | { ... } | main.rs:472:24:474:5 | exit \|...\| ... (normal) | | -| main.rs:473:9:473:9 | z | main.rs:473:22:473:22 | 1 | | -| main.rs:473:9:473:23 | z.add_assign(...) | main.rs:472:27:474:5 | { ... } | | -| main.rs:473:9:473:24 | ExprStmt | main.rs:473:9:473:9 | z | | -| main.rs:473:22:473:22 | 1 | main.rs:473:9:473:23 | z.add_assign(...) | | -| main.rs:475:5:475:12 | closure3 | main.rs:475:5:475:14 | closure3(...) | | -| main.rs:475:5:475:14 | closure3(...) | main.rs:476:5:476:17 | ExprStmt | | -| main.rs:475:5:475:15 | ExprStmt | main.rs:475:5:475:12 | closure3 | | -| main.rs:476:5:476:13 | print_i64 | main.rs:476:15:476:15 | z | | -| main.rs:476:5:476:16 | print_i64(...) | main.rs:453:18:477:1 | { ... } | | +| main.rs:39:9:39:10 | x3 | main.rs:40:5:40:18 | ExprStmt | match | +| main.rs:39:14:39:14 | 1 | main.rs:39:9:39:10 | x3 | | +| main.rs:40:5:40:13 | print_i64 | main.rs:40:15:40:16 | x3 | | +| main.rs:40:5:40:17 | print_i64(...) | main.rs:41:5:42:15 | let ... = ... | | +| main.rs:40:5:40:18 | ExprStmt | main.rs:40:5:40:13 | print_i64 | | +| main.rs:40:15:40:16 | x3 | main.rs:40:5:40:17 | print_i64(...) | | +| main.rs:41:5:42:15 | let ... = ... | main.rs:42:9:42:10 | x3 | | +| main.rs:41:9:41:10 | x3 | main.rs:41:9:41:10 | x3 | | +| main.rs:41:9:41:10 | x3 | main.rs:43:5:43:18 | ExprStmt | match | +| main.rs:42:9:42:10 | x3 | main.rs:42:14:42:14 | 1 | | +| main.rs:42:9:42:14 | ... + ... | main.rs:41:9:41:10 | x3 | | +| main.rs:42:14:42:14 | 1 | main.rs:42:9:42:14 | ... + ... | | +| main.rs:43:5:43:13 | print_i64 | main.rs:43:15:43:16 | x3 | | +| main.rs:43:5:43:17 | print_i64(...) | main.rs:38:23:44:1 | { ... } | | +| main.rs:43:5:43:18 | ExprStmt | main.rs:43:5:43:13 | print_i64 | | +| main.rs:43:15:43:16 | x3 | main.rs:43:5:43:17 | print_i64(...) | | +| main.rs:46:1:54:1 | enter fn variable_shadow2 | main.rs:47:5:47:17 | let ... = "a" | | +| main.rs:46:1:54:1 | exit fn variable_shadow2 (normal) | main.rs:46:1:54:1 | exit fn variable_shadow2 | | +| main.rs:46:23:54:1 | { ... } | main.rs:46:1:54:1 | exit fn variable_shadow2 (normal) | | +| main.rs:47:5:47:17 | let ... = "a" | main.rs:47:14:47:16 | "a" | | +| main.rs:47:9:47:10 | x4 | main.rs:47:9:47:10 | x4 | | +| main.rs:47:9:47:10 | x4 | main.rs:48:5:48:18 | ExprStmt | match | +| main.rs:47:14:47:16 | "a" | main.rs:47:9:47:10 | x4 | | +| main.rs:48:5:48:13 | print_str | main.rs:48:15:48:16 | x4 | | +| main.rs:48:5:48:17 | print_str(...) | main.rs:49:5:52:5 | ExprStmt | | +| main.rs:48:5:48:18 | ExprStmt | main.rs:48:5:48:13 | print_str | | +| main.rs:48:15:48:16 | x4 | main.rs:48:5:48:17 | print_str(...) | | +| main.rs:49:5:52:5 | ExprStmt | main.rs:50:9:50:21 | let ... = "b" | | +| main.rs:49:5:52:5 | { ... } | main.rs:53:5:53:18 | ExprStmt | | +| main.rs:50:9:50:21 | let ... = "b" | main.rs:50:18:50:20 | "b" | | +| main.rs:50:13:50:14 | x4 | main.rs:50:13:50:14 | x4 | | +| main.rs:50:13:50:14 | x4 | main.rs:51:9:51:22 | ExprStmt | match | +| main.rs:50:18:50:20 | "b" | main.rs:50:13:50:14 | x4 | | +| main.rs:51:9:51:17 | print_str | main.rs:51:19:51:20 | x4 | | +| main.rs:51:9:51:21 | print_str(...) | main.rs:49:5:52:5 | { ... } | | +| main.rs:51:9:51:22 | ExprStmt | main.rs:51:9:51:17 | print_str | | +| main.rs:51:19:51:20 | x4 | main.rs:51:9:51:21 | print_str(...) | | +| main.rs:53:5:53:13 | print_str | main.rs:53:15:53:16 | x4 | | +| main.rs:53:5:53:17 | print_str(...) | main.rs:46:23:54:1 | { ... } | | +| main.rs:53:5:53:18 | ExprStmt | main.rs:53:5:53:13 | print_str | | +| main.rs:53:15:53:16 | x4 | main.rs:53:5:53:17 | print_str(...) | | +| main.rs:61:1:76:1 | enter fn let_pattern1 | main.rs:62:5:71:47 | let ... = ... | | +| main.rs:61:1:76:1 | exit fn let_pattern1 (normal) | main.rs:61:1:76:1 | exit fn let_pattern1 | | +| main.rs:61:19:76:1 | { ... } | main.rs:61:1:76:1 | exit fn let_pattern1 (normal) | | +| main.rs:62:5:71:47 | let ... = ... | main.rs:71:11:71:13 | "a" | | +| main.rs:62:9:71:5 | TuplePat | main.rs:63:9:66:9 | TuplePat | match | +| main.rs:63:9:66:9 | TuplePat | main.rs:64:13:64:14 | a1 | match | +| main.rs:64:13:64:14 | a1 | main.rs:64:13:64:14 | a1 | | +| main.rs:64:13:64:14 | a1 | main.rs:65:13:65:14 | b1 | match | +| main.rs:65:13:65:14 | b1 | main.rs:65:13:65:14 | b1 | | +| main.rs:65:13:65:14 | b1 | main.rs:67:9:70:9 | Point {...} | match | +| main.rs:67:9:70:9 | Point {...} | main.rs:68:13:68:13 | x | match | +| main.rs:68:13:68:13 | x | main.rs:68:13:68:13 | x | | +| main.rs:68:13:68:13 | x | main.rs:69:13:69:13 | y | match | +| main.rs:69:13:69:13 | y | main.rs:69:13:69:13 | y | | +| main.rs:69:13:69:13 | y | main.rs:72:5:72:18 | ExprStmt | match | +| main.rs:71:9:71:46 | TupleExpr | main.rs:62:9:71:5 | TuplePat | | +| main.rs:71:10:71:19 | TupleExpr | main.rs:71:33:71:35 | "x" | | +| main.rs:71:11:71:13 | "a" | main.rs:71:16:71:18 | "b" | | +| main.rs:71:16:71:18 | "b" | main.rs:71:10:71:19 | TupleExpr | | +| main.rs:71:22:71:45 | Point {...} | main.rs:71:9:71:46 | TupleExpr | | +| main.rs:71:33:71:35 | "x" | main.rs:71:41:71:43 | "y" | | +| main.rs:71:41:71:43 | "y" | main.rs:71:22:71:45 | Point {...} | | +| main.rs:72:5:72:13 | print_str | main.rs:72:15:72:16 | a1 | | +| main.rs:72:5:72:17 | print_str(...) | main.rs:73:5:73:18 | ExprStmt | | +| main.rs:72:5:72:18 | ExprStmt | main.rs:72:5:72:13 | print_str | | +| main.rs:72:15:72:16 | a1 | main.rs:72:5:72:17 | print_str(...) | | +| main.rs:73:5:73:13 | print_str | main.rs:73:15:73:16 | b1 | | +| main.rs:73:5:73:17 | print_str(...) | main.rs:74:5:74:17 | ExprStmt | | +| main.rs:73:5:73:18 | ExprStmt | main.rs:73:5:73:13 | print_str | | +| main.rs:73:15:73:16 | b1 | main.rs:73:5:73:17 | print_str(...) | | +| main.rs:74:5:74:13 | print_str | main.rs:74:15:74:15 | x | | +| main.rs:74:5:74:16 | print_str(...) | main.rs:75:5:75:17 | ExprStmt | | +| main.rs:74:5:74:17 | ExprStmt | main.rs:74:5:74:13 | print_str | | +| main.rs:74:15:74:15 | x | main.rs:74:5:74:16 | print_str(...) | | +| main.rs:75:5:75:13 | print_str | main.rs:75:15:75:15 | y | | +| main.rs:75:5:75:16 | print_str(...) | main.rs:61:19:76:1 | { ... } | | +| main.rs:75:5:75:17 | ExprStmt | main.rs:75:5:75:13 | print_str | | +| main.rs:75:15:75:15 | y | main.rs:75:5:75:16 | print_str(...) | | +| main.rs:78:1:86:1 | enter fn let_pattern2 | main.rs:79:5:79:38 | let ... = ... | | +| main.rs:78:1:86:1 | exit fn let_pattern2 (normal) | main.rs:78:1:86:1 | exit fn let_pattern2 | | +| main.rs:78:19:86:1 | { ... } | main.rs:78:1:86:1 | exit fn let_pattern2 (normal) | | +| main.rs:79:5:79:38 | let ... = ... | main.rs:79:25:79:27 | "a" | | +| main.rs:79:9:79:10 | p1 | main.rs:79:9:79:10 | p1 | | +| main.rs:79:9:79:10 | p1 | main.rs:80:5:83:11 | let ... = p1 | match | +| main.rs:79:14:79:37 | Point {...} | main.rs:79:9:79:10 | p1 | | +| main.rs:79:25:79:27 | "a" | main.rs:79:33:79:35 | "b" | | +| main.rs:79:33:79:35 | "b" | main.rs:79:14:79:37 | Point {...} | | +| main.rs:80:5:83:11 | let ... = p1 | main.rs:83:9:83:10 | p1 | | +| main.rs:80:9:83:5 | Point {...} | main.rs:81:12:81:13 | a2 | match | +| main.rs:81:12:81:13 | a2 | main.rs:81:12:81:13 | a2 | | +| main.rs:81:12:81:13 | a2 | main.rs:82:12:82:13 | b2 | match | +| main.rs:82:12:82:13 | b2 | main.rs:82:12:82:13 | b2 | | +| main.rs:82:12:82:13 | b2 | main.rs:84:5:84:18 | ExprStmt | match | +| main.rs:83:9:83:10 | p1 | main.rs:80:9:83:5 | Point {...} | | +| main.rs:84:5:84:13 | print_str | main.rs:84:15:84:16 | a2 | | +| main.rs:84:5:84:17 | print_str(...) | main.rs:85:5:85:18 | ExprStmt | | +| main.rs:84:5:84:18 | ExprStmt | main.rs:84:5:84:13 | print_str | | +| main.rs:84:15:84:16 | a2 | main.rs:84:5:84:17 | print_str(...) | | +| main.rs:85:5:85:13 | print_str | main.rs:85:15:85:16 | b2 | | +| main.rs:85:5:85:17 | print_str(...) | main.rs:78:19:86:1 | { ... } | | +| main.rs:85:5:85:18 | ExprStmt | main.rs:85:5:85:13 | print_str | | +| main.rs:85:15:85:16 | b2 | main.rs:85:5:85:17 | print_str(...) | | +| main.rs:88:1:95:1 | enter fn let_pattern3 | main.rs:89:5:89:42 | let ... = ... | | +| main.rs:88:1:95:1 | exit fn let_pattern3 (normal) | main.rs:88:1:95:1 | exit fn let_pattern3 | | +| main.rs:88:19:95:1 | { ... } | main.rs:88:1:95:1 | exit fn let_pattern3 (normal) | | +| main.rs:89:5:89:42 | let ... = ... | main.rs:89:14:89:17 | Some | | +| main.rs:89:9:89:10 | s1 | main.rs:89:9:89:10 | s1 | | +| main.rs:89:9:89:10 | s1 | main.rs:92:11:92:12 | s1 | match | +| main.rs:89:14:89:17 | Some | main.rs:89:19:89:30 | ...::from | | +| main.rs:89:14:89:41 | Some(...) | main.rs:89:9:89:10 | s1 | | +| main.rs:89:19:89:30 | ...::from | main.rs:89:32:89:39 | "Hello!" | | +| main.rs:89:19:89:40 | ...::from(...) | main.rs:89:14:89:41 | Some(...) | | +| main.rs:89:32:89:39 | "Hello!" | main.rs:89:19:89:40 | ...::from(...) | | +| main.rs:91:5:94:5 | if ... {...} | main.rs:88:19:95:1 | { ... } | | +| main.rs:91:8:92:12 | [boolean(false)] let ... = s1 | main.rs:91:5:94:5 | if ... {...} | false | +| main.rs:91:8:92:12 | [boolean(true)] let ... = s1 | main.rs:93:9:93:22 | ExprStmt | true | +| main.rs:91:12:91:23 | Some(...) | main.rs:91:8:92:12 | [boolean(false)] let ... = s1 | no-match | +| main.rs:91:12:91:23 | Some(...) | main.rs:91:21:91:22 | s2 | match | +| main.rs:91:17:91:22 | ref s2 | main.rs:91:8:92:12 | [boolean(true)] let ... = s1 | match | +| main.rs:91:21:91:22 | s2 | main.rs:91:17:91:22 | ref s2 | | +| main.rs:92:11:92:12 | s1 | main.rs:91:12:91:23 | Some(...) | | +| main.rs:92:14:94:5 | { ... } | main.rs:91:5:94:5 | if ... {...} | | +| main.rs:93:9:93:17 | print_str | main.rs:93:19:93:20 | s2 | | +| main.rs:93:9:93:21 | print_str(...) | main.rs:92:14:94:5 | { ... } | | +| main.rs:93:9:93:22 | ExprStmt | main.rs:93:9:93:17 | print_str | | +| main.rs:93:19:93:20 | s2 | main.rs:93:9:93:21 | print_str(...) | | +| main.rs:97:1:108:1 | enter fn let_pattern4 | main.rs:98:5:98:23 | let ... = ... | | +| main.rs:97:1:108:1 | exit fn let_pattern4 (normal) | main.rs:97:1:108:1 | exit fn let_pattern4 | | +| main.rs:97:19:108:1 | { ... } | main.rs:97:1:108:1 | exit fn let_pattern4 (normal) | | +| main.rs:98:5:98:23 | let ... = ... | main.rs:98:13:98:16 | Some | | +| main.rs:98:9:98:9 | x | main.rs:98:9:98:9 | x | | +| main.rs:98:9:98:9 | x | main.rs:99:5:106:6 | let ... = x else {...} | match | +| main.rs:98:13:98:16 | Some | main.rs:98:18:98:21 | "x5" | | +| main.rs:98:13:98:22 | Some(...) | main.rs:98:9:98:9 | x | | +| main.rs:98:18:98:21 | "x5" | main.rs:98:13:98:22 | Some(...) | | +| main.rs:99:5:106:6 | let ... = x else {...} | main.rs:100:7:100:7 | x | | +| main.rs:99:9:99:15 | Some(...) | main.rs:99:14:99:14 | x | match | +| main.rs:99:9:99:15 | Some(...) | main.rs:102:9:103:14 | let ... = x | no-match | +| main.rs:99:14:99:14 | x | main.rs:99:14:99:14 | x | | +| main.rs:99:14:99:14 | x | main.rs:107:5:107:17 | ExprStmt | match | +| main.rs:100:7:100:7 | x | main.rs:99:9:99:15 | Some(...) | | +| main.rs:102:9:103:14 | let ... = x | main.rs:103:13:103:13 | x | | +| main.rs:102:13:102:13 | x | main.rs:102:13:102:13 | x | | +| main.rs:102:13:102:13 | x | main.rs:104:9:104:30 | ExprStmt | match | +| main.rs:103:13:103:13 | x | main.rs:102:13:102:13 | x | | +| main.rs:104:9:104:17 | print_str | main.rs:104:19:104:19 | x | | +| main.rs:104:9:104:29 | print_str(...) | main.rs:105:9:105:15 | ...::panic | | +| main.rs:104:9:104:30 | ExprStmt | main.rs:104:9:104:17 | print_str | | +| main.rs:104:19:104:19 | x | main.rs:104:19:104:28 | x.unwrap() | | +| main.rs:104:19:104:28 | x.unwrap() | main.rs:104:9:104:29 | print_str(...) | | +| main.rs:105:9:105:15 | "not yet implemented" | main.rs:105:9:105:15 | ...::panic(...) | | +| main.rs:105:9:105:15 | ...::panic | main.rs:105:9:105:15 | "not yet implemented" | | +| main.rs:105:9:105:15 | ...::panic(...) | main.rs:105:9:105:15 | MacroBlockExpr | | +| main.rs:105:9:105:15 | MacroBlockExpr | main.rs:105:9:105:15 | todo!... | | +| main.rs:105:9:105:15 | MacroExpr | main.rs:101:10:106:5 | { ... } | | +| main.rs:105:9:105:15 | todo!... | main.rs:105:9:105:15 | MacroExpr | | +| main.rs:107:5:107:13 | print_str | main.rs:107:15:107:15 | x | | +| main.rs:107:5:107:16 | print_str(...) | main.rs:97:19:108:1 | { ... } | | +| main.rs:107:5:107:17 | ExprStmt | main.rs:107:5:107:13 | print_str | | +| main.rs:107:15:107:15 | x | main.rs:107:5:107:16 | print_str(...) | | +| main.rs:110:1:117:1 | enter fn let_pattern5 | main.rs:111:5:111:42 | let ... = ... | | +| main.rs:110:1:117:1 | exit fn let_pattern5 (normal) | main.rs:110:1:117:1 | exit fn let_pattern5 | | +| main.rs:110:19:117:1 | { ... } | main.rs:110:1:117:1 | exit fn let_pattern5 (normal) | | +| main.rs:111:5:111:42 | let ... = ... | main.rs:111:14:111:17 | Some | | +| main.rs:111:9:111:10 | s1 | main.rs:111:9:111:10 | s1 | | +| main.rs:111:9:111:10 | s1 | main.rs:114:11:114:12 | s1 | match | +| main.rs:111:14:111:17 | Some | main.rs:111:19:111:30 | ...::from | | +| main.rs:111:14:111:41 | Some(...) | main.rs:111:9:111:10 | s1 | | +| main.rs:111:19:111:30 | ...::from | main.rs:111:32:111:39 | "Hello!" | | +| main.rs:111:19:111:40 | ...::from(...) | main.rs:111:14:111:41 | Some(...) | | +| main.rs:111:32:111:39 | "Hello!" | main.rs:111:19:111:40 | ...::from(...) | | +| main.rs:113:5:116:5 | while ... { ... } | main.rs:110:19:117:1 | { ... } | | +| main.rs:113:11:114:12 | [boolean(false)] let ... = s1 | main.rs:113:5:116:5 | while ... { ... } | false | +| main.rs:113:11:114:12 | [boolean(true)] let ... = s1 | main.rs:115:9:115:22 | ExprStmt | true | +| main.rs:113:15:113:26 | Some(...) | main.rs:113:11:114:12 | [boolean(false)] let ... = s1 | no-match | +| main.rs:113:15:113:26 | Some(...) | main.rs:113:24:113:25 | s2 | match | +| main.rs:113:20:113:25 | ref s2 | main.rs:113:11:114:12 | [boolean(true)] let ... = s1 | match | +| main.rs:113:24:113:25 | s2 | main.rs:113:20:113:25 | ref s2 | | +| main.rs:114:11:114:12 | s1 | main.rs:113:15:113:26 | Some(...) | | +| main.rs:114:14:116:5 | { ... } | main.rs:114:11:114:12 | s1 | | +| main.rs:115:9:115:17 | print_str | main.rs:115:19:115:20 | s2 | | +| main.rs:115:9:115:21 | print_str(...) | main.rs:114:14:116:5 | { ... } | | +| main.rs:115:9:115:22 | ExprStmt | main.rs:115:9:115:17 | print_str | | +| main.rs:115:19:115:20 | s2 | main.rs:115:9:115:21 | print_str(...) | | +| main.rs:119:1:134:1 | enter fn match_pattern1 | main.rs:120:5:120:21 | let ... = ... | | +| main.rs:119:1:134:1 | exit fn match_pattern1 (normal) | main.rs:119:1:134:1 | exit fn match_pattern1 | | +| main.rs:119:21:134:1 | { ... } | main.rs:119:1:134:1 | exit fn match_pattern1 (normal) | | +| main.rs:120:5:120:21 | let ... = ... | main.rs:120:14:120:17 | Some | | +| main.rs:120:9:120:10 | x6 | main.rs:120:9:120:10 | x6 | | +| main.rs:120:9:120:10 | x6 | main.rs:121:5:121:16 | let ... = 10 | match | +| main.rs:120:14:120:17 | Some | main.rs:120:19:120:19 | 5 | | +| main.rs:120:14:120:20 | Some(...) | main.rs:120:9:120:10 | x6 | | +| main.rs:120:19:120:19 | 5 | main.rs:120:14:120:20 | Some(...) | | +| main.rs:121:5:121:16 | let ... = 10 | main.rs:121:14:121:15 | 10 | | +| main.rs:121:9:121:10 | y1 | main.rs:121:9:121:10 | y1 | | +| main.rs:121:9:121:10 | y1 | main.rs:123:5:131:5 | ExprStmt | match | +| main.rs:121:14:121:15 | 10 | main.rs:121:9:121:10 | y1 | | +| main.rs:123:5:131:5 | ExprStmt | main.rs:123:11:123:12 | x6 | | +| main.rs:123:5:131:5 | match x6 { ... } | main.rs:133:5:133:18 | ExprStmt | | +| main.rs:123:11:123:12 | x6 | main.rs:124:9:124:16 | Some(...) | | +| main.rs:124:9:124:16 | Some(...) | main.rs:124:14:124:15 | 50 | match | +| main.rs:124:9:124:16 | Some(...) | main.rs:125:9:125:16 | Some(...) | no-match | +| main.rs:124:14:124:15 | 50 | main.rs:124:14:124:15 | 50 | | +| main.rs:124:14:124:15 | 50 | main.rs:124:21:124:29 | print_str | match | +| main.rs:124:14:124:15 | 50 | main.rs:125:9:125:16 | Some(...) | no-match | +| main.rs:124:21:124:29 | print_str | main.rs:124:31:124:38 | "Got 50" | | +| main.rs:124:21:124:39 | print_str(...) | main.rs:123:5:131:5 | match x6 { ... } | | +| main.rs:124:31:124:38 | "Got 50" | main.rs:124:21:124:39 | print_str(...) | | +| main.rs:125:9:125:16 | Some(...) | main.rs:125:14:125:15 | y1 | match | +| main.rs:125:9:125:16 | Some(...) | main.rs:130:9:130:12 | None | no-match | +| main.rs:125:14:125:15 | y1 | main.rs:125:14:125:15 | y1 | | +| main.rs:125:14:125:15 | y1 | main.rs:128:13:128:21 | print_i64 | match | +| main.rs:127:9:129:9 | { ... } | main.rs:123:5:131:5 | match x6 { ... } | | +| main.rs:128:13:128:21 | print_i64 | main.rs:128:23:128:24 | y1 | | +| main.rs:128:13:128:25 | print_i64(...) | main.rs:127:9:129:9 | { ... } | | +| main.rs:128:23:128:24 | y1 | main.rs:128:13:128:25 | print_i64(...) | | +| main.rs:130:9:130:12 | None | main.rs:130:9:130:12 | None | | +| main.rs:130:9:130:12 | None | main.rs:130:17:130:25 | print_str | match | +| main.rs:130:17:130:25 | print_str | main.rs:130:27:130:32 | "NONE" | | +| main.rs:130:17:130:33 | print_str(...) | main.rs:123:5:131:5 | match x6 { ... } | | +| main.rs:130:27:130:32 | "NONE" | main.rs:130:17:130:33 | print_str(...) | | +| main.rs:133:5:133:13 | print_i64 | main.rs:133:15:133:16 | y1 | | +| main.rs:133:5:133:17 | print_i64(...) | main.rs:119:21:134:1 | { ... } | | +| main.rs:133:5:133:18 | ExprStmt | main.rs:133:5:133:13 | print_i64 | | +| main.rs:133:15:133:16 | y1 | main.rs:133:5:133:17 | print_i64(...) | | +| main.rs:136:1:165:1 | enter fn match_pattern2 | main.rs:137:5:137:36 | let ... = ... | | +| main.rs:136:1:165:1 | exit fn match_pattern2 (normal) | main.rs:136:1:165:1 | exit fn match_pattern2 | | +| main.rs:136:21:165:1 | { ... } | main.rs:136:1:165:1 | exit fn match_pattern2 (normal) | | +| main.rs:137:5:137:36 | let ... = ... | main.rs:137:20:137:20 | 2 | | +| main.rs:137:9:137:15 | numbers | main.rs:137:9:137:15 | numbers | | +| main.rs:137:9:137:15 | numbers | main.rs:139:5:152:5 | ExprStmt | match | +| main.rs:137:19:137:35 | TupleExpr | main.rs:137:9:137:15 | numbers | | +| main.rs:137:20:137:20 | 2 | main.rs:137:23:137:23 | 4 | | +| main.rs:137:23:137:23 | 4 | main.rs:137:26:137:26 | 8 | | +| main.rs:137:26:137:26 | 8 | main.rs:137:29:137:30 | 16 | | +| main.rs:137:29:137:30 | 16 | main.rs:137:33:137:34 | 32 | | +| main.rs:137:33:137:34 | 32 | main.rs:137:19:137:35 | TupleExpr | | +| main.rs:139:5:152:5 | ExprStmt | main.rs:139:11:139:17 | numbers | | +| main.rs:139:5:152:5 | match numbers { ... } | main.rs:154:11:154:17 | numbers | | +| main.rs:139:11:139:17 | numbers | main.rs:141:9:147:9 | TuplePat | | +| main.rs:141:9:147:9 | TuplePat | main.rs:142:13:142:17 | first | match | +| main.rs:142:13:142:17 | first | main.rs:142:13:142:17 | first | | +| main.rs:142:13:142:17 | first | main.rs:143:13:143:13 | _ | match | +| main.rs:143:13:143:13 | _ | main.rs:144:13:144:17 | third | match | +| main.rs:144:13:144:17 | third | main.rs:144:13:144:17 | third | | +| main.rs:144:13:144:17 | third | main.rs:145:13:145:13 | _ | match | +| main.rs:145:13:145:13 | _ | main.rs:146:13:146:17 | fifth | match | +| main.rs:146:13:146:17 | fifth | main.rs:146:13:146:17 | fifth | | +| main.rs:146:13:146:17 | fifth | main.rs:148:13:148:29 | ExprStmt | match | +| main.rs:147:14:151:9 | { ... } | main.rs:139:5:152:5 | match numbers { ... } | | +| main.rs:148:13:148:21 | print_i64 | main.rs:148:23:148:27 | first | | +| main.rs:148:13:148:28 | print_i64(...) | main.rs:149:13:149:29 | ExprStmt | | +| main.rs:148:13:148:29 | ExprStmt | main.rs:148:13:148:21 | print_i64 | | +| main.rs:148:23:148:27 | first | main.rs:148:13:148:28 | print_i64(...) | | +| main.rs:149:13:149:21 | print_i64 | main.rs:149:23:149:27 | third | | +| main.rs:149:13:149:28 | print_i64(...) | main.rs:150:13:150:29 | ExprStmt | | +| main.rs:149:13:149:29 | ExprStmt | main.rs:149:13:149:21 | print_i64 | | +| main.rs:149:23:149:27 | third | main.rs:149:13:149:28 | print_i64(...) | | +| main.rs:150:13:150:21 | print_i64 | main.rs:150:23:150:27 | fifth | | +| main.rs:150:13:150:28 | print_i64(...) | main.rs:147:14:151:9 | { ... } | | +| main.rs:150:13:150:29 | ExprStmt | main.rs:150:13:150:21 | print_i64 | | +| main.rs:150:23:150:27 | fifth | main.rs:150:13:150:28 | print_i64(...) | | +| main.rs:154:5:164:5 | match numbers { ... } | main.rs:136:21:165:1 | { ... } | | +| main.rs:154:11:154:17 | numbers | main.rs:156:9:160:9 | TuplePat | | +| main.rs:156:9:160:9 | TuplePat | main.rs:157:13:157:17 | first | match | +| main.rs:157:13:157:17 | first | main.rs:157:13:157:17 | first | | +| main.rs:157:13:157:17 | first | main.rs:158:13:158:14 | .. | match | +| main.rs:158:13:158:14 | .. | main.rs:159:13:159:16 | last | match | +| main.rs:159:13:159:16 | last | main.rs:159:13:159:16 | last | | +| main.rs:159:13:159:16 | last | main.rs:161:13:161:29 | ExprStmt | match | +| main.rs:160:14:163:9 | { ... } | main.rs:154:5:164:5 | match numbers { ... } | | +| main.rs:161:13:161:21 | print_i64 | main.rs:161:23:161:27 | first | | +| main.rs:161:13:161:28 | print_i64(...) | main.rs:162:13:162:28 | ExprStmt | | +| main.rs:161:13:161:29 | ExprStmt | main.rs:161:13:161:21 | print_i64 | | +| main.rs:161:23:161:27 | first | main.rs:161:13:161:28 | print_i64(...) | | +| main.rs:162:13:162:21 | print_i64 | main.rs:162:23:162:26 | last | | +| main.rs:162:13:162:27 | print_i64(...) | main.rs:160:14:163:9 | { ... } | | +| main.rs:162:13:162:28 | ExprStmt | main.rs:162:13:162:21 | print_i64 | | +| main.rs:162:23:162:26 | last | main.rs:162:13:162:27 | print_i64(...) | | +| main.rs:167:1:175:1 | enter fn match_pattern3 | main.rs:168:5:168:38 | let ... = ... | | +| main.rs:167:1:175:1 | exit fn match_pattern3 (normal) | main.rs:167:1:175:1 | exit fn match_pattern3 | | +| main.rs:167:21:175:1 | { ... } | main.rs:167:1:175:1 | exit fn match_pattern3 (normal) | | +| main.rs:168:5:168:38 | let ... = ... | main.rs:168:25:168:27 | "x" | | +| main.rs:168:9:168:10 | p2 | main.rs:168:9:168:10 | p2 | | +| main.rs:168:9:168:10 | p2 | main.rs:170:11:170:12 | p2 | match | +| main.rs:168:14:168:37 | Point {...} | main.rs:168:9:168:10 | p2 | | +| main.rs:168:25:168:27 | "x" | main.rs:168:33:168:35 | "y" | | +| main.rs:168:33:168:35 | "y" | main.rs:168:14:168:37 | Point {...} | | +| main.rs:170:5:174:5 | match p2 { ... } | main.rs:167:21:175:1 | { ... } | | +| main.rs:170:11:170:12 | p2 | main.rs:171:9:173:9 | Point {...} | | +| main.rs:171:9:173:9 | Point {...} | main.rs:172:16:172:17 | x7 | match | +| main.rs:172:16:172:17 | x7 | main.rs:172:16:172:17 | x7 | | +| main.rs:172:16:172:17 | x7 | main.rs:172:20:172:21 | .. | match | +| main.rs:172:20:172:21 | .. | main.rs:173:14:173:22 | print_str | match | +| main.rs:173:14:173:22 | print_str | main.rs:173:24:173:25 | x7 | | +| main.rs:173:14:173:26 | print_str(...) | main.rs:170:5:174:5 | match p2 { ... } | | +| main.rs:173:24:173:25 | x7 | main.rs:173:14:173:26 | print_str(...) | | +| main.rs:181:1:198:1 | enter fn match_pattern4 | main.rs:182:5:182:39 | let ... = ... | | +| main.rs:181:1:198:1 | exit fn match_pattern4 (normal) | main.rs:181:1:198:1 | exit fn match_pattern4 | | +| main.rs:181:21:198:1 | { ... } | main.rs:181:1:198:1 | exit fn match_pattern4 (normal) | | +| main.rs:182:5:182:39 | let ... = ... | main.rs:182:36:182:36 | 0 | | +| main.rs:182:9:182:11 | msg | main.rs:182:9:182:11 | msg | | +| main.rs:182:9:182:11 | msg | main.rs:184:11:184:13 | msg | match | +| main.rs:182:15:182:38 | ...::Hello {...} | main.rs:182:9:182:11 | msg | | +| main.rs:182:36:182:36 | 0 | main.rs:182:15:182:38 | ...::Hello {...} | | +| main.rs:184:5:197:5 | match msg { ... } | main.rs:181:21:198:1 | { ... } | | +| main.rs:184:11:184:13 | msg | main.rs:186:9:188:9 | ...::Hello {...} | | +| main.rs:186:9:188:9 | ...::Hello {...} | main.rs:187:31:187:35 | RangePat | match | +| main.rs:186:9:188:9 | ...::Hello {...} | main.rs:189:9:189:38 | ...::Hello {...} | no-match | +| main.rs:187:17:187:27 | id_variable | main.rs:187:17:187:35 | id_variable @ ... | | +| main.rs:187:17:187:35 | id_variable @ ... | main.rs:188:14:188:22 | print_i64 | match | +| main.rs:187:31:187:31 | 3 | main.rs:187:31:187:31 | 3 | | +| main.rs:187:31:187:31 | 3 | main.rs:187:35:187:35 | 7 | match | +| main.rs:187:31:187:31 | 3 | main.rs:189:9:189:38 | ...::Hello {...} | no-match | +| main.rs:187:31:187:35 | RangePat | main.rs:187:31:187:31 | 3 | match | +| main.rs:187:35:187:35 | 7 | main.rs:187:17:187:27 | id_variable | match | +| main.rs:187:35:187:35 | 7 | main.rs:187:35:187:35 | 7 | | +| main.rs:187:35:187:35 | 7 | main.rs:189:9:189:38 | ...::Hello {...} | no-match | +| main.rs:188:14:188:22 | print_i64 | main.rs:188:24:188:34 | id_variable | | +| main.rs:188:14:188:35 | print_i64(...) | main.rs:184:5:197:5 | match msg { ... } | | +| main.rs:188:24:188:34 | id_variable | main.rs:188:14:188:35 | print_i64(...) | | +| main.rs:189:9:189:38 | ...::Hello {...} | main.rs:189:30:189:36 | RangePat | match | +| main.rs:189:9:189:38 | ...::Hello {...} | main.rs:192:9:192:29 | ...::Hello {...} | no-match | +| main.rs:189:30:189:31 | 10 | main.rs:189:30:189:31 | 10 | | +| main.rs:189:30:189:31 | 10 | main.rs:189:35:189:36 | 12 | match | +| main.rs:189:30:189:31 | 10 | main.rs:192:9:192:29 | ...::Hello {...} | no-match | +| main.rs:189:30:189:36 | RangePat | main.rs:189:30:189:31 | 10 | match | +| main.rs:189:35:189:36 | 12 | main.rs:189:35:189:36 | 12 | | +| main.rs:189:35:189:36 | 12 | main.rs:190:22:190:51 | ExprStmt | match | +| main.rs:189:35:189:36 | 12 | main.rs:192:9:192:29 | ...::Hello {...} | no-match | +| main.rs:189:43:191:9 | { ... } | main.rs:184:5:197:5 | match msg { ... } | | +| main.rs:190:13:190:52 | ...::_print | main.rs:190:22:190:51 | "Found an id in another range\\... | | +| main.rs:190:13:190:52 | MacroExpr | main.rs:189:43:191:9 | { ... } | | +| main.rs:190:13:190:52 | println!... | main.rs:190:13:190:52 | MacroExpr | | +| main.rs:190:22:190:51 | "Found an id in another range\\... | main.rs:190:22:190:51 | FormatArgsExpr | | +| main.rs:190:22:190:51 | ...::_print(...) | main.rs:190:22:190:51 | { ... } | | +| main.rs:190:22:190:51 | ...::format_args_nl!... | main.rs:190:22:190:51 | MacroExpr | | +| main.rs:190:22:190:51 | ExprStmt | main.rs:190:13:190:52 | ...::_print | | +| main.rs:190:22:190:51 | FormatArgsExpr | main.rs:190:22:190:51 | ...::format_args_nl!... | | +| main.rs:190:22:190:51 | MacroBlockExpr | main.rs:190:13:190:52 | println!... | | +| main.rs:190:22:190:51 | MacroExpr | main.rs:190:22:190:51 | ...::_print(...) | | +| main.rs:190:22:190:51 | { ... } | main.rs:190:22:190:51 | MacroBlockExpr | | +| main.rs:192:9:192:29 | ...::Hello {...} | main.rs:192:26:192:27 | id | match | +| main.rs:192:26:192:27 | id | main.rs:192:26:192:27 | id | | +| main.rs:192:26:192:27 | id | main.rs:195:13:195:21 | print_i64 | match | +| main.rs:194:9:196:9 | { ... } | main.rs:184:5:197:5 | match msg { ... } | | +| main.rs:195:13:195:21 | print_i64 | main.rs:195:23:195:24 | id | | +| main.rs:195:13:195:25 | print_i64(...) | main.rs:194:9:196:9 | { ... } | | +| main.rs:195:23:195:24 | id | main.rs:195:13:195:25 | print_i64(...) | | +| main.rs:205:1:211:1 | enter fn match_pattern5 | main.rs:206:5:206:34 | let ... = ... | | +| main.rs:205:1:211:1 | exit fn match_pattern5 (normal) | main.rs:205:1:211:1 | exit fn match_pattern5 | | +| main.rs:205:21:211:1 | { ... } | main.rs:205:1:211:1 | exit fn match_pattern5 (normal) | | +| main.rs:206:5:206:34 | let ... = ... | main.rs:206:18:206:29 | ...::Left | | +| main.rs:206:9:206:14 | either | main.rs:206:9:206:14 | either | | +| main.rs:206:9:206:14 | either | main.rs:207:11:207:16 | either | match | +| main.rs:206:18:206:29 | ...::Left | main.rs:206:31:206:32 | 32 | | +| main.rs:206:18:206:33 | ...::Left(...) | main.rs:206:9:206:14 | either | | +| main.rs:206:31:206:32 | 32 | main.rs:206:18:206:33 | ...::Left(...) | | +| main.rs:207:5:210:5 | match either { ... } | main.rs:205:21:211:1 | { ... } | | +| main.rs:207:11:207:16 | either | main.rs:208:9:208:24 | ...::Left(...) | | +| main.rs:208:9:208:24 | ...::Left(...) | main.rs:208:22:208:23 | a3 | match | +| main.rs:208:9:208:24 | ...::Left(...) | main.rs:208:28:208:44 | ...::Right(...) | no-match | +| main.rs:208:9:208:44 | ... \| ... | main.rs:209:16:209:24 | print_i64 | match | +| main.rs:208:22:208:23 | a3 | main.rs:208:9:208:44 | ... \| ... | match | +| main.rs:208:22:208:23 | a3 | main.rs:208:22:208:23 | a3 | | +| main.rs:208:28:208:44 | ...::Right(...) | main.rs:208:42:208:43 | a3 | match | +| main.rs:208:42:208:43 | a3 | main.rs:208:9:208:44 | ... \| ... | match | +| main.rs:208:42:208:43 | a3 | main.rs:208:42:208:43 | a3 | | +| main.rs:209:16:209:24 | print_i64 | main.rs:209:26:209:27 | a3 | | +| main.rs:209:16:209:28 | print_i64(...) | main.rs:207:5:210:5 | match either { ... } | | +| main.rs:209:26:209:27 | a3 | main.rs:209:16:209:28 | print_i64(...) | | +| main.rs:219:1:233:1 | enter fn match_pattern6 | main.rs:220:5:220:37 | let ... = ... | | +| main.rs:219:1:233:1 | exit fn match_pattern6 (normal) | main.rs:219:1:233:1 | exit fn match_pattern6 | | +| main.rs:219:21:233:1 | { ... } | main.rs:219:1:233:1 | exit fn match_pattern6 (normal) | | +| main.rs:220:5:220:37 | let ... = ... | main.rs:220:14:220:32 | ...::Second | | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | | +| main.rs:220:9:220:10 | tv | main.rs:221:5:224:5 | ExprStmt | match | +| main.rs:220:14:220:32 | ...::Second | main.rs:220:34:220:35 | 62 | | +| main.rs:220:14:220:36 | ...::Second(...) | main.rs:220:9:220:10 | tv | | +| main.rs:220:34:220:35 | 62 | main.rs:220:14:220:36 | ...::Second(...) | | +| main.rs:221:5:224:5 | ExprStmt | main.rs:221:11:221:12 | tv | | +| main.rs:221:5:224:5 | match tv { ... } | main.rs:225:5:228:5 | ExprStmt | | +| main.rs:221:11:221:12 | tv | main.rs:222:9:222:30 | ...::First(...) | | +| main.rs:222:9:222:30 | ...::First(...) | main.rs:222:28:222:29 | a4 | match | +| main.rs:222:9:222:30 | ...::First(...) | main.rs:222:34:222:56 | ...::Second(...) | no-match | +| main.rs:222:9:222:81 | ... \| ... \| ... | main.rs:223:16:223:24 | print_i64 | match | +| main.rs:222:28:222:29 | a4 | main.rs:222:9:222:81 | ... \| ... \| ... | match | +| main.rs:222:28:222:29 | a4 | main.rs:222:28:222:29 | a4 | | +| main.rs:222:34:222:56 | ...::Second(...) | main.rs:222:54:222:55 | a4 | match | +| main.rs:222:34:222:56 | ...::Second(...) | main.rs:222:60:222:81 | ...::Third(...) | no-match | +| main.rs:222:54:222:55 | a4 | main.rs:222:9:222:81 | ... \| ... \| ... | match | +| main.rs:222:54:222:55 | a4 | main.rs:222:54:222:55 | a4 | | +| main.rs:222:60:222:81 | ...::Third(...) | main.rs:222:79:222:80 | a4 | match | +| main.rs:222:79:222:80 | a4 | main.rs:222:9:222:81 | ... \| ... \| ... | match | +| main.rs:222:79:222:80 | a4 | main.rs:222:79:222:80 | a4 | | +| main.rs:223:16:223:24 | print_i64 | main.rs:223:26:223:27 | a4 | | +| main.rs:223:16:223:28 | print_i64(...) | main.rs:221:5:224:5 | match tv { ... } | | +| main.rs:223:26:223:27 | a4 | main.rs:223:16:223:28 | print_i64(...) | | +| main.rs:225:5:228:5 | ExprStmt | main.rs:225:11:225:12 | tv | | +| main.rs:225:5:228:5 | match tv { ... } | main.rs:229:11:229:12 | tv | | +| main.rs:225:11:225:12 | tv | main.rs:226:10:226:31 | ...::First(...) | | +| main.rs:226:9:226:83 | ... \| ... | main.rs:227:16:227:24 | print_i64 | match | +| main.rs:226:10:226:31 | ...::First(...) | main.rs:226:29:226:30 | a5 | match | +| main.rs:226:10:226:31 | ...::First(...) | main.rs:226:35:226:57 | ...::Second(...) | no-match | +| main.rs:226:10:226:57 | [match(false)] ... \| ... | main.rs:226:62:226:83 | ...::Third(...) | no-match | +| main.rs:226:10:226:57 | [match(true)] ... \| ... | main.rs:226:9:226:83 | ... \| ... | match | +| main.rs:226:29:226:30 | a5 | main.rs:226:10:226:57 | [match(true)] ... \| ... | match | +| main.rs:226:29:226:30 | a5 | main.rs:226:29:226:30 | a5 | | +| main.rs:226:35:226:57 | ...::Second(...) | main.rs:226:10:226:57 | [match(false)] ... \| ... | no-match | +| main.rs:226:35:226:57 | ...::Second(...) | main.rs:226:55:226:56 | a5 | match | +| main.rs:226:55:226:56 | a5 | main.rs:226:10:226:57 | [match(true)] ... \| ... | match | +| main.rs:226:55:226:56 | a5 | main.rs:226:55:226:56 | a5 | | +| main.rs:226:62:226:83 | ...::Third(...) | main.rs:226:81:226:82 | a5 | match | +| main.rs:226:81:226:82 | a5 | main.rs:226:9:226:83 | ... \| ... | match | +| main.rs:226:81:226:82 | a5 | main.rs:226:81:226:82 | a5 | | +| main.rs:227:16:227:24 | print_i64 | main.rs:227:26:227:27 | a5 | | +| main.rs:227:16:227:28 | print_i64(...) | main.rs:225:5:228:5 | match tv { ... } | | +| main.rs:227:26:227:27 | a5 | main.rs:227:16:227:28 | print_i64(...) | | +| main.rs:229:5:232:5 | match tv { ... } | main.rs:219:21:233:1 | { ... } | | +| main.rs:229:11:229:12 | tv | main.rs:230:9:230:30 | ...::First(...) | | +| main.rs:230:9:230:30 | ...::First(...) | main.rs:230:28:230:29 | a6 | match | +| main.rs:230:9:230:30 | ...::First(...) | main.rs:230:35:230:57 | ...::Second(...) | no-match | +| main.rs:230:9:230:83 | ... \| ... | main.rs:231:16:231:24 | print_i64 | match | +| main.rs:230:28:230:29 | a6 | main.rs:230:9:230:83 | ... \| ... | match | +| main.rs:230:28:230:29 | a6 | main.rs:230:28:230:29 | a6 | | +| main.rs:230:35:230:57 | ...::Second(...) | main.rs:230:55:230:56 | a6 | match | +| main.rs:230:35:230:57 | ...::Second(...) | main.rs:230:61:230:82 | ...::Third(...) | no-match | +| main.rs:230:35:230:82 | ... \| ... | main.rs:230:9:230:83 | ... \| ... | match | +| main.rs:230:55:230:56 | a6 | main.rs:230:35:230:82 | ... \| ... | match | +| main.rs:230:55:230:56 | a6 | main.rs:230:55:230:56 | a6 | | +| main.rs:230:61:230:82 | ...::Third(...) | main.rs:230:80:230:81 | a6 | match | +| main.rs:230:80:230:81 | a6 | main.rs:230:35:230:82 | ... \| ... | match | +| main.rs:230:80:230:81 | a6 | main.rs:230:80:230:81 | a6 | | +| main.rs:231:16:231:24 | print_i64 | main.rs:231:26:231:27 | a6 | | +| main.rs:231:16:231:28 | print_i64(...) | main.rs:229:5:232:5 | match tv { ... } | | +| main.rs:231:26:231:27 | a6 | main.rs:231:16:231:28 | print_i64(...) | | +| main.rs:235:1:243:1 | enter fn match_pattern7 | main.rs:236:5:236:34 | let ... = ... | | +| main.rs:235:1:243:1 | exit fn match_pattern7 (normal) | main.rs:235:1:243:1 | exit fn match_pattern7 | | +| main.rs:235:21:243:1 | { ... } | main.rs:235:1:243:1 | exit fn match_pattern7 (normal) | | +| main.rs:236:5:236:34 | let ... = ... | main.rs:236:18:236:29 | ...::Left | | +| main.rs:236:9:236:14 | either | main.rs:236:9:236:14 | either | | +| main.rs:236:9:236:14 | either | main.rs:237:11:237:16 | either | match | +| main.rs:236:18:236:29 | ...::Left | main.rs:236:31:236:32 | 32 | | +| main.rs:236:18:236:33 | ...::Left(...) | main.rs:236:9:236:14 | either | | +| main.rs:236:31:236:32 | 32 | main.rs:236:18:236:33 | ...::Left(...) | | +| main.rs:237:5:242:5 | match either { ... } | main.rs:235:21:243:1 | { ... } | | +| main.rs:237:11:237:16 | either | main.rs:238:9:238:24 | ...::Left(...) | | +| main.rs:238:9:238:24 | ...::Left(...) | main.rs:238:22:238:23 | a7 | match | +| main.rs:238:9:238:24 | ...::Left(...) | main.rs:238:28:238:44 | ...::Right(...) | no-match | +| main.rs:238:9:238:44 | [match(false)] ... \| ... | main.rs:241:9:241:9 | _ | no-match | +| main.rs:238:9:238:44 | [match(true)] ... \| ... | main.rs:239:16:239:17 | a7 | match | +| main.rs:238:22:238:23 | a7 | main.rs:238:9:238:44 | [match(true)] ... \| ... | match | +| main.rs:238:22:238:23 | a7 | main.rs:238:22:238:23 | a7 | | +| main.rs:238:28:238:44 | ...::Right(...) | main.rs:238:9:238:44 | [match(false)] ... \| ... | no-match | +| main.rs:238:28:238:44 | ...::Right(...) | main.rs:238:42:238:43 | a7 | match | +| main.rs:238:42:238:43 | a7 | main.rs:238:9:238:44 | [match(true)] ... \| ... | match | +| main.rs:238:42:238:43 | a7 | main.rs:238:42:238:43 | a7 | | +| main.rs:239:16:239:17 | a7 | main.rs:239:21:239:21 | 0 | | +| main.rs:239:16:239:21 | ... > ... | main.rs:240:16:240:24 | print_i64 | true | +| main.rs:239:16:239:21 | ... > ... | main.rs:241:9:241:9 | _ | false | +| main.rs:239:21:239:21 | 0 | main.rs:239:16:239:21 | ... > ... | | +| main.rs:240:16:240:24 | print_i64 | main.rs:240:26:240:27 | a7 | | +| main.rs:240:16:240:28 | print_i64(...) | main.rs:237:5:242:5 | match either { ... } | | +| main.rs:240:26:240:27 | a7 | main.rs:240:16:240:28 | print_i64(...) | | +| main.rs:241:9:241:9 | _ | main.rs:241:14:241:15 | TupleExpr | match | +| main.rs:241:14:241:15 | TupleExpr | main.rs:237:5:242:5 | match either { ... } | | +| main.rs:245:1:260:1 | enter fn match_pattern8 | main.rs:246:5:246:34 | let ... = ... | | +| main.rs:245:1:260:1 | exit fn match_pattern8 (normal) | main.rs:245:1:260:1 | exit fn match_pattern8 | | +| main.rs:245:21:260:1 | { ... } | main.rs:245:1:260:1 | exit fn match_pattern8 (normal) | | +| main.rs:246:5:246:34 | let ... = ... | main.rs:246:18:246:29 | ...::Left | | +| main.rs:246:9:246:14 | either | main.rs:246:9:246:14 | either | | +| main.rs:246:9:246:14 | either | main.rs:248:11:248:16 | either | match | +| main.rs:246:18:246:29 | ...::Left | main.rs:246:31:246:32 | 32 | | +| main.rs:246:18:246:33 | ...::Left(...) | main.rs:246:9:246:14 | either | | +| main.rs:246:31:246:32 | 32 | main.rs:246:18:246:33 | ...::Left(...) | | +| main.rs:248:5:259:5 | match either { ... } | main.rs:245:21:260:1 | { ... } | | +| main.rs:248:11:248:16 | either | main.rs:250:14:250:30 | ...::Left(...) | | +| main.rs:249:9:250:52 | ref e @ ... | main.rs:252:13:252:27 | ExprStmt | match | +| main.rs:249:13:249:13 | e | main.rs:249:9:250:52 | ref e @ ... | | +| main.rs:250:14:250:30 | ...::Left(...) | main.rs:250:27:250:29 | a11 | match | +| main.rs:250:14:250:30 | ...::Left(...) | main.rs:250:34:250:51 | ...::Right(...) | no-match | +| main.rs:250:14:250:51 | [match(false)] ... \| ... | main.rs:258:9:258:9 | _ | no-match | +| main.rs:250:14:250:51 | [match(true)] ... \| ... | main.rs:249:13:249:13 | e | match | +| main.rs:250:27:250:29 | a11 | main.rs:250:14:250:51 | [match(true)] ... \| ... | match | +| main.rs:250:27:250:29 | a11 | main.rs:250:27:250:29 | a11 | | +| main.rs:250:34:250:51 | ...::Right(...) | main.rs:250:14:250:51 | [match(false)] ... \| ... | no-match | +| main.rs:250:34:250:51 | ...::Right(...) | main.rs:250:48:250:50 | a11 | match | +| main.rs:250:48:250:50 | a11 | main.rs:250:14:250:51 | [match(true)] ... \| ... | match | +| main.rs:250:48:250:50 | a11 | main.rs:250:48:250:50 | a11 | | +| main.rs:251:12:257:9 | { ... } | main.rs:248:5:259:5 | match either { ... } | | +| main.rs:252:13:252:21 | print_i64 | main.rs:252:23:252:25 | a11 | | +| main.rs:252:13:252:26 | print_i64(...) | main.rs:254:15:254:15 | e | | +| main.rs:252:13:252:27 | ExprStmt | main.rs:252:13:252:21 | print_i64 | | +| main.rs:252:23:252:25 | a11 | main.rs:252:13:252:26 | print_i64(...) | | +| main.rs:253:13:256:13 | if ... {...} | main.rs:251:12:257:9 | { ... } | | +| main.rs:253:16:254:15 | [boolean(false)] let ... = e | main.rs:253:13:256:13 | if ... {...} | false | +| main.rs:253:16:254:15 | [boolean(true)] let ... = e | main.rs:255:17:255:32 | ExprStmt | true | +| main.rs:253:20:253:36 | ...::Left(...) | main.rs:253:16:254:15 | [boolean(false)] let ... = e | no-match | +| main.rs:253:20:253:36 | ...::Left(...) | main.rs:253:33:253:35 | a12 | match | +| main.rs:253:33:253:35 | a12 | main.rs:253:16:254:15 | [boolean(true)] let ... = e | match | +| main.rs:253:33:253:35 | a12 | main.rs:253:33:253:35 | a12 | | +| main.rs:254:15:254:15 | e | main.rs:253:20:253:36 | ...::Left(...) | | +| main.rs:254:17:256:13 | { ... } | main.rs:253:13:256:13 | if ... {...} | | +| main.rs:255:17:255:25 | print_i64 | main.rs:255:28:255:30 | a12 | | +| main.rs:255:17:255:31 | print_i64(...) | main.rs:254:17:256:13 | { ... } | | +| main.rs:255:17:255:32 | ExprStmt | main.rs:255:17:255:25 | print_i64 | | +| main.rs:255:27:255:30 | * ... | main.rs:255:17:255:31 | print_i64(...) | | +| main.rs:255:28:255:30 | a12 | main.rs:255:27:255:30 | * ... | | +| main.rs:258:9:258:9 | _ | main.rs:258:14:258:15 | TupleExpr | match | +| main.rs:258:14:258:15 | TupleExpr | main.rs:248:5:259:5 | match either { ... } | | +| main.rs:269:1:275:1 | enter fn match_pattern9 | main.rs:270:5:270:36 | let ... = ... | | +| main.rs:269:1:275:1 | exit fn match_pattern9 (normal) | main.rs:269:1:275:1 | exit fn match_pattern9 | | +| main.rs:269:21:275:1 | { ... } | main.rs:269:1:275:1 | exit fn match_pattern9 (normal) | | +| main.rs:270:5:270:36 | let ... = ... | main.rs:270:14:270:31 | ...::Second | | +| main.rs:270:9:270:10 | fv | main.rs:270:9:270:10 | fv | | +| main.rs:270:9:270:10 | fv | main.rs:271:11:271:12 | fv | match | +| main.rs:270:14:270:31 | ...::Second | main.rs:270:33:270:34 | 62 | | +| main.rs:270:14:270:35 | ...::Second(...) | main.rs:270:9:270:10 | fv | | +| main.rs:270:33:270:34 | 62 | main.rs:270:14:270:35 | ...::Second(...) | | +| main.rs:271:5:274:5 | match fv { ... } | main.rs:269:21:275:1 | { ... } | | +| main.rs:271:11:271:12 | fv | main.rs:272:9:272:30 | ...::First(...) | | +| main.rs:272:9:272:30 | ...::First(...) | main.rs:272:27:272:29 | a13 | match | +| main.rs:272:9:272:30 | ...::First(...) | main.rs:272:35:272:57 | ...::Second(...) | no-match | +| main.rs:272:9:272:109 | ... \| ... \| ... | main.rs:273:16:273:24 | print_i64 | match | +| main.rs:272:27:272:29 | a13 | main.rs:272:9:272:109 | ... \| ... \| ... | match | +| main.rs:272:27:272:29 | a13 | main.rs:272:27:272:29 | a13 | | +| main.rs:272:35:272:57 | ...::Second(...) | main.rs:272:54:272:56 | a13 | match | +| main.rs:272:35:272:57 | ...::Second(...) | main.rs:272:61:272:82 | ...::Third(...) | no-match | +| main.rs:272:35:272:82 | [match(false)] ... \| ... | main.rs:272:87:272:109 | ...::Fourth(...) | no-match | +| main.rs:272:35:272:82 | [match(true)] ... \| ... | main.rs:272:9:272:109 | ... \| ... \| ... | match | +| main.rs:272:54:272:56 | a13 | main.rs:272:35:272:82 | [match(true)] ... \| ... | match | +| main.rs:272:54:272:56 | a13 | main.rs:272:54:272:56 | a13 | | +| main.rs:272:61:272:82 | ...::Third(...) | main.rs:272:35:272:82 | [match(false)] ... \| ... | no-match | +| main.rs:272:61:272:82 | ...::Third(...) | main.rs:272:79:272:81 | a13 | match | +| main.rs:272:79:272:81 | a13 | main.rs:272:35:272:82 | [match(true)] ... \| ... | match | +| main.rs:272:79:272:81 | a13 | main.rs:272:79:272:81 | a13 | | +| main.rs:272:87:272:109 | ...::Fourth(...) | main.rs:272:106:272:108 | a13 | match | +| main.rs:272:106:272:108 | a13 | main.rs:272:9:272:109 | ... \| ... \| ... | match | +| main.rs:272:106:272:108 | a13 | main.rs:272:106:272:108 | a13 | | +| main.rs:273:16:273:24 | print_i64 | main.rs:273:26:273:28 | a13 | | +| main.rs:273:16:273:29 | print_i64(...) | main.rs:271:5:274:5 | match fv { ... } | | +| main.rs:273:26:273:28 | a13 | main.rs:273:16:273:29 | print_i64(...) | | +| main.rs:277:1:291:1 | enter fn match_pattern10 | main.rs:279:5:279:20 | let ... = ... | | +| main.rs:277:1:291:1 | exit fn match_pattern10 (normal) | main.rs:277:1:291:1 | exit fn match_pattern10 | | +| main.rs:278:22:291:1 | { ... } | main.rs:277:1:291:1 | exit fn match_pattern10 (normal) | | +| main.rs:279:5:279:20 | let ... = ... | main.rs:279:12:279:15 | Some | | +| main.rs:279:9:279:9 | x | main.rs:279:9:279:9 | x | | +| main.rs:279:9:279:9 | x | main.rs:281:7:281:7 | x | match | +| main.rs:279:12:279:15 | Some | main.rs:279:17:279:18 | 42 | | +| main.rs:279:12:279:19 | Some(...) | main.rs:279:9:279:9 | x | | +| main.rs:279:17:279:18 | 42 | main.rs:279:12:279:19 | Some(...) | | +| main.rs:280:5:290:5 | if ... {...} else {...} | main.rs:278:22:291:1 | { ... } | | +| main.rs:280:8:281:7 | [boolean(false)] let ... = x | main.rs:280:8:283:9 | [boolean(false)] ... && ... | false | +| main.rs:280:8:281:7 | [boolean(true)] let ... = x | main.rs:283:5:283:5 | x | true | +| main.rs:280:8:283:9 | [boolean(false)] ... && ... | main.rs:287:9:288:14 | let ... = x | false | +| main.rs:280:8:283:9 | [boolean(true)] ... && ... | main.rs:285:9:285:21 | ExprStmt | true | +| main.rs:280:12:280:18 | Some(...) | main.rs:280:8:281:7 | [boolean(false)] let ... = x | no-match | +| main.rs:280:12:280:18 | Some(...) | main.rs:280:17:280:17 | x | match | +| main.rs:280:17:280:17 | x | main.rs:280:8:281:7 | [boolean(true)] let ... = x | match | +| main.rs:280:17:280:17 | x | main.rs:280:17:280:17 | x | | +| main.rs:281:7:281:7 | x | main.rs:280:12:280:18 | Some(...) | | +| main.rs:283:5:283:5 | x | main.rs:283:9:283:9 | 0 | | +| main.rs:283:5:283:9 | ... > ... | main.rs:280:8:283:9 | [boolean(false)] ... && ... | false | +| main.rs:283:5:283:9 | ... > ... | main.rs:280:8:283:9 | [boolean(true)] ... && ... | true | +| main.rs:283:9:283:9 | 0 | main.rs:283:5:283:9 | ... > ... | | +| main.rs:284:5:286:5 | { ... } | main.rs:280:5:290:5 | if ... {...} else {...} | | +| main.rs:285:9:285:17 | print_i64 | main.rs:285:19:285:19 | x | | +| main.rs:285:9:285:20 | print_i64(...) | main.rs:284:5:286:5 | { ... } | | +| main.rs:285:9:285:21 | ExprStmt | main.rs:285:9:285:17 | print_i64 | | +| main.rs:285:19:285:19 | x | main.rs:285:9:285:20 | print_i64(...) | | +| main.rs:286:12:290:5 | { ... } | main.rs:280:5:290:5 | if ... {...} else {...} | | +| main.rs:287:9:288:14 | let ... = x | main.rs:288:13:288:13 | x | | +| main.rs:287:13:287:13 | x | main.rs:287:13:287:13 | x | | +| main.rs:287:13:287:13 | x | main.rs:289:9:289:30 | ExprStmt | match | +| main.rs:288:13:288:13 | x | main.rs:287:13:287:13 | x | | +| main.rs:289:9:289:17 | print_i64 | main.rs:289:19:289:19 | x | | +| main.rs:289:9:289:29 | print_i64(...) | main.rs:286:12:290:5 | { ... } | | +| main.rs:289:9:289:30 | ExprStmt | main.rs:289:9:289:17 | print_i64 | | +| main.rs:289:19:289:19 | x | main.rs:289:19:289:28 | x.unwrap() | | +| main.rs:289:19:289:28 | x.unwrap() | main.rs:289:9:289:29 | print_i64(...) | | +| main.rs:293:1:310:1 | enter fn match_pattern11 | main.rs:295:5:295:21 | let ... = ... | | +| main.rs:293:1:310:1 | exit fn match_pattern11 (normal) | main.rs:293:1:310:1 | exit fn match_pattern11 | | +| main.rs:294:22:310:1 | { ... } | main.rs:293:1:310:1 | exit fn match_pattern11 (normal) | | +| main.rs:295:5:295:21 | let ... = ... | main.rs:295:13:295:16 | Some | | +| main.rs:295:9:295:9 | x | main.rs:295:9:295:9 | x | | +| main.rs:295:9:295:9 | x | main.rs:297:7:297:7 | x | match | +| main.rs:295:13:295:16 | Some | main.rs:295:18:295:19 | 42 | | +| main.rs:295:13:295:20 | Some(...) | main.rs:295:9:295:9 | x | | +| main.rs:295:18:295:19 | 42 | main.rs:295:13:295:20 | Some(...) | | +| main.rs:296:5:309:5 | if ... {...} else {...} | main.rs:294:22:310:1 | { ... } | | +| main.rs:296:8:297:7 | [boolean(false)] let ... = x | main.rs:296:8:300:13 | [boolean(false)] ... && ... | false | +| main.rs:296:8:297:7 | [boolean(true)] let ... = x | main.rs:300:7:300:10 | Some | true | +| main.rs:296:8:300:13 | [boolean(false)] ... && ... | main.rs:296:8:302:9 | [boolean(false)] ... && ... | false | +| main.rs:296:8:300:13 | [boolean(true)] ... && ... | main.rs:302:5:302:5 | x | true | +| main.rs:296:8:302:9 | [boolean(false)] ... && ... | main.rs:306:9:307:14 | let ... = x | false | +| main.rs:296:8:302:9 | [boolean(true)] ... && ... | main.rs:304:9:304:21 | ExprStmt | true | +| main.rs:296:12:296:18 | Some(...) | main.rs:296:8:297:7 | [boolean(false)] let ... = x | no-match | +| main.rs:296:12:296:18 | Some(...) | main.rs:296:17:296:17 | x | match | +| main.rs:296:17:296:17 | x | main.rs:296:8:297:7 | [boolean(true)] let ... = x | match | +| main.rs:296:17:296:17 | x | main.rs:296:17:296:17 | x | | +| main.rs:297:7:297:7 | x | main.rs:296:12:296:18 | Some(...) | | +| main.rs:299:5:300:13 | [boolean(false)] let ... = ... | main.rs:296:8:300:13 | [boolean(false)] ... && ... | false | +| main.rs:299:5:300:13 | [boolean(true)] let ... = ... | main.rs:296:8:300:13 | [boolean(true)] ... && ... | true | +| main.rs:299:9:299:15 | Some(...) | main.rs:299:5:300:13 | [boolean(false)] let ... = ... | no-match | +| main.rs:299:9:299:15 | Some(...) | main.rs:299:14:299:14 | x | match | +| main.rs:299:14:299:14 | x | main.rs:299:5:300:13 | [boolean(true)] let ... = ... | match | +| main.rs:299:14:299:14 | x | main.rs:299:14:299:14 | x | | +| main.rs:300:7:300:10 | Some | main.rs:300:12:300:12 | x | | +| main.rs:300:7:300:13 | Some(...) | main.rs:299:9:299:15 | Some(...) | | +| main.rs:300:12:300:12 | x | main.rs:300:7:300:13 | Some(...) | | +| main.rs:302:5:302:5 | x | main.rs:302:9:302:9 | 0 | | +| main.rs:302:5:302:9 | ... > ... | main.rs:296:8:302:9 | [boolean(false)] ... && ... | false | +| main.rs:302:5:302:9 | ... > ... | main.rs:296:8:302:9 | [boolean(true)] ... && ... | true | +| main.rs:302:9:302:9 | 0 | main.rs:302:5:302:9 | ... > ... | | +| main.rs:303:5:305:5 | { ... } | main.rs:296:5:309:5 | if ... {...} else {...} | | +| main.rs:304:9:304:17 | print_i64 | main.rs:304:19:304:19 | x | | +| main.rs:304:9:304:20 | print_i64(...) | main.rs:303:5:305:5 | { ... } | | +| main.rs:304:9:304:21 | ExprStmt | main.rs:304:9:304:17 | print_i64 | | +| main.rs:304:19:304:19 | x | main.rs:304:9:304:20 | print_i64(...) | | +| main.rs:305:12:309:5 | { ... } | main.rs:296:5:309:5 | if ... {...} else {...} | | +| main.rs:306:9:307:14 | let ... = x | main.rs:307:13:307:13 | x | | +| main.rs:306:13:306:13 | x | main.rs:306:13:306:13 | x | | +| main.rs:306:13:306:13 | x | main.rs:308:9:308:30 | ExprStmt | match | +| main.rs:307:13:307:13 | x | main.rs:306:13:306:13 | x | | +| main.rs:308:9:308:17 | print_i64 | main.rs:308:19:308:19 | x | | +| main.rs:308:9:308:29 | print_i64(...) | main.rs:305:12:309:5 | { ... } | | +| main.rs:308:9:308:30 | ExprStmt | main.rs:308:9:308:17 | print_i64 | | +| main.rs:308:19:308:19 | x | main.rs:308:19:308:28 | x.unwrap() | | +| main.rs:308:19:308:28 | x.unwrap() | main.rs:308:9:308:29 | print_i64(...) | | +| main.rs:312:1:328:1 | enter fn match_pattern12 | main.rs:314:5:314:21 | let ... = ... | | +| main.rs:312:1:328:1 | exit fn match_pattern12 (normal) | main.rs:312:1:328:1 | exit fn match_pattern12 | | +| main.rs:313:22:328:1 | { ... } | main.rs:312:1:328:1 | exit fn match_pattern12 (normal) | | +| main.rs:314:5:314:21 | let ... = ... | main.rs:314:13:314:16 | Some | | +| main.rs:314:9:314:9 | x | main.rs:314:9:314:9 | x | | +| main.rs:314:9:314:9 | x | main.rs:315:5:325:5 | ExprStmt | match | +| main.rs:314:13:314:16 | Some | main.rs:314:18:314:19 | 42 | | +| main.rs:314:13:314:20 | Some(...) | main.rs:314:9:314:9 | x | | +| main.rs:314:18:314:19 | 42 | main.rs:314:13:314:20 | Some(...) | | +| main.rs:315:5:325:5 | ExprStmt | main.rs:316:7:316:7 | x | | +| main.rs:315:5:325:5 | while ... { ... } | main.rs:327:5:327:26 | ExprStmt | | +| main.rs:315:11:316:7 | [boolean(false)] let ... = x | main.rs:315:11:319:13 | [boolean(false)] ... && ... | false | +| main.rs:315:11:316:7 | [boolean(true)] let ... = x | main.rs:319:7:319:10 | Some | true | +| main.rs:315:11:319:13 | [boolean(false)] ... && ... | main.rs:315:11:321:9 | [boolean(false)] ... && ... | false | +| main.rs:315:11:319:13 | [boolean(true)] ... && ... | main.rs:321:5:321:5 | x | true | +| main.rs:315:11:321:9 | [boolean(false)] ... && ... | main.rs:315:5:325:5 | while ... { ... } | false | +| main.rs:315:11:321:9 | [boolean(true)] ... && ... | main.rs:323:9:323:21 | ExprStmt | true | +| main.rs:315:15:315:21 | Some(...) | main.rs:315:11:316:7 | [boolean(false)] let ... = x | no-match | +| main.rs:315:15:315:21 | Some(...) | main.rs:315:20:315:20 | x | match | +| main.rs:315:20:315:20 | x | main.rs:315:11:316:7 | [boolean(true)] let ... = x | match | +| main.rs:315:20:315:20 | x | main.rs:315:20:315:20 | x | | +| main.rs:316:7:316:7 | x | main.rs:315:15:315:21 | Some(...) | | +| main.rs:318:5:319:13 | [boolean(false)] let ... = ... | main.rs:315:11:319:13 | [boolean(false)] ... && ... | false | +| main.rs:318:5:319:13 | [boolean(true)] let ... = ... | main.rs:315:11:319:13 | [boolean(true)] ... && ... | true | +| main.rs:318:9:318:15 | Some(...) | main.rs:318:5:319:13 | [boolean(false)] let ... = ... | no-match | +| main.rs:318:9:318:15 | Some(...) | main.rs:318:14:318:14 | x | match | +| main.rs:318:14:318:14 | x | main.rs:318:5:319:13 | [boolean(true)] let ... = ... | match | +| main.rs:318:14:318:14 | x | main.rs:318:14:318:14 | x | | +| main.rs:319:7:319:10 | Some | main.rs:319:12:319:12 | x | | +| main.rs:319:7:319:13 | Some(...) | main.rs:318:9:318:15 | Some(...) | | +| main.rs:319:12:319:12 | x | main.rs:319:7:319:13 | Some(...) | | +| main.rs:321:5:321:5 | x | main.rs:321:9:321:9 | 0 | | +| main.rs:321:5:321:9 | ... > ... | main.rs:315:11:321:9 | [boolean(false)] ... && ... | false | +| main.rs:321:5:321:9 | ... > ... | main.rs:315:11:321:9 | [boolean(true)] ... && ... | true | +| main.rs:321:9:321:9 | 0 | main.rs:321:5:321:9 | ... > ... | | +| main.rs:323:9:323:17 | print_i64 | main.rs:323:19:323:19 | x | | +| main.rs:323:9:323:20 | print_i64(...) | main.rs:324:9:324:14 | ExprStmt | | +| main.rs:323:9:323:21 | ExprStmt | main.rs:323:9:323:17 | print_i64 | | +| main.rs:323:19:323:19 | x | main.rs:323:9:323:20 | print_i64(...) | | +| main.rs:324:9:324:13 | break | main.rs:315:5:325:5 | while ... { ... } | break | +| main.rs:324:9:324:14 | ExprStmt | main.rs:324:9:324:13 | break | | +| main.rs:327:5:327:13 | print_i64 | main.rs:327:15:327:15 | x | | +| main.rs:327:5:327:25 | print_i64(...) | main.rs:313:22:328:1 | { ... } | | +| main.rs:327:5:327:26 | ExprStmt | main.rs:327:5:327:13 | print_i64 | | +| main.rs:327:15:327:15 | x | main.rs:327:15:327:24 | x.unwrap() | | +| main.rs:327:15:327:24 | x.unwrap() | main.rs:327:5:327:25 | print_i64(...) | | +| main.rs:330:1:342:1 | enter fn match_pattern13 | main.rs:332:5:332:21 | let ... = ... | | +| main.rs:330:1:342:1 | exit fn match_pattern13 (normal) | main.rs:330:1:342:1 | exit fn match_pattern13 | | +| main.rs:331:22:342:1 | { ... } | main.rs:330:1:342:1 | exit fn match_pattern13 (normal) | | +| main.rs:332:5:332:21 | let ... = ... | main.rs:332:13:332:16 | Some | | +| main.rs:332:9:332:9 | x | main.rs:332:9:332:9 | x | | +| main.rs:332:9:332:9 | x | main.rs:333:5:339:5 | ExprStmt | match | +| main.rs:332:13:332:16 | Some | main.rs:332:18:332:19 | 42 | | +| main.rs:332:13:332:20 | Some(...) | main.rs:332:9:332:9 | x | | +| main.rs:332:18:332:19 | 42 | main.rs:332:13:332:20 | Some(...) | | +| main.rs:333:5:339:5 | ExprStmt | main.rs:333:11:333:11 | x | | +| main.rs:333:5:339:5 | match x { ... } | main.rs:341:5:341:26 | ExprStmt | | +| main.rs:333:11:333:11 | x | main.rs:334:9:334:15 | Some(...) | | +| main.rs:334:9:334:15 | Some(...) | main.rs:334:14:334:14 | x | match | +| main.rs:334:9:334:15 | Some(...) | main.rs:338:9:338:9 | _ | no-match | +| main.rs:334:14:334:14 | x | main.rs:334:14:334:14 | x | | +| main.rs:334:14:334:14 | x | main.rs:336:18:336:18 | x | match | +| main.rs:335:16:336:18 | [boolean(true)] let ... = x | main.rs:337:19:337:19 | x | true | +| main.rs:335:16:337:23 | [boolean(false)] ... && ... | main.rs:338:9:338:9 | _ | false | +| main.rs:335:16:337:23 | [boolean(true)] ... && ... | main.rs:337:28:337:29 | TupleExpr | true | +| main.rs:335:20:335:20 | x | main.rs:335:16:336:18 | [boolean(true)] let ... = x | match | +| main.rs:335:20:335:20 | x | main.rs:335:20:335:20 | x | | +| main.rs:336:18:336:18 | x | main.rs:335:20:335:20 | x | | +| main.rs:337:19:337:19 | x | main.rs:337:23:337:23 | 0 | | +| main.rs:337:19:337:23 | ... > ... | main.rs:335:16:337:23 | [boolean(false)] ... && ... | false | +| main.rs:337:19:337:23 | ... > ... | main.rs:335:16:337:23 | [boolean(true)] ... && ... | true | +| main.rs:337:23:337:23 | 0 | main.rs:337:19:337:23 | ... > ... | | +| main.rs:337:28:337:29 | TupleExpr | main.rs:333:5:339:5 | match x { ... } | | +| main.rs:338:9:338:9 | _ | main.rs:338:14:338:15 | TupleExpr | match | +| main.rs:338:14:338:15 | TupleExpr | main.rs:333:5:339:5 | match x { ... } | | +| main.rs:341:5:341:13 | print_i64 | main.rs:341:15:341:15 | x | | +| main.rs:341:5:341:25 | print_i64(...) | main.rs:331:22:342:1 | { ... } | | +| main.rs:341:5:341:26 | ExprStmt | main.rs:341:5:341:13 | print_i64 | | +| main.rs:341:15:341:15 | x | main.rs:341:15:341:24 | x.unwrap() | | +| main.rs:341:15:341:24 | x.unwrap() | main.rs:341:5:341:25 | print_i64(...) | | +| main.rs:344:1:359:1 | enter fn match_pattern14 | main.rs:346:5:346:19 | let ... = ... | | +| main.rs:344:1:359:1 | exit fn match_pattern14 (normal) | main.rs:344:1:359:1 | exit fn match_pattern14 | | +| main.rs:345:22:359:1 | { ... } | main.rs:344:1:359:1 | exit fn match_pattern14 (normal) | | +| main.rs:346:5:346:19 | let ... = ... | main.rs:346:13:346:14 | Ok | | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | | +| main.rs:346:9:346:9 | x | main.rs:348:7:348:7 | x | match | +| main.rs:346:13:346:14 | Ok | main.rs:346:16:346:17 | 42 | | +| main.rs:346:13:346:18 | Ok(...) | main.rs:346:9:346:9 | x | | +| main.rs:346:16:346:17 | 42 | main.rs:346:13:346:18 | Ok(...) | | +| main.rs:347:5:358:5 | if ... {...} else {...} | main.rs:345:22:359:1 | { ... } | | +| main.rs:347:8:348:7 | [boolean(false)] let ... = x | main.rs:353:7:353:7 | x | false | +| main.rs:347:8:348:7 | [boolean(true)] let ... = x | main.rs:350:9:350:21 | ExprStmt | true | +| main.rs:347:12:347:17 | Err(...) | main.rs:347:8:348:7 | [boolean(false)] let ... = x | no-match | +| main.rs:347:12:347:17 | Err(...) | main.rs:347:16:347:16 | x | match | +| main.rs:347:16:347:16 | x | main.rs:347:8:348:7 | [boolean(true)] let ... = x | match | +| main.rs:347:16:347:16 | x | main.rs:347:16:347:16 | x | | +| main.rs:348:7:348:7 | x | main.rs:347:12:347:17 | Err(...) | | +| main.rs:349:5:351:5 | { ... } | main.rs:347:5:358:5 | if ... {...} else {...} | | +| main.rs:350:9:350:17 | print_i64 | main.rs:350:19:350:19 | x | | +| main.rs:350:9:350:20 | print_i64(...) | main.rs:349:5:351:5 | { ... } | | +| main.rs:350:9:350:21 | ExprStmt | main.rs:350:9:350:17 | print_i64 | | +| main.rs:350:19:350:19 | x | main.rs:350:9:350:20 | print_i64(...) | | +| main.rs:352:10:358:5 | if ... {...} else {...} | main.rs:347:5:358:5 | if ... {...} else {...} | | +| main.rs:352:13:353:7 | [boolean(false)] let ... = x | main.rs:357:9:357:30 | ExprStmt | false | +| main.rs:352:13:353:7 | [boolean(true)] let ... = x | main.rs:355:9:355:21 | ExprStmt | true | +| main.rs:352:17:352:21 | Ok(...) | main.rs:352:13:353:7 | [boolean(false)] let ... = x | no-match | +| main.rs:352:17:352:21 | Ok(...) | main.rs:352:20:352:20 | x | match | +| main.rs:352:20:352:20 | x | main.rs:352:13:353:7 | [boolean(true)] let ... = x | match | +| main.rs:352:20:352:20 | x | main.rs:352:20:352:20 | x | | +| main.rs:353:7:353:7 | x | main.rs:352:17:352:21 | Ok(...) | | +| main.rs:354:5:356:5 | { ... } | main.rs:352:10:358:5 | if ... {...} else {...} | | +| main.rs:355:9:355:17 | print_i64 | main.rs:355:19:355:19 | x | | +| main.rs:355:9:355:20 | print_i64(...) | main.rs:354:5:356:5 | { ... } | | +| main.rs:355:9:355:21 | ExprStmt | main.rs:355:9:355:17 | print_i64 | | +| main.rs:355:19:355:19 | x | main.rs:355:9:355:20 | print_i64(...) | | +| main.rs:356:12:358:5 | { ... } | main.rs:352:10:358:5 | if ... {...} else {...} | | +| main.rs:357:9:357:17 | print_i64 | main.rs:357:19:357:19 | x | | +| main.rs:357:9:357:29 | print_i64(...) | main.rs:356:12:358:5 | { ... } | | +| main.rs:357:9:357:30 | ExprStmt | main.rs:357:9:357:17 | print_i64 | | +| main.rs:357:19:357:19 | x | main.rs:357:19:357:28 | x.unwrap() | | +| main.rs:357:19:357:28 | x.unwrap() | main.rs:357:9:357:29 | print_i64(...) | | +| main.rs:361:1:371:1 | enter fn param_pattern1 | main.rs:362:5:362:6 | a8 | | +| main.rs:361:1:371:1 | exit fn param_pattern1 (normal) | main.rs:361:1:371:1 | exit fn param_pattern1 | | +| main.rs:362:5:362:6 | a8 | main.rs:362:5:362:6 | a8 | | +| main.rs:362:5:362:6 | a8 | main.rs:362:5:362:12 | ...: ... | match | +| main.rs:362:5:362:12 | ...: ... | main.rs:363:5:366:5 | TuplePat | | +| main.rs:363:5:366:5 | TuplePat | main.rs:364:9:364:10 | b3 | match | +| main.rs:363:5:366:19 | ...: ... | main.rs:368:5:368:18 | ExprStmt | | +| main.rs:364:9:364:10 | b3 | main.rs:364:9:364:10 | b3 | | +| main.rs:364:9:364:10 | b3 | main.rs:365:9:365:10 | c1 | match | +| main.rs:365:9:365:10 | c1 | main.rs:363:5:366:19 | ...: ... | match | +| main.rs:365:9:365:10 | c1 | main.rs:365:9:365:10 | c1 | | +| main.rs:367:9:371:1 | { ... } | main.rs:361:1:371:1 | exit fn param_pattern1 (normal) | | +| main.rs:368:5:368:13 | print_str | main.rs:368:15:368:16 | a8 | | +| main.rs:368:5:368:17 | print_str(...) | main.rs:369:5:369:18 | ExprStmt | | +| main.rs:368:5:368:18 | ExprStmt | main.rs:368:5:368:13 | print_str | | +| main.rs:368:15:368:16 | a8 | main.rs:368:5:368:17 | print_str(...) | | +| main.rs:369:5:369:13 | print_str | main.rs:369:15:369:16 | b3 | | +| main.rs:369:5:369:17 | print_str(...) | main.rs:370:5:370:18 | ExprStmt | | +| main.rs:369:5:369:18 | ExprStmt | main.rs:369:5:369:13 | print_str | | +| main.rs:369:15:369:16 | b3 | main.rs:369:5:369:17 | print_str(...) | | +| main.rs:370:5:370:13 | print_str | main.rs:370:15:370:16 | c1 | | +| main.rs:370:5:370:17 | print_str(...) | main.rs:367:9:371:1 | { ... } | | +| main.rs:370:5:370:18 | ExprStmt | main.rs:370:5:370:13 | print_str | | +| main.rs:370:15:370:16 | c1 | main.rs:370:5:370:17 | print_str(...) | | +| main.rs:373:1:376:1 | enter fn param_pattern2 | main.rs:373:20:373:35 | ...::Left(...) | | +| main.rs:373:1:376:1 | exit fn param_pattern2 (normal) | main.rs:373:1:376:1 | exit fn param_pattern2 | | +| main.rs:373:19:373:64 | ...: Either | main.rs:375:5:375:18 | ExprStmt | | +| main.rs:373:20:373:35 | ...::Left(...) | main.rs:373:33:373:34 | a9 | match | +| main.rs:373:20:373:35 | ...::Left(...) | main.rs:373:39:373:55 | ...::Right(...) | no-match | +| main.rs:373:20:373:55 | ... \| ... | main.rs:373:19:373:64 | ...: Either | match | +| main.rs:373:33:373:34 | a9 | main.rs:373:20:373:55 | ... \| ... | match | +| main.rs:373:33:373:34 | a9 | main.rs:373:33:373:34 | a9 | | +| main.rs:373:39:373:55 | ...::Right(...) | main.rs:373:53:373:54 | a9 | match | +| main.rs:373:53:373:54 | a9 | main.rs:373:20:373:55 | ... \| ... | match | +| main.rs:373:53:373:54 | a9 | main.rs:373:53:373:54 | a9 | | +| main.rs:374:9:376:1 | { ... } | main.rs:373:1:376:1 | exit fn param_pattern2 (normal) | | +| main.rs:375:5:375:13 | print_i64 | main.rs:375:15:375:16 | a9 | | +| main.rs:375:5:375:17 | print_i64(...) | main.rs:374:9:376:1 | { ... } | | +| main.rs:375:5:375:18 | ExprStmt | main.rs:375:5:375:13 | print_i64 | | +| main.rs:375:15:375:16 | a9 | main.rs:375:5:375:17 | print_i64(...) | | +| main.rs:378:1:413:1 | enter fn destruct_assignment | main.rs:379:5:383:18 | let ... = ... | | +| main.rs:378:1:413:1 | exit fn destruct_assignment (normal) | main.rs:378:1:413:1 | exit fn destruct_assignment | | +| main.rs:378:26:413:1 | { ... } | main.rs:378:1:413:1 | exit fn destruct_assignment (normal) | | +| main.rs:379:5:383:18 | let ... = ... | main.rs:383:10:383:10 | 1 | | +| main.rs:379:9:383:5 | TuplePat | main.rs:380:13:380:15 | a10 | match | +| main.rs:380:9:380:15 | mut a10 | main.rs:381:13:381:14 | b4 | match | +| main.rs:380:13:380:15 | a10 | main.rs:380:9:380:15 | mut a10 | | +| main.rs:381:9:381:14 | mut b4 | main.rs:382:13:382:14 | c2 | match | +| main.rs:381:13:381:14 | b4 | main.rs:381:9:381:14 | mut b4 | | +| main.rs:382:9:382:14 | mut c2 | main.rs:384:5:384:19 | ExprStmt | match | +| main.rs:382:13:382:14 | c2 | main.rs:382:9:382:14 | mut c2 | | +| main.rs:383:9:383:17 | TupleExpr | main.rs:379:9:383:5 | TuplePat | | +| main.rs:383:10:383:10 | 1 | main.rs:383:13:383:13 | 2 | | +| main.rs:383:13:383:13 | 2 | main.rs:383:16:383:16 | 3 | | +| main.rs:383:16:383:16 | 3 | main.rs:383:9:383:17 | TupleExpr | | +| main.rs:384:5:384:13 | print_i64 | main.rs:384:15:384:17 | a10 | | +| main.rs:384:5:384:18 | print_i64(...) | main.rs:385:5:385:18 | ExprStmt | | +| main.rs:384:5:384:19 | ExprStmt | main.rs:384:5:384:13 | print_i64 | | +| main.rs:384:15:384:17 | a10 | main.rs:384:5:384:18 | print_i64(...) | | +| main.rs:385:5:385:13 | print_i64 | main.rs:385:15:385:16 | b4 | | +| main.rs:385:5:385:17 | print_i64(...) | main.rs:386:5:386:18 | ExprStmt | | +| main.rs:385:5:385:18 | ExprStmt | main.rs:385:5:385:13 | print_i64 | | +| main.rs:385:15:385:16 | b4 | main.rs:385:5:385:17 | print_i64(...) | | +| main.rs:386:5:386:13 | print_i64 | main.rs:386:15:386:16 | c2 | | +| main.rs:386:5:386:17 | print_i64(...) | main.rs:388:5:396:6 | ExprStmt | | +| main.rs:386:5:386:18 | ExprStmt | main.rs:386:5:386:13 | print_i64 | | +| main.rs:386:15:386:16 | c2 | main.rs:386:5:386:17 | print_i64(...) | | +| main.rs:388:5:392:5 | TupleExpr | main.rs:393:9:393:11 | a10 | | +| main.rs:388:5:396:5 | ... = ... | main.rs:397:5:397:19 | ExprStmt | | +| main.rs:388:5:396:6 | ExprStmt | main.rs:389:9:389:10 | c2 | | +| main.rs:389:9:389:10 | c2 | main.rs:390:9:390:10 | b4 | | +| main.rs:390:9:390:10 | b4 | main.rs:391:9:391:11 | a10 | | +| main.rs:391:9:391:11 | a10 | main.rs:388:5:392:5 | TupleExpr | | +| main.rs:392:9:396:5 | TupleExpr | main.rs:388:5:396:5 | ... = ... | | +| main.rs:393:9:393:11 | a10 | main.rs:394:9:394:10 | b4 | | +| main.rs:394:9:394:10 | b4 | main.rs:395:9:395:10 | c2 | | +| main.rs:395:9:395:10 | c2 | main.rs:392:9:396:5 | TupleExpr | | +| main.rs:397:5:397:13 | print_i64 | main.rs:397:15:397:17 | a10 | | +| main.rs:397:5:397:18 | print_i64(...) | main.rs:398:5:398:18 | ExprStmt | | +| main.rs:397:5:397:19 | ExprStmt | main.rs:397:5:397:13 | print_i64 | | +| main.rs:397:15:397:17 | a10 | main.rs:397:5:397:18 | print_i64(...) | | +| main.rs:398:5:398:13 | print_i64 | main.rs:398:15:398:16 | b4 | | +| main.rs:398:5:398:17 | print_i64(...) | main.rs:399:5:399:18 | ExprStmt | | +| main.rs:398:5:398:18 | ExprStmt | main.rs:398:5:398:13 | print_i64 | | +| main.rs:398:15:398:16 | b4 | main.rs:398:5:398:17 | print_i64(...) | | +| main.rs:399:5:399:13 | print_i64 | main.rs:399:15:399:16 | c2 | | +| main.rs:399:5:399:17 | print_i64(...) | main.rs:401:5:409:5 | ExprStmt | | +| main.rs:399:5:399:18 | ExprStmt | main.rs:399:5:399:13 | print_i64 | | +| main.rs:399:15:399:16 | c2 | main.rs:399:5:399:17 | print_i64(...) | | +| main.rs:401:5:409:5 | ExprStmt | main.rs:401:12:401:12 | 4 | | +| main.rs:401:5:409:5 | match ... { ... } | main.rs:411:5:411:19 | ExprStmt | | +| main.rs:401:11:401:16 | TupleExpr | main.rs:402:9:405:9 | TuplePat | | +| main.rs:401:12:401:12 | 4 | main.rs:401:15:401:15 | 5 | | +| main.rs:401:15:401:15 | 5 | main.rs:401:11:401:16 | TupleExpr | | +| main.rs:402:9:405:9 | TuplePat | main.rs:403:13:403:15 | a10 | match | +| main.rs:403:13:403:15 | a10 | main.rs:403:13:403:15 | a10 | | +| main.rs:403:13:403:15 | a10 | main.rs:404:13:404:14 | b4 | match | +| main.rs:404:13:404:14 | b4 | main.rs:404:13:404:14 | b4 | | +| main.rs:404:13:404:14 | b4 | main.rs:406:13:406:27 | ExprStmt | match | +| main.rs:405:14:408:9 | { ... } | main.rs:401:5:409:5 | match ... { ... } | | +| main.rs:406:13:406:21 | print_i64 | main.rs:406:23:406:25 | a10 | | +| main.rs:406:13:406:26 | print_i64(...) | main.rs:407:13:407:26 | ExprStmt | | +| main.rs:406:13:406:27 | ExprStmt | main.rs:406:13:406:21 | print_i64 | | +| main.rs:406:23:406:25 | a10 | main.rs:406:13:406:26 | print_i64(...) | | +| main.rs:407:13:407:21 | print_i64 | main.rs:407:23:407:24 | b4 | | +| main.rs:407:13:407:25 | print_i64(...) | main.rs:405:14:408:9 | { ... } | | +| main.rs:407:13:407:26 | ExprStmt | main.rs:407:13:407:21 | print_i64 | | +| main.rs:407:23:407:24 | b4 | main.rs:407:13:407:25 | print_i64(...) | | +| main.rs:411:5:411:13 | print_i64 | main.rs:411:15:411:17 | a10 | | +| main.rs:411:5:411:18 | print_i64(...) | main.rs:412:5:412:18 | ExprStmt | | +| main.rs:411:5:411:19 | ExprStmt | main.rs:411:5:411:13 | print_i64 | | +| main.rs:411:15:411:17 | a10 | main.rs:411:5:411:18 | print_i64(...) | | +| main.rs:412:5:412:13 | print_i64 | main.rs:412:15:412:16 | b4 | | +| main.rs:412:5:412:17 | print_i64(...) | main.rs:378:26:413:1 | { ... } | | +| main.rs:412:5:412:18 | ExprStmt | main.rs:412:5:412:13 | print_i64 | | +| main.rs:412:15:412:16 | b4 | main.rs:412:5:412:17 | print_i64(...) | | +| main.rs:415:1:430:1 | enter fn closure_variable | main.rs:416:5:418:10 | let ... = ... | | +| main.rs:415:1:430:1 | exit fn closure_variable (normal) | main.rs:415:1:430:1 | exit fn closure_variable | | +| main.rs:415:23:430:1 | { ... } | main.rs:415:1:430:1 | exit fn closure_variable (normal) | | +| main.rs:416:5:418:10 | let ... = ... | main.rs:417:9:418:9 | \|...\| x | | +| main.rs:416:9:416:23 | example_closure | main.rs:416:9:416:23 | example_closure | | +| main.rs:416:9:416:23 | example_closure | main.rs:419:5:420:27 | let ... = ... | match | +| main.rs:417:9:418:9 | \|...\| x | main.rs:416:9:416:23 | example_closure | | +| main.rs:417:9:418:9 | enter \|...\| x | main.rs:417:10:417:10 | x | | +| main.rs:417:9:418:9 | exit \|...\| x (normal) | main.rs:417:9:418:9 | exit \|...\| x | | +| main.rs:417:10:417:10 | x | main.rs:417:10:417:10 | x | | +| main.rs:417:10:417:10 | x | main.rs:417:10:417:15 | ...: i64 | match | +| main.rs:417:10:417:15 | ...: i64 | main.rs:418:9:418:9 | x | | +| main.rs:418:9:418:9 | x | main.rs:417:9:418:9 | exit \|...\| x (normal) | | +| main.rs:419:5:420:27 | let ... = ... | main.rs:420:9:420:23 | example_closure | | +| main.rs:419:9:419:10 | n1 | main.rs:419:9:419:10 | n1 | | +| main.rs:419:9:419:10 | n1 | main.rs:421:5:421:18 | ExprStmt | match | +| main.rs:420:9:420:23 | example_closure | main.rs:420:25:420:25 | 5 | | +| main.rs:420:9:420:26 | example_closure(...) | main.rs:419:9:419:10 | n1 | | +| main.rs:420:25:420:25 | 5 | main.rs:420:9:420:26 | example_closure(...) | | +| main.rs:421:5:421:13 | print_i64 | main.rs:421:15:421:16 | n1 | | +| main.rs:421:5:421:17 | print_i64(...) | main.rs:423:5:423:25 | ExprStmt | | +| main.rs:421:5:421:18 | ExprStmt | main.rs:421:5:421:13 | print_i64 | | +| main.rs:421:15:421:16 | n1 | main.rs:421:5:421:17 | print_i64(...) | | +| main.rs:423:5:423:22 | immutable_variable | main.rs:423:5:423:24 | immutable_variable(...) | | +| main.rs:423:5:423:24 | immutable_variable(...) | main.rs:424:5:426:10 | let ... = ... | | +| main.rs:423:5:423:25 | ExprStmt | main.rs:423:5:423:22 | immutable_variable | | +| main.rs:424:5:426:10 | let ... = ... | main.rs:425:5:426:9 | \|...\| x | | +| main.rs:424:9:424:26 | immutable_variable | main.rs:424:9:424:26 | immutable_variable | | +| main.rs:424:9:424:26 | immutable_variable | main.rs:427:5:428:30 | let ... = ... | match | +| main.rs:425:5:426:9 | \|...\| x | main.rs:424:9:424:26 | immutable_variable | | +| main.rs:425:5:426:9 | enter \|...\| x | main.rs:425:6:425:6 | x | | +| main.rs:425:5:426:9 | exit \|...\| x (normal) | main.rs:425:5:426:9 | exit \|...\| x | | +| main.rs:425:6:425:6 | x | main.rs:425:6:425:6 | x | | +| main.rs:425:6:425:6 | x | main.rs:425:6:425:11 | ...: i64 | match | +| main.rs:425:6:425:11 | ...: i64 | main.rs:426:9:426:9 | x | | +| main.rs:426:9:426:9 | x | main.rs:425:5:426:9 | exit \|...\| x (normal) | | +| main.rs:427:5:428:30 | let ... = ... | main.rs:428:9:428:26 | immutable_variable | | +| main.rs:427:9:427:10 | n2 | main.rs:427:9:427:10 | n2 | | +| main.rs:427:9:427:10 | n2 | main.rs:429:5:429:18 | ExprStmt | match | +| main.rs:428:9:428:26 | immutable_variable | main.rs:428:28:428:28 | 6 | | +| main.rs:428:9:428:29 | immutable_variable(...) | main.rs:427:9:427:10 | n2 | | +| main.rs:428:28:428:28 | 6 | main.rs:428:9:428:29 | immutable_variable(...) | | +| main.rs:429:5:429:13 | print_i64 | main.rs:429:15:429:16 | n2 | | +| main.rs:429:5:429:17 | print_i64(...) | main.rs:415:23:430:1 | { ... } | | +| main.rs:429:5:429:18 | ExprStmt | main.rs:429:5:429:13 | print_i64 | | +| main.rs:429:15:429:16 | n2 | main.rs:429:5:429:17 | print_i64(...) | | +| main.rs:432:1:462:1 | enter fn nested_function | main.rs:434:5:436:10 | let ... = ... | | +| main.rs:432:1:462:1 | exit fn nested_function (normal) | main.rs:432:1:462:1 | exit fn nested_function | | +| main.rs:432:22:462:1 | { ... } | main.rs:432:1:462:1 | exit fn nested_function (normal) | | +| main.rs:434:5:436:10 | let ... = ... | main.rs:435:9:436:9 | \|...\| x | | +| main.rs:434:9:434:9 | f | main.rs:434:9:434:9 | f | | +| main.rs:434:9:434:9 | f | main.rs:437:5:437:20 | ExprStmt | match | +| main.rs:435:9:436:9 | \|...\| x | main.rs:434:9:434:9 | f | | +| main.rs:435:9:436:9 | enter \|...\| x | main.rs:435:10:435:10 | x | | +| main.rs:435:9:436:9 | exit \|...\| x (normal) | main.rs:435:9:436:9 | exit \|...\| x | | +| main.rs:435:10:435:10 | x | main.rs:435:10:435:10 | x | | +| main.rs:435:10:435:10 | x | main.rs:435:10:435:15 | ...: i64 | match | +| main.rs:435:10:435:15 | ...: i64 | main.rs:436:9:436:9 | x | | +| main.rs:436:9:436:9 | x | main.rs:435:9:436:9 | exit \|...\| x (normal) | | +| main.rs:437:5:437:13 | print_i64 | main.rs:437:15:437:15 | f | | +| main.rs:437:5:437:19 | print_i64(...) | main.rs:439:5:442:5 | fn f | | +| main.rs:437:5:437:20 | ExprStmt | main.rs:437:5:437:13 | print_i64 | | +| main.rs:437:15:437:15 | f | main.rs:437:17:437:17 | 1 | | +| main.rs:437:15:437:18 | f(...) | main.rs:437:5:437:19 | print_i64(...) | | +| main.rs:437:17:437:17 | 1 | main.rs:437:15:437:18 | f(...) | | +| main.rs:439:5:442:5 | enter fn f | main.rs:439:10:439:10 | x | | +| main.rs:439:5:442:5 | exit fn f (normal) | main.rs:439:5:442:5 | exit fn f | | +| main.rs:439:5:442:5 | fn f | main.rs:444:5:444:20 | ExprStmt | | +| main.rs:439:10:439:10 | x | main.rs:439:10:439:10 | x | | +| main.rs:439:10:439:10 | x | main.rs:439:10:439:15 | ...: i64 | match | +| main.rs:439:10:439:15 | ...: i64 | main.rs:441:9:441:9 | x | | +| main.rs:440:5:442:5 | { ... } | main.rs:439:5:442:5 | exit fn f (normal) | | +| main.rs:441:9:441:9 | x | main.rs:441:13:441:13 | 1 | | +| main.rs:441:9:441:13 | ... + ... | main.rs:440:5:442:5 | { ... } | | +| main.rs:441:13:441:13 | 1 | main.rs:441:9:441:13 | ... + ... | | +| main.rs:444:5:444:13 | print_i64 | main.rs:444:15:444:15 | f | | +| main.rs:444:5:444:19 | print_i64(...) | main.rs:447:9:447:24 | ExprStmt | | +| main.rs:444:5:444:20 | ExprStmt | main.rs:444:5:444:13 | print_i64 | | +| main.rs:444:15:444:15 | f | main.rs:444:17:444:17 | 2 | | +| main.rs:444:15:444:18 | f(...) | main.rs:444:5:444:19 | print_i64(...) | | +| main.rs:444:17:444:17 | 2 | main.rs:444:15:444:18 | f(...) | | +| main.rs:446:5:461:5 | { ... } | main.rs:432:22:462:1 | { ... } | | +| main.rs:447:9:447:17 | print_i64 | main.rs:447:19:447:19 | f | | +| main.rs:447:9:447:23 | print_i64(...) | main.rs:448:9:451:9 | fn f | | +| main.rs:447:9:447:24 | ExprStmt | main.rs:447:9:447:17 | print_i64 | | +| main.rs:447:19:447:19 | f | main.rs:447:21:447:21 | 3 | | +| main.rs:447:19:447:22 | f(...) | main.rs:447:9:447:23 | print_i64(...) | | +| main.rs:447:21:447:21 | 3 | main.rs:447:19:447:22 | f(...) | | +| main.rs:448:9:451:9 | enter fn f | main.rs:448:14:448:14 | x | | +| main.rs:448:9:451:9 | exit fn f (normal) | main.rs:448:9:451:9 | exit fn f | | +| main.rs:448:9:451:9 | fn f | main.rs:453:9:455:9 | ExprStmt | | +| main.rs:448:14:448:14 | x | main.rs:448:14:448:14 | x | | +| main.rs:448:14:448:14 | x | main.rs:448:14:448:19 | ...: i64 | match | +| main.rs:448:14:448:19 | ...: i64 | main.rs:450:13:450:13 | 2 | | +| main.rs:449:9:451:9 | { ... } | main.rs:448:9:451:9 | exit fn f (normal) | | +| main.rs:450:13:450:13 | 2 | main.rs:450:17:450:17 | x | | +| main.rs:450:13:450:17 | ... * ... | main.rs:449:9:451:9 | { ... } | | +| main.rs:450:17:450:17 | x | main.rs:450:13:450:17 | ... * ... | | +| main.rs:453:9:455:9 | ExprStmt | main.rs:454:13:454:28 | ExprStmt | | +| main.rs:453:9:455:9 | { ... } | main.rs:457:9:459:14 | let ... = ... | | +| main.rs:454:13:454:21 | print_i64 | main.rs:454:23:454:23 | f | | +| main.rs:454:13:454:27 | print_i64(...) | main.rs:453:9:455:9 | { ... } | | +| main.rs:454:13:454:28 | ExprStmt | main.rs:454:13:454:21 | print_i64 | | +| main.rs:454:23:454:23 | f | main.rs:454:25:454:25 | 4 | | +| main.rs:454:23:454:26 | f(...) | main.rs:454:13:454:27 | print_i64(...) | | +| main.rs:454:25:454:25 | 4 | main.rs:454:23:454:26 | f(...) | | +| main.rs:457:9:459:14 | let ... = ... | main.rs:458:13:459:13 | \|...\| x | | +| main.rs:457:13:457:13 | f | main.rs:457:13:457:13 | f | | +| main.rs:457:13:457:13 | f | main.rs:460:9:460:24 | ExprStmt | match | +| main.rs:458:13:459:13 | \|...\| x | main.rs:457:13:457:13 | f | | +| main.rs:458:13:459:13 | enter \|...\| x | main.rs:458:14:458:14 | x | | +| main.rs:458:13:459:13 | exit \|...\| x (normal) | main.rs:458:13:459:13 | exit \|...\| x | | +| main.rs:458:14:458:14 | x | main.rs:458:14:458:14 | x | | +| main.rs:458:14:458:14 | x | main.rs:458:14:458:19 | ...: i64 | match | +| main.rs:458:14:458:19 | ...: i64 | main.rs:459:13:459:13 | x | | +| main.rs:459:13:459:13 | x | main.rs:458:13:459:13 | exit \|...\| x (normal) | | +| main.rs:460:9:460:17 | print_i64 | main.rs:460:19:460:19 | f | | +| main.rs:460:9:460:23 | print_i64(...) | main.rs:446:5:461:5 | { ... } | | +| main.rs:460:9:460:24 | ExprStmt | main.rs:460:9:460:17 | print_i64 | | +| main.rs:460:19:460:19 | f | main.rs:460:21:460:21 | 5 | | +| main.rs:460:19:460:22 | f(...) | main.rs:460:9:460:23 | print_i64(...) | | +| main.rs:460:21:460:21 | 5 | main.rs:460:19:460:22 | f(...) | | +| main.rs:464:1:471:1 | enter fn for_variable | main.rs:465:5:465:42 | let ... = ... | | +| main.rs:464:1:471:1 | exit fn for_variable (normal) | main.rs:464:1:471:1 | exit fn for_variable | | +| main.rs:464:19:471:1 | { ... } | main.rs:464:1:471:1 | exit fn for_variable (normal) | | +| main.rs:465:5:465:42 | let ... = ... | main.rs:465:15:465:22 | "apples" | | +| main.rs:465:9:465:9 | v | main.rs:465:9:465:9 | v | | +| main.rs:465:9:465:9 | v | main.rs:468:12:468:12 | v | match | +| main.rs:465:13:465:41 | &... | main.rs:465:9:465:9 | v | | +| main.rs:465:14:465:41 | [...] | main.rs:465:13:465:41 | &... | | +| main.rs:465:15:465:22 | "apples" | main.rs:465:25:465:30 | "cake" | | +| main.rs:465:25:465:30 | "cake" | main.rs:465:33:465:40 | "coffee" | | +| main.rs:465:33:465:40 | "coffee" | main.rs:465:14:465:41 | [...] | | +| main.rs:467:5:470:5 | for ... in ... { ... } | main.rs:464:19:471:1 | { ... } | | +| main.rs:467:9:467:12 | text | main.rs:467:5:470:5 | for ... in ... { ... } | no-match | +| main.rs:467:9:467:12 | text | main.rs:467:9:467:12 | text | | +| main.rs:467:9:467:12 | text | main.rs:469:9:469:24 | ExprStmt | match | +| main.rs:468:12:468:12 | v | main.rs:467:9:467:12 | text | | +| main.rs:468:14:470:5 | { ... } | main.rs:467:9:467:12 | text | | +| main.rs:469:9:469:17 | print_str | main.rs:469:19:469:22 | text | | +| main.rs:469:9:469:23 | print_str(...) | main.rs:468:14:470:5 | { ... } | | +| main.rs:469:9:469:24 | ExprStmt | main.rs:469:9:469:17 | print_str | | +| main.rs:469:19:469:22 | text | main.rs:469:9:469:23 | print_str(...) | | +| main.rs:473:1:479:1 | enter fn add_assign | main.rs:474:5:474:18 | let ... = 0 | | +| main.rs:473:1:479:1 | exit fn add_assign (normal) | main.rs:473:1:479:1 | exit fn add_assign | | +| main.rs:473:17:479:1 | { ... } | main.rs:473:1:479:1 | exit fn add_assign (normal) | | +| main.rs:474:5:474:18 | let ... = 0 | main.rs:474:17:474:17 | 0 | | +| main.rs:474:9:474:13 | mut a | main.rs:475:5:475:11 | ExprStmt | match | +| main.rs:474:13:474:13 | a | main.rs:474:9:474:13 | mut a | | +| main.rs:474:17:474:17 | 0 | main.rs:474:13:474:13 | a | | +| main.rs:475:5:475:5 | a | main.rs:475:10:475:10 | 1 | | +| main.rs:475:5:475:10 | ... += ... | main.rs:476:5:476:17 | ExprStmt | | +| main.rs:475:5:475:11 | ExprStmt | main.rs:475:5:475:5 | a | | +| main.rs:475:10:475:10 | 1 | main.rs:475:5:475:10 | ... += ... | | +| main.rs:476:5:476:13 | print_i64 | main.rs:476:15:476:15 | a | | +| main.rs:476:5:476:16 | print_i64(...) | main.rs:477:5:477:28 | ExprStmt | | | main.rs:476:5:476:17 | ExprStmt | main.rs:476:5:476:13 | print_i64 | | -| main.rs:476:15:476:15 | z | main.rs:476:5:476:16 | print_i64(...) | | -| main.rs:479:1:487:1 | enter fn async_block_capture | main.rs:480:5:480:23 | let ... = 0 | | -| main.rs:479:1:487:1 | exit fn async_block_capture (normal) | main.rs:479:1:487:1 | exit fn async_block_capture | | -| main.rs:479:32:487:1 | { ... } | main.rs:479:1:487:1 | exit fn async_block_capture (normal) | | -| main.rs:480:5:480:23 | let ... = 0 | main.rs:480:22:480:22 | 0 | | -| main.rs:480:9:480:13 | mut i | main.rs:481:5:483:6 | let ... = ... | match | -| main.rs:480:13:480:13 | i | main.rs:480:9:480:13 | mut i | | -| main.rs:480:22:480:22 | 0 | main.rs:480:13:480:13 | i | | -| main.rs:481:5:483:6 | let ... = ... | main.rs:481:17:483:5 | { ... } | | -| main.rs:481:9:481:13 | block | main.rs:481:9:481:13 | block | | -| main.rs:481:9:481:13 | block | main.rs:485:5:485:16 | ExprStmt | match | -| main.rs:481:17:483:5 | enter { ... } | main.rs:482:9:482:14 | ExprStmt | | -| main.rs:481:17:483:5 | exit { ... } (normal) | main.rs:481:17:483:5 | exit { ... } | | -| main.rs:481:17:483:5 | { ... } | main.rs:481:9:481:13 | block | | -| main.rs:482:9:482:9 | i | main.rs:482:13:482:13 | 1 | | -| main.rs:482:9:482:13 | ... = ... | main.rs:481:17:483:5 | exit { ... } (normal) | | -| main.rs:482:9:482:14 | ExprStmt | main.rs:482:9:482:9 | i | | -| main.rs:482:13:482:13 | 1 | main.rs:482:9:482:13 | ... = ... | | -| main.rs:485:5:485:9 | block | main.rs:485:5:485:15 | await block | | -| main.rs:485:5:485:15 | await block | main.rs:486:5:486:17 | ExprStmt | | -| main.rs:485:5:485:16 | ExprStmt | main.rs:485:5:485:9 | block | | +| main.rs:476:15:476:15 | a | main.rs:476:5:476:16 | print_i64(...) | | +| main.rs:477:5:477:27 | ... .add_assign(...) | main.rs:478:5:478:17 | ExprStmt | | +| main.rs:477:5:477:28 | ExprStmt | main.rs:477:11:477:11 | a | | +| main.rs:477:6:477:11 | &mut a | main.rs:477:25:477:26 | 10 | | +| main.rs:477:11:477:11 | a | main.rs:477:6:477:11 | &mut a | | +| main.rs:477:25:477:26 | 10 | main.rs:477:5:477:27 | ... .add_assign(...) | | +| main.rs:478:5:478:13 | print_i64 | main.rs:478:15:478:15 | a | | +| main.rs:478:5:478:16 | print_i64(...) | main.rs:473:17:479:1 | { ... } | | +| main.rs:478:5:478:17 | ExprStmt | main.rs:478:5:478:13 | print_i64 | | +| main.rs:478:15:478:15 | a | main.rs:478:5:478:16 | print_i64(...) | | +| main.rs:481:1:487:1 | enter fn mutate | main.rs:482:5:482:18 | let ... = 1 | | +| main.rs:481:1:487:1 | exit fn mutate (normal) | main.rs:481:1:487:1 | exit fn mutate | | +| main.rs:481:13:487:1 | { ... } | main.rs:481:1:487:1 | exit fn mutate (normal) | | +| main.rs:482:5:482:18 | let ... = 1 | main.rs:482:17:482:17 | 1 | | +| main.rs:482:9:482:13 | mut i | main.rs:483:5:484:15 | let ... = ... | match | +| main.rs:482:13:482:13 | i | main.rs:482:9:482:13 | mut i | | +| main.rs:482:17:482:17 | 1 | main.rs:482:13:482:13 | i | | +| main.rs:483:5:484:15 | let ... = ... | main.rs:484:14:484:14 | i | | +| main.rs:483:9:483:13 | ref_i | main.rs:483:9:483:13 | ref_i | | +| main.rs:483:9:483:13 | ref_i | main.rs:485:5:485:15 | ExprStmt | match | +| main.rs:484:9:484:14 | &mut i | main.rs:483:9:483:13 | ref_i | | +| main.rs:484:14:484:14 | i | main.rs:484:9:484:14 | &mut i | | +| main.rs:485:5:485:10 | * ... | main.rs:485:14:485:14 | 2 | | +| main.rs:485:5:485:14 | ... = ... | main.rs:486:5:486:17 | ExprStmt | | +| main.rs:485:5:485:15 | ExprStmt | main.rs:485:6:485:10 | ref_i | | +| main.rs:485:6:485:10 | ref_i | main.rs:485:5:485:10 | * ... | | +| main.rs:485:14:485:14 | 2 | main.rs:485:5:485:14 | ... = ... | | | main.rs:486:5:486:13 | print_i64 | main.rs:486:15:486:15 | i | | -| main.rs:486:5:486:16 | print_i64(...) | main.rs:479:32:487:1 | { ... } | | +| main.rs:486:5:486:16 | print_i64(...) | main.rs:481:13:487:1 | { ... } | | | main.rs:486:5:486:17 | ExprStmt | main.rs:486:5:486:13 | print_i64 | | | main.rs:486:15:486:15 | i | main.rs:486:5:486:16 | print_i64(...) | | -| main.rs:489:1:505:1 | enter fn phi | main.rs:489:8:489:8 | b | | -| main.rs:489:1:505:1 | exit fn phi (normal) | main.rs:489:1:505:1 | exit fn phi | | -| main.rs:489:8:489:8 | b | main.rs:489:8:489:8 | b | | -| main.rs:489:8:489:8 | b | main.rs:489:8:489:14 | ...: bool | match | -| main.rs:489:8:489:14 | ...: bool | main.rs:490:5:490:18 | let ... = 1 | | -| main.rs:489:17:505:1 | { ... } | main.rs:489:1:505:1 | exit fn phi (normal) | | -| main.rs:490:5:490:18 | let ... = 1 | main.rs:490:17:490:17 | 1 | | -| main.rs:490:9:490:13 | mut x | main.rs:491:5:491:17 | ExprStmt | match | -| main.rs:490:13:490:13 | x | main.rs:490:9:490:13 | mut x | | -| main.rs:490:17:490:17 | 1 | main.rs:490:13:490:13 | x | | -| main.rs:491:5:491:13 | print_i64 | main.rs:491:15:491:15 | x | | -| main.rs:491:5:491:16 | print_i64(...) | main.rs:492:5:492:21 | ExprStmt | | -| main.rs:491:5:491:17 | ExprStmt | main.rs:491:5:491:13 | print_i64 | | -| main.rs:491:15:491:15 | x | main.rs:491:5:491:16 | print_i64(...) | | -| main.rs:492:5:492:13 | print_i64 | main.rs:492:15:492:15 | x | | -| main.rs:492:5:492:20 | print_i64(...) | main.rs:493:5:503:6 | let _ = ... | | -| main.rs:492:5:492:21 | ExprStmt | main.rs:492:5:492:13 | print_i64 | | -| main.rs:492:15:492:15 | x | main.rs:492:19:492:19 | 1 | | -| main.rs:492:15:492:19 | ... + ... | main.rs:492:5:492:20 | print_i64(...) | | -| main.rs:492:19:492:19 | 1 | main.rs:492:15:492:19 | ... + ... | | -| main.rs:493:5:503:6 | let _ = ... | main.rs:494:16:494:16 | b | | -| main.rs:494:9:494:9 | _ | main.rs:504:5:504:17 | ExprStmt | match | -| main.rs:494:13:503:5 | if b {...} else {...} | main.rs:494:9:494:9 | _ | | -| main.rs:494:16:494:16 | b | main.rs:496:9:496:14 | ExprStmt | true | -| main.rs:494:16:494:16 | b | main.rs:500:9:500:14 | ExprStmt | false | -| main.rs:495:5:499:5 | { ... } | main.rs:494:13:503:5 | if b {...} else {...} | | -| main.rs:496:9:496:9 | x | main.rs:496:13:496:13 | 2 | | -| main.rs:496:9:496:13 | ... = ... | main.rs:497:9:497:21 | ExprStmt | | -| main.rs:496:9:496:14 | ExprStmt | main.rs:496:9:496:9 | x | | -| main.rs:496:13:496:13 | 2 | main.rs:496:9:496:13 | ... = ... | | -| main.rs:497:9:497:17 | print_i64 | main.rs:497:19:497:19 | x | | -| main.rs:497:9:497:20 | print_i64(...) | main.rs:498:9:498:25 | ExprStmt | | -| main.rs:497:9:497:21 | ExprStmt | main.rs:497:9:497:17 | print_i64 | | -| main.rs:497:19:497:19 | x | main.rs:497:9:497:20 | print_i64(...) | | -| main.rs:498:9:498:17 | print_i64 | main.rs:498:19:498:19 | x | | -| main.rs:498:9:498:24 | print_i64(...) | main.rs:495:5:499:5 | { ... } | | -| main.rs:498:9:498:25 | ExprStmt | main.rs:498:9:498:17 | print_i64 | | -| main.rs:498:19:498:19 | x | main.rs:498:23:498:23 | 1 | | -| main.rs:498:19:498:23 | ... + ... | main.rs:498:9:498:24 | print_i64(...) | | -| main.rs:498:23:498:23 | 1 | main.rs:498:19:498:23 | ... + ... | | -| main.rs:499:12:503:5 | { ... } | main.rs:494:13:503:5 | if b {...} else {...} | | -| main.rs:500:9:500:9 | x | main.rs:500:13:500:13 | 3 | | -| main.rs:500:9:500:13 | ... = ... | main.rs:501:9:501:21 | ExprStmt | | -| main.rs:500:9:500:14 | ExprStmt | main.rs:500:9:500:9 | x | | -| main.rs:500:13:500:13 | 3 | main.rs:500:9:500:13 | ... = ... | | -| main.rs:501:9:501:17 | print_i64 | main.rs:501:19:501:19 | x | | -| main.rs:501:9:501:20 | print_i64(...) | main.rs:502:9:502:25 | ExprStmt | | -| main.rs:501:9:501:21 | ExprStmt | main.rs:501:9:501:17 | print_i64 | | -| main.rs:501:19:501:19 | x | main.rs:501:9:501:20 | print_i64(...) | | -| main.rs:502:9:502:17 | print_i64 | main.rs:502:19:502:19 | x | | -| main.rs:502:9:502:24 | print_i64(...) | main.rs:499:12:503:5 | { ... } | | -| main.rs:502:9:502:25 | ExprStmt | main.rs:502:9:502:17 | print_i64 | | -| main.rs:502:19:502:19 | x | main.rs:502:23:502:23 | 1 | | -| main.rs:502:19:502:23 | ... + ... | main.rs:502:9:502:24 | print_i64(...) | | -| main.rs:502:23:502:23 | 1 | main.rs:502:19:502:23 | ... + ... | | -| main.rs:504:5:504:13 | print_i64 | main.rs:504:15:504:15 | x | | -| main.rs:504:5:504:16 | print_i64(...) | main.rs:489:17:505:1 | { ... } | | -| main.rs:504:5:504:17 | ExprStmt | main.rs:504:5:504:13 | print_i64 | | -| main.rs:504:15:504:15 | x | main.rs:504:5:504:16 | print_i64(...) | | -| main.rs:507:1:524:1 | enter fn phi_read | main.rs:507:13:507:14 | b1 | | -| main.rs:507:1:524:1 | exit fn phi_read (normal) | main.rs:507:1:524:1 | exit fn phi_read | | -| main.rs:507:13:507:14 | b1 | main.rs:507:13:507:14 | b1 | | -| main.rs:507:13:507:14 | b1 | main.rs:507:13:507:20 | ...: bool | match | -| main.rs:507:13:507:20 | ...: bool | main.rs:507:23:507:24 | b2 | | -| main.rs:507:23:507:24 | b2 | main.rs:507:23:507:24 | b2 | | -| main.rs:507:23:507:24 | b2 | main.rs:507:23:507:30 | ...: bool | match | -| main.rs:507:23:507:30 | ...: bool | main.rs:508:5:508:14 | let ... = 1 | | -| main.rs:507:33:524:1 | { ... } | main.rs:507:1:524:1 | exit fn phi_read (normal) | | -| main.rs:508:5:508:14 | let ... = 1 | main.rs:508:13:508:13 | 1 | | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | | -| main.rs:508:9:508:9 | x | main.rs:509:5:515:6 | let _ = ... | match | -| main.rs:508:13:508:13 | 1 | main.rs:508:9:508:9 | x | | -| main.rs:509:5:515:6 | let _ = ... | main.rs:510:16:510:17 | b1 | | -| main.rs:510:9:510:9 | _ | main.rs:517:5:523:6 | let _ = ... | match | -| main.rs:510:13:515:5 | if b1 {...} else {...} | main.rs:510:9:510:9 | _ | | -| main.rs:510:16:510:17 | b1 | main.rs:512:9:512:21 | ExprStmt | true | -| main.rs:510:16:510:17 | b1 | main.rs:514:9:514:21 | ExprStmt | false | -| main.rs:511:5:513:5 | { ... } | main.rs:510:13:515:5 | if b1 {...} else {...} | | -| main.rs:512:9:512:17 | print_i64 | main.rs:512:19:512:19 | x | | -| main.rs:512:9:512:20 | print_i64(...) | main.rs:511:5:513:5 | { ... } | | -| main.rs:512:9:512:21 | ExprStmt | main.rs:512:9:512:17 | print_i64 | | -| main.rs:512:19:512:19 | x | main.rs:512:9:512:20 | print_i64(...) | | -| main.rs:513:12:515:5 | { ... } | main.rs:510:13:515:5 | if b1 {...} else {...} | | -| main.rs:514:9:514:17 | print_i64 | main.rs:514:19:514:19 | x | | -| main.rs:514:9:514:20 | print_i64(...) | main.rs:513:12:515:5 | { ... } | | -| main.rs:514:9:514:21 | ExprStmt | main.rs:514:9:514:17 | print_i64 | | -| main.rs:514:19:514:19 | x | main.rs:514:9:514:20 | print_i64(...) | | -| main.rs:517:5:523:6 | let _ = ... | main.rs:518:16:518:17 | b2 | | -| main.rs:518:9:518:9 | _ | main.rs:507:33:524:1 | { ... } | match | -| main.rs:518:13:523:5 | if b2 {...} else {...} | main.rs:518:9:518:9 | _ | | -| main.rs:518:16:518:17 | b2 | main.rs:520:9:520:21 | ExprStmt | true | -| main.rs:518:16:518:17 | b2 | main.rs:522:9:522:21 | ExprStmt | false | -| main.rs:519:5:521:5 | { ... } | main.rs:518:13:523:5 | if b2 {...} else {...} | | -| main.rs:520:9:520:17 | print_i64 | main.rs:520:19:520:19 | x | | -| main.rs:520:9:520:20 | print_i64(...) | main.rs:519:5:521:5 | { ... } | | -| main.rs:520:9:520:21 | ExprStmt | main.rs:520:9:520:17 | print_i64 | | -| main.rs:520:19:520:19 | x | main.rs:520:9:520:20 | print_i64(...) | | -| main.rs:521:12:523:5 | { ... } | main.rs:518:13:523:5 | if b2 {...} else {...} | | -| main.rs:522:9:522:17 | print_i64 | main.rs:522:19:522:19 | x | | -| main.rs:522:9:522:20 | print_i64(...) | main.rs:521:12:523:5 | { ... } | | -| main.rs:522:9:522:21 | ExprStmt | main.rs:522:9:522:17 | print_i64 | | -| main.rs:522:19:522:19 | x | main.rs:522:9:522:20 | print_i64(...) | | -| main.rs:531:5:533:5 | enter fn my_get | main.rs:531:20:531:23 | self | | -| main.rs:531:5:533:5 | exit fn my_get (normal) | main.rs:531:5:533:5 | exit fn my_get | | -| main.rs:531:15:531:23 | SelfParam | main.rs:532:9:532:24 | ExprStmt | | -| main.rs:531:20:531:23 | self | main.rs:531:15:531:23 | SelfParam | | -| main.rs:532:9:532:23 | return ... | main.rs:531:5:533:5 | exit fn my_get (normal) | return | -| main.rs:532:9:532:24 | ExprStmt | main.rs:532:16:532:19 | self | | -| main.rs:532:16:532:19 | self | main.rs:532:16:532:23 | self.val | | -| main.rs:532:16:532:23 | self.val | main.rs:532:9:532:23 | return ... | | -| main.rs:535:5:537:5 | enter fn id | main.rs:535:11:535:14 | self | | -| main.rs:535:5:537:5 | exit fn id (normal) | main.rs:535:5:537:5 | exit fn id | | -| main.rs:535:11:535:14 | SelfParam | main.rs:536:9:536:12 | self | | -| main.rs:535:11:535:14 | self | main.rs:535:11:535:14 | SelfParam | | -| main.rs:535:25:537:5 | { ... } | main.rs:535:5:537:5 | exit fn id (normal) | | -| main.rs:536:9:536:12 | self | main.rs:535:25:537:5 | { ... } | | -| main.rs:539:5:546:5 | enter fn my_method | main.rs:539:23:539:26 | self | | -| main.rs:539:5:546:5 | exit fn my_method (normal) | main.rs:539:5:546:5 | exit fn my_method | | -| main.rs:539:18:539:26 | SelfParam | main.rs:540:9:543:10 | let ... = ... | | -| main.rs:539:23:539:26 | self | main.rs:539:18:539:26 | SelfParam | | -| main.rs:539:29:546:5 | { ... } | main.rs:539:5:546:5 | exit fn my_method (normal) | | -| main.rs:540:9:543:10 | let ... = ... | main.rs:540:21:543:9 | \|...\| ... | | -| main.rs:540:13:540:17 | mut f | main.rs:544:9:544:13 | ExprStmt | match | -| main.rs:540:17:540:17 | f | main.rs:540:13:540:17 | mut f | | -| main.rs:540:21:543:9 | \|...\| ... | main.rs:540:17:540:17 | f | | -| main.rs:540:21:543:9 | enter \|...\| ... | main.rs:540:22:540:22 | n | | -| main.rs:540:21:543:9 | exit \|...\| ... (normal) | main.rs:540:21:543:9 | exit \|...\| ... | | -| main.rs:540:22:540:22 | ... | main.rs:542:13:542:26 | ExprStmt | | -| main.rs:540:22:540:22 | n | main.rs:540:22:540:22 | ... | match | -| main.rs:540:22:540:22 | n | main.rs:540:22:540:22 | n | | -| main.rs:540:25:543:9 | { ... } | main.rs:540:21:543:9 | exit \|...\| ... (normal) | | -| main.rs:542:13:542:16 | self | main.rs:542:13:542:20 | self.val | | -| main.rs:542:13:542:20 | self.val | main.rs:542:25:542:25 | n | | -| main.rs:542:13:542:25 | ... += ... | main.rs:540:25:543:9 | { ... } | | -| main.rs:542:13:542:26 | ExprStmt | main.rs:542:13:542:16 | self | | -| main.rs:542:25:542:25 | n | main.rs:542:13:542:25 | ... += ... | | -| main.rs:544:9:544:9 | f | main.rs:544:11:544:11 | 3 | | -| main.rs:544:9:544:12 | f(...) | main.rs:545:9:545:13 | ExprStmt | | -| main.rs:544:9:544:13 | ExprStmt | main.rs:544:9:544:9 | f | | -| main.rs:544:11:544:11 | 3 | main.rs:544:9:544:12 | f(...) | | -| main.rs:545:9:545:9 | f | main.rs:545:11:545:11 | 4 | | -| main.rs:545:9:545:12 | f(...) | main.rs:539:29:546:5 | { ... } | | -| main.rs:545:9:545:13 | ExprStmt | main.rs:545:9:545:9 | f | | -| main.rs:545:11:545:11 | 4 | main.rs:545:9:545:12 | f(...) | | -| main.rs:549:1:556:1 | enter fn structs | main.rs:550:5:550:36 | let ... = ... | | -| main.rs:549:1:556:1 | exit fn structs (normal) | main.rs:549:1:556:1 | exit fn structs | | -| main.rs:549:14:556:1 | { ... } | main.rs:549:1:556:1 | exit fn structs (normal) | | -| main.rs:550:5:550:36 | let ... = ... | main.rs:550:33:550:33 | 1 | | -| main.rs:550:9:550:13 | mut a | main.rs:551:5:551:26 | ExprStmt | match | -| main.rs:550:13:550:13 | a | main.rs:550:9:550:13 | mut a | | -| main.rs:550:17:550:35 | MyStruct {...} | main.rs:550:13:550:13 | a | | -| main.rs:550:33:550:33 | 1 | main.rs:550:17:550:35 | MyStruct {...} | | -| main.rs:551:5:551:13 | print_i64 | main.rs:551:15:551:15 | a | | -| main.rs:551:5:551:25 | print_i64(...) | main.rs:552:5:552:14 | ExprStmt | | -| main.rs:551:5:551:26 | ExprStmt | main.rs:551:5:551:13 | print_i64 | | -| main.rs:551:15:551:15 | a | main.rs:551:15:551:24 | a.my_get() | | -| main.rs:551:15:551:24 | a.my_get() | main.rs:551:5:551:25 | print_i64(...) | | -| main.rs:552:5:552:5 | a | main.rs:552:5:552:9 | a.val | | -| main.rs:552:5:552:9 | a.val | main.rs:552:13:552:13 | 5 | | -| main.rs:552:5:552:13 | ... = ... | main.rs:553:5:553:26 | ExprStmt | | -| main.rs:552:5:552:14 | ExprStmt | main.rs:552:5:552:5 | a | | -| main.rs:552:13:552:13 | 5 | main.rs:552:5:552:13 | ... = ... | | -| main.rs:553:5:553:13 | print_i64 | main.rs:553:15:553:15 | a | | -| main.rs:553:5:553:25 | print_i64(...) | main.rs:554:5:554:28 | ExprStmt | | -| main.rs:553:5:553:26 | ExprStmt | main.rs:553:5:553:13 | print_i64 | | -| main.rs:553:15:553:15 | a | main.rs:553:15:553:24 | a.my_get() | | -| main.rs:553:15:553:24 | a.my_get() | main.rs:553:5:553:25 | print_i64(...) | | -| main.rs:554:5:554:5 | a | main.rs:554:25:554:25 | 2 | | -| main.rs:554:5:554:27 | ... = ... | main.rs:555:5:555:26 | ExprStmt | | -| main.rs:554:5:554:28 | ExprStmt | main.rs:554:5:554:5 | a | | -| main.rs:554:9:554:27 | MyStruct {...} | main.rs:554:5:554:27 | ... = ... | | -| main.rs:554:25:554:25 | 2 | main.rs:554:9:554:27 | MyStruct {...} | | -| main.rs:555:5:555:13 | print_i64 | main.rs:555:15:555:15 | a | | -| main.rs:555:5:555:25 | print_i64(...) | main.rs:549:14:556:1 | { ... } | | -| main.rs:555:5:555:26 | ExprStmt | main.rs:555:5:555:13 | print_i64 | | -| main.rs:555:15:555:15 | a | main.rs:555:15:555:24 | a.my_get() | | -| main.rs:555:15:555:24 | a.my_get() | main.rs:555:5:555:25 | print_i64(...) | | -| main.rs:558:1:565:1 | enter fn arrays | main.rs:559:5:559:26 | let ... = ... | | -| main.rs:558:1:565:1 | exit fn arrays (normal) | main.rs:558:1:565:1 | exit fn arrays | | -| main.rs:558:13:565:1 | { ... } | main.rs:558:1:565:1 | exit fn arrays (normal) | | -| main.rs:559:5:559:26 | let ... = ... | main.rs:559:18:559:18 | 1 | | -| main.rs:559:9:559:13 | mut a | main.rs:560:5:560:20 | ExprStmt | match | -| main.rs:559:13:559:13 | a | main.rs:559:9:559:13 | mut a | | -| main.rs:559:17:559:25 | [...] | main.rs:559:13:559:13 | a | | -| main.rs:559:18:559:18 | 1 | main.rs:559:21:559:21 | 2 | | -| main.rs:559:21:559:21 | 2 | main.rs:559:24:559:24 | 3 | | -| main.rs:559:24:559:24 | 3 | main.rs:559:17:559:25 | [...] | | -| main.rs:560:5:560:13 | print_i64 | main.rs:560:15:560:15 | a | | -| main.rs:560:5:560:19 | print_i64(...) | main.rs:561:5:561:13 | ExprStmt | | -| main.rs:560:5:560:20 | ExprStmt | main.rs:560:5:560:13 | print_i64 | | -| main.rs:560:15:560:15 | a | main.rs:560:17:560:17 | 0 | | -| main.rs:560:15:560:18 | a[0] | main.rs:560:5:560:19 | print_i64(...) | | -| main.rs:560:17:560:17 | 0 | main.rs:560:15:560:18 | a[0] | | -| main.rs:561:5:561:5 | a | main.rs:561:7:561:7 | 1 | | -| main.rs:561:5:561:8 | a[1] | main.rs:561:12:561:12 | 5 | | -| main.rs:561:5:561:12 | ... = ... | main.rs:562:5:562:20 | ExprStmt | | -| main.rs:561:5:561:13 | ExprStmt | main.rs:561:5:561:5 | a | | -| main.rs:561:7:561:7 | 1 | main.rs:561:5:561:8 | a[1] | | -| main.rs:561:12:561:12 | 5 | main.rs:561:5:561:12 | ... = ... | | -| main.rs:562:5:562:13 | print_i64 | main.rs:562:15:562:15 | a | | -| main.rs:562:5:562:19 | print_i64(...) | main.rs:563:5:563:18 | ExprStmt | | -| main.rs:562:5:562:20 | ExprStmt | main.rs:562:5:562:13 | print_i64 | | -| main.rs:562:15:562:15 | a | main.rs:562:17:562:17 | 1 | | -| main.rs:562:15:562:18 | a[1] | main.rs:562:5:562:19 | print_i64(...) | | -| main.rs:562:17:562:17 | 1 | main.rs:562:15:562:18 | a[1] | | -| main.rs:563:5:563:5 | a | main.rs:563:10:563:10 | 4 | | -| main.rs:563:5:563:17 | ... = ... | main.rs:564:5:564:20 | ExprStmt | | -| main.rs:563:5:563:18 | ExprStmt | main.rs:563:5:563:5 | a | | -| main.rs:563:9:563:17 | [...] | main.rs:563:5:563:17 | ... = ... | | -| main.rs:563:10:563:10 | 4 | main.rs:563:13:563:13 | 5 | | -| main.rs:563:13:563:13 | 5 | main.rs:563:16:563:16 | 6 | | -| main.rs:563:16:563:16 | 6 | main.rs:563:9:563:17 | [...] | | -| main.rs:564:5:564:13 | print_i64 | main.rs:564:15:564:15 | a | | -| main.rs:564:5:564:19 | print_i64(...) | main.rs:558:13:565:1 | { ... } | | -| main.rs:564:5:564:20 | ExprStmt | main.rs:564:5:564:13 | print_i64 | | -| main.rs:564:15:564:15 | a | main.rs:564:17:564:17 | 2 | | -| main.rs:564:15:564:18 | a[2] | main.rs:564:5:564:19 | print_i64(...) | | -| main.rs:564:17:564:17 | 2 | main.rs:564:15:564:18 | a[2] | | -| main.rs:567:1:574:1 | enter fn ref_arg | main.rs:568:5:568:15 | let ... = 16 | | -| main.rs:567:1:574:1 | exit fn ref_arg (normal) | main.rs:567:1:574:1 | exit fn ref_arg | | -| main.rs:567:14:574:1 | { ... } | main.rs:567:1:574:1 | exit fn ref_arg (normal) | | -| main.rs:568:5:568:15 | let ... = 16 | main.rs:568:13:568:14 | 16 | | -| main.rs:568:9:568:9 | x | main.rs:568:9:568:9 | x | | -| main.rs:568:9:568:9 | x | main.rs:569:5:569:22 | ExprStmt | match | -| main.rs:568:13:568:14 | 16 | main.rs:568:9:568:9 | x | | -| main.rs:569:5:569:17 | print_i64_ref | main.rs:569:20:569:20 | x | | -| main.rs:569:5:569:21 | print_i64_ref(...) | main.rs:570:5:570:17 | ExprStmt | | -| main.rs:569:5:569:22 | ExprStmt | main.rs:569:5:569:17 | print_i64_ref | | -| main.rs:569:19:569:20 | &x | main.rs:569:5:569:21 | print_i64_ref(...) | | -| main.rs:569:20:569:20 | x | main.rs:569:19:569:20 | &x | | -| main.rs:570:5:570:13 | print_i64 | main.rs:570:15:570:15 | x | | -| main.rs:570:5:570:16 | print_i64(...) | main.rs:572:5:572:15 | let ... = 17 | | -| main.rs:570:5:570:17 | ExprStmt | main.rs:570:5:570:13 | print_i64 | | -| main.rs:570:15:570:15 | x | main.rs:570:5:570:16 | print_i64(...) | | -| main.rs:572:5:572:15 | let ... = 17 | main.rs:572:13:572:14 | 17 | | -| main.rs:572:9:572:9 | z | main.rs:572:9:572:9 | z | | -| main.rs:572:9:572:9 | z | main.rs:573:5:573:22 | ExprStmt | match | -| main.rs:572:13:572:14 | 17 | main.rs:572:9:572:9 | z | | -| main.rs:573:5:573:17 | print_i64_ref | main.rs:573:20:573:20 | z | | -| main.rs:573:5:573:21 | print_i64_ref(...) | main.rs:567:14:574:1 | { ... } | | -| main.rs:573:5:573:22 | ExprStmt | main.rs:573:5:573:17 | print_i64_ref | | -| main.rs:573:19:573:20 | &z | main.rs:573:5:573:21 | print_i64_ref(...) | | -| main.rs:573:20:573:20 | z | main.rs:573:19:573:20 | &z | | -| main.rs:581:5:583:5 | enter fn bar | main.rs:581:17:581:20 | self | | -| main.rs:581:5:583:5 | exit fn bar (normal) | main.rs:581:5:583:5 | exit fn bar | | -| main.rs:581:12:581:20 | SelfParam | main.rs:582:9:582:36 | ExprStmt | | -| main.rs:581:17:581:20 | self | main.rs:581:12:581:20 | SelfParam | | -| main.rs:581:23:583:5 | { ... } | main.rs:581:5:583:5 | exit fn bar (normal) | | -| main.rs:582:9:582:13 | * ... | main.rs:582:33:582:33 | 3 | | -| main.rs:582:9:582:35 | ... = ... | main.rs:581:23:583:5 | { ... } | | -| main.rs:582:9:582:36 | ExprStmt | main.rs:582:10:582:13 | self | | -| main.rs:582:10:582:13 | self | main.rs:582:9:582:13 | * ... | | -| main.rs:582:17:582:35 | MyStruct {...} | main.rs:582:9:582:35 | ... = ... | | -| main.rs:582:33:582:33 | 3 | main.rs:582:17:582:35 | MyStruct {...} | | -| main.rs:586:1:591:1 | enter fn ref_methodcall_receiver | main.rs:587:5:587:36 | let ... = ... | | -| main.rs:586:1:591:1 | exit fn ref_methodcall_receiver (normal) | main.rs:586:1:591:1 | exit fn ref_methodcall_receiver | | -| main.rs:586:30:591:1 | { ... } | main.rs:586:1:591:1 | exit fn ref_methodcall_receiver (normal) | | -| main.rs:587:5:587:36 | let ... = ... | main.rs:587:33:587:33 | 1 | | -| main.rs:587:9:587:13 | mut a | main.rs:588:5:588:12 | ExprStmt | match | -| main.rs:587:13:587:13 | a | main.rs:587:9:587:13 | mut a | | -| main.rs:587:17:587:35 | MyStruct {...} | main.rs:587:13:587:13 | a | | -| main.rs:587:33:587:33 | 1 | main.rs:587:17:587:35 | MyStruct {...} | | -| main.rs:588:5:588:5 | a | main.rs:588:5:588:11 | a.bar() | | -| main.rs:588:5:588:11 | a.bar() | main.rs:590:5:590:21 | ExprStmt | | -| main.rs:588:5:588:12 | ExprStmt | main.rs:588:5:588:5 | a | | -| main.rs:590:5:590:13 | print_i64 | main.rs:590:15:590:15 | a | | -| main.rs:590:5:590:20 | print_i64(...) | main.rs:586:30:591:1 | { ... } | | -| main.rs:590:5:590:21 | ExprStmt | main.rs:590:5:590:13 | print_i64 | | -| main.rs:590:15:590:15 | a | main.rs:590:15:590:19 | a.val | | -| main.rs:590:15:590:19 | a.val | main.rs:590:5:590:20 | print_i64(...) | | -| main.rs:607:1:617:1 | enter fn macro_invocation | main.rs:608:5:609:26 | let ... = ... | | -| main.rs:607:1:617:1 | exit fn macro_invocation (normal) | main.rs:607:1:617:1 | exit fn macro_invocation | | -| main.rs:607:23:617:1 | { ... } | main.rs:607:1:617:1 | exit fn macro_invocation (normal) | | -| main.rs:608:5:609:26 | let ... = ... | main.rs:609:23:609:24 | let ... = 37 | | -| main.rs:608:9:608:22 | var_from_macro | main.rs:608:9:608:22 | var_from_macro | | -| main.rs:608:9:608:22 | var_from_macro | main.rs:610:5:610:30 | ExprStmt | match | -| main.rs:609:9:609:25 | MacroExpr | main.rs:608:9:608:22 | var_from_macro | | -| main.rs:609:9:609:25 | let_in_macro!... | main.rs:609:9:609:25 | MacroExpr | | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | match | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:23:609:24 | { ... } | | -| main.rs:609:23:609:24 | 37 | main.rs:609:9:609:25 | var_in_macro | | -| main.rs:609:23:609:24 | let ... = 37 | main.rs:609:23:609:24 | 37 | | -| main.rs:609:23:609:24 | { ... } | main.rs:609:9:609:25 | let_in_macro!... | | -| main.rs:610:5:610:13 | print_i64 | main.rs:610:15:610:28 | var_from_macro | | -| main.rs:610:5:610:29 | print_i64(...) | main.rs:611:5:611:26 | let ... = 33 | | -| main.rs:610:5:610:30 | ExprStmt | main.rs:610:5:610:13 | print_i64 | | -| main.rs:610:15:610:28 | var_from_macro | main.rs:610:5:610:29 | print_i64(...) | | -| main.rs:611:5:611:26 | let ... = 33 | main.rs:611:24:611:25 | 33 | | -| main.rs:611:9:611:20 | var_in_macro | main.rs:611:9:611:20 | var_in_macro | | -| main.rs:611:9:611:20 | var_in_macro | main.rs:615:5:615:44 | ExprStmt | match | -| main.rs:611:24:611:25 | 33 | main.rs:611:9:611:20 | var_in_macro | | -| main.rs:615:5:615:13 | print_i64 | main.rs:615:15:615:42 | let ... = 0 | | -| main.rs:615:5:615:43 | print_i64(...) | main.rs:616:5:616:28 | ExprStmt | | -| main.rs:615:5:615:44 | ExprStmt | main.rs:615:5:615:13 | print_i64 | | -| main.rs:615:15:615:42 | 0 | main.rs:615:15:615:42 | var_in_macro | | -| main.rs:615:15:615:42 | MacroExpr | main.rs:615:5:615:43 | print_i64(...) | | -| main.rs:615:15:615:42 | let ... = 0 | main.rs:615:15:615:42 | 0 | | -| main.rs:615:15:615:42 | let_in_macro2!... | main.rs:615:15:615:42 | MacroExpr | | -| main.rs:615:15:615:42 | var_in_macro | main.rs:615:15:615:42 | var_in_macro | | -| main.rs:615:15:615:42 | var_in_macro | main.rs:615:30:615:41 | var_in_macro | match | -| main.rs:615:30:615:41 | var_in_macro | main.rs:615:30:615:41 | { ... } | | -| main.rs:615:30:615:41 | { ... } | main.rs:615:15:615:42 | let_in_macro2!... | | -| main.rs:616:5:616:13 | print_i64 | main.rs:616:15:616:26 | var_in_macro | | -| main.rs:616:5:616:27 | print_i64(...) | main.rs:607:23:617:1 | { ... } | | -| main.rs:616:5:616:28 | ExprStmt | main.rs:616:5:616:13 | print_i64 | | -| main.rs:616:15:616:26 | var_in_macro | main.rs:616:5:616:27 | print_i64(...) | | -| main.rs:619:1:623:1 | enter fn let_without_initializer | main.rs:620:5:620:10 | let ... | | -| main.rs:619:1:623:1 | exit fn let_without_initializer (normal) | main.rs:619:1:623:1 | exit fn let_without_initializer | | -| main.rs:619:30:623:1 | { ... } | main.rs:619:1:623:1 | exit fn let_without_initializer (normal) | | -| main.rs:620:5:620:10 | let ... | main.rs:620:9:620:9 | x | | -| main.rs:620:9:620:9 | x | main.rs:620:9:620:9 | x | | -| main.rs:620:9:620:9 | x | main.rs:621:5:621:10 | ExprStmt | match | -| main.rs:621:5:621:5 | x | main.rs:621:9:621:9 | 1 | | -| main.rs:621:5:621:9 | ... = ... | main.rs:622:5:622:17 | ExprStmt | | -| main.rs:621:5:621:10 | ExprStmt | main.rs:621:5:621:5 | x | | -| main.rs:621:9:621:9 | 1 | main.rs:621:5:621:9 | ... = ... | | -| main.rs:622:5:622:13 | print_i64 | main.rs:622:15:622:15 | x | | -| main.rs:622:5:622:16 | print_i64(...) | main.rs:619:30:623:1 | { ... } | | -| main.rs:622:5:622:17 | ExprStmt | main.rs:622:5:622:13 | print_i64 | | -| main.rs:622:15:622:15 | x | main.rs:622:5:622:16 | print_i64(...) | | -| main.rs:625:1:635:1 | enter fn capture_phi | main.rs:626:5:626:20 | let ... = 100 | | -| main.rs:625:1:635:1 | exit fn capture_phi (normal) | main.rs:625:1:635:1 | exit fn capture_phi | | -| main.rs:625:18:635:1 | { ... } | main.rs:625:1:635:1 | exit fn capture_phi (normal) | | -| main.rs:626:5:626:20 | let ... = 100 | main.rs:626:17:626:19 | 100 | | -| main.rs:626:9:626:13 | mut x | main.rs:627:5:632:6 | let ... = ... | match | -| main.rs:626:13:626:13 | x | main.rs:626:9:626:13 | mut x | | -| main.rs:626:17:626:19 | 100 | main.rs:626:13:626:13 | x | | -| main.rs:627:5:632:6 | let ... = ... | main.rs:627:19:632:5 | \|...\| ... | | -| main.rs:627:9:627:15 | mut cap | main.rs:633:5:633:14 | ExprStmt | match | -| main.rs:627:13:627:15 | cap | main.rs:627:9:627:15 | mut cap | | -| main.rs:627:19:632:5 | \|...\| ... | main.rs:627:13:627:15 | cap | | -| main.rs:627:19:632:5 | enter \|...\| ... | main.rs:627:20:627:20 | b | | -| main.rs:627:19:632:5 | exit \|...\| ... (normal) | main.rs:627:19:632:5 | exit \|...\| ... | | -| main.rs:627:20:627:20 | b | main.rs:627:20:627:20 | b | | -| main.rs:627:20:627:20 | b | main.rs:627:20:627:26 | ...: bool | match | -| main.rs:627:20:627:26 | ...: bool | main.rs:628:9:631:10 | let _ = ... | | -| main.rs:627:29:632:5 | { ... } | main.rs:627:19:632:5 | exit \|...\| ... (normal) | | -| main.rs:628:9:631:10 | let _ = ... | main.rs:629:20:629:20 | b | | -| main.rs:629:13:629:13 | _ | main.rs:627:29:632:5 | { ... } | match | -| main.rs:629:17:631:9 | if b {...} | main.rs:629:13:629:13 | _ | | -| main.rs:629:20:629:20 | b | main.rs:629:17:631:9 | if b {...} | false | -| main.rs:629:20:629:20 | b | main.rs:630:13:630:20 | ExprStmt | true | -| main.rs:629:22:631:9 | { ... } | main.rs:629:17:631:9 | if b {...} | | -| main.rs:630:13:630:13 | x | main.rs:630:17:630:19 | 200 | | -| main.rs:630:13:630:19 | ... = ... | main.rs:629:22:631:9 | { ... } | | -| main.rs:630:13:630:20 | ExprStmt | main.rs:630:13:630:13 | x | | -| main.rs:630:17:630:19 | 200 | main.rs:630:13:630:19 | ... = ... | | -| main.rs:633:5:633:7 | cap | main.rs:633:9:633:12 | true | | -| main.rs:633:5:633:13 | cap(...) | main.rs:634:5:634:17 | ExprStmt | | -| main.rs:633:5:633:14 | ExprStmt | main.rs:633:5:633:7 | cap | | -| main.rs:633:9:633:12 | true | main.rs:633:5:633:13 | cap(...) | | -| main.rs:634:5:634:13 | print_i64 | main.rs:634:15:634:15 | x | | -| main.rs:634:5:634:16 | print_i64(...) | main.rs:625:18:635:1 | { ... } | | -| main.rs:634:5:634:17 | ExprStmt | main.rs:634:5:634:13 | print_i64 | | -| main.rs:634:15:634:15 | x | main.rs:634:5:634:16 | print_i64(...) | | -| main.rs:637:1:674:1 | enter fn main | main.rs:638:5:638:25 | ExprStmt | | -| main.rs:637:1:674:1 | exit fn main (normal) | main.rs:637:1:674:1 | exit fn main | | -| main.rs:637:11:674:1 | { ... } | main.rs:637:1:674:1 | exit fn main (normal) | | -| main.rs:638:5:638:22 | immutable_variable | main.rs:638:5:638:24 | immutable_variable(...) | | -| main.rs:638:5:638:24 | immutable_variable(...) | main.rs:639:5:639:23 | ExprStmt | | -| main.rs:638:5:638:25 | ExprStmt | main.rs:638:5:638:22 | immutable_variable | | -| main.rs:639:5:639:20 | mutable_variable | main.rs:639:5:639:22 | mutable_variable(...) | | -| main.rs:639:5:639:22 | mutable_variable(...) | main.rs:640:5:640:40 | ExprStmt | | -| main.rs:639:5:639:23 | ExprStmt | main.rs:639:5:639:20 | mutable_variable | | -| main.rs:640:5:640:37 | mutable_variable_immutable_borrow | main.rs:640:5:640:39 | mutable_variable_immutable_borrow(...) | | -| main.rs:640:5:640:39 | mutable_variable_immutable_borrow(...) | main.rs:641:5:641:23 | ExprStmt | | -| main.rs:640:5:640:40 | ExprStmt | main.rs:640:5:640:37 | mutable_variable_immutable_borrow | | -| main.rs:641:5:641:20 | variable_shadow1 | main.rs:641:5:641:22 | variable_shadow1(...) | | -| main.rs:641:5:641:22 | variable_shadow1(...) | main.rs:642:5:642:23 | ExprStmt | | -| main.rs:641:5:641:23 | ExprStmt | main.rs:641:5:641:20 | variable_shadow1 | | -| main.rs:642:5:642:20 | variable_shadow2 | main.rs:642:5:642:22 | variable_shadow2(...) | | -| main.rs:642:5:642:22 | variable_shadow2(...) | main.rs:643:5:643:19 | ExprStmt | | -| main.rs:642:5:642:23 | ExprStmt | main.rs:642:5:642:20 | variable_shadow2 | | -| main.rs:643:5:643:16 | let_pattern1 | main.rs:643:5:643:18 | let_pattern1(...) | | -| main.rs:643:5:643:18 | let_pattern1(...) | main.rs:644:5:644:19 | ExprStmt | | -| main.rs:643:5:643:19 | ExprStmt | main.rs:643:5:643:16 | let_pattern1 | | -| main.rs:644:5:644:16 | let_pattern2 | main.rs:644:5:644:18 | let_pattern2(...) | | -| main.rs:644:5:644:18 | let_pattern2(...) | main.rs:645:5:645:19 | ExprStmt | | -| main.rs:644:5:644:19 | ExprStmt | main.rs:644:5:644:16 | let_pattern2 | | -| main.rs:645:5:645:16 | let_pattern3 | main.rs:645:5:645:18 | let_pattern3(...) | | -| main.rs:645:5:645:18 | let_pattern3(...) | main.rs:646:5:646:19 | ExprStmt | | -| main.rs:645:5:645:19 | ExprStmt | main.rs:645:5:645:16 | let_pattern3 | | -| main.rs:646:5:646:16 | let_pattern4 | main.rs:646:5:646:18 | let_pattern4(...) | | -| main.rs:646:5:646:18 | let_pattern4(...) | main.rs:647:5:647:21 | ExprStmt | | -| main.rs:646:5:646:19 | ExprStmt | main.rs:646:5:646:16 | let_pattern4 | | -| main.rs:647:5:647:18 | match_pattern1 | main.rs:647:5:647:20 | match_pattern1(...) | | -| main.rs:647:5:647:20 | match_pattern1(...) | main.rs:648:5:648:21 | ExprStmt | | -| main.rs:647:5:647:21 | ExprStmt | main.rs:647:5:647:18 | match_pattern1 | | -| main.rs:648:5:648:18 | match_pattern2 | main.rs:648:5:648:20 | match_pattern2(...) | | -| main.rs:648:5:648:20 | match_pattern2(...) | main.rs:649:5:649:21 | ExprStmt | | -| main.rs:648:5:648:21 | ExprStmt | main.rs:648:5:648:18 | match_pattern2 | | -| main.rs:649:5:649:18 | match_pattern3 | main.rs:649:5:649:20 | match_pattern3(...) | | -| main.rs:649:5:649:20 | match_pattern3(...) | main.rs:650:5:650:21 | ExprStmt | | -| main.rs:649:5:649:21 | ExprStmt | main.rs:649:5:649:18 | match_pattern3 | | -| main.rs:650:5:650:18 | match_pattern4 | main.rs:650:5:650:20 | match_pattern4(...) | | -| main.rs:650:5:650:20 | match_pattern4(...) | main.rs:651:5:651:21 | ExprStmt | | -| main.rs:650:5:650:21 | ExprStmt | main.rs:650:5:650:18 | match_pattern4 | | -| main.rs:651:5:651:18 | match_pattern5 | main.rs:651:5:651:20 | match_pattern5(...) | | -| main.rs:651:5:651:20 | match_pattern5(...) | main.rs:652:5:652:21 | ExprStmt | | -| main.rs:651:5:651:21 | ExprStmt | main.rs:651:5:651:18 | match_pattern5 | | -| main.rs:652:5:652:18 | match_pattern6 | main.rs:652:5:652:20 | match_pattern6(...) | | -| main.rs:652:5:652:20 | match_pattern6(...) | main.rs:653:5:653:21 | ExprStmt | | -| main.rs:652:5:652:21 | ExprStmt | main.rs:652:5:652:18 | match_pattern6 | | -| main.rs:653:5:653:18 | match_pattern7 | main.rs:653:5:653:20 | match_pattern7(...) | | -| main.rs:653:5:653:20 | match_pattern7(...) | main.rs:654:5:654:21 | ExprStmt | | -| main.rs:653:5:653:21 | ExprStmt | main.rs:653:5:653:18 | match_pattern7 | | -| main.rs:654:5:654:18 | match_pattern8 | main.rs:654:5:654:20 | match_pattern8(...) | | -| main.rs:654:5:654:20 | match_pattern8(...) | main.rs:655:5:655:21 | ExprStmt | | -| main.rs:654:5:654:21 | ExprStmt | main.rs:654:5:654:18 | match_pattern8 | | -| main.rs:655:5:655:18 | match_pattern9 | main.rs:655:5:655:20 | match_pattern9(...) | | -| main.rs:655:5:655:20 | match_pattern9(...) | main.rs:656:5:656:36 | ExprStmt | | -| main.rs:655:5:655:21 | ExprStmt | main.rs:655:5:655:18 | match_pattern9 | | -| main.rs:656:5:656:18 | param_pattern1 | main.rs:656:20:656:22 | "a" | | -| main.rs:656:5:656:35 | param_pattern1(...) | main.rs:657:5:657:37 | ExprStmt | | -| main.rs:656:5:656:36 | ExprStmt | main.rs:656:5:656:18 | param_pattern1 | | -| main.rs:656:20:656:22 | "a" | main.rs:656:26:656:28 | "b" | | -| main.rs:656:25:656:34 | TupleExpr | main.rs:656:5:656:35 | param_pattern1(...) | | -| main.rs:656:26:656:28 | "b" | main.rs:656:31:656:33 | "c" | | -| main.rs:656:31:656:33 | "c" | main.rs:656:25:656:34 | TupleExpr | | -| main.rs:657:5:657:18 | param_pattern2 | main.rs:657:20:657:31 | ...::Left | | -| main.rs:657:5:657:36 | param_pattern2(...) | main.rs:658:5:658:26 | ExprStmt | | -| main.rs:657:5:657:37 | ExprStmt | main.rs:657:5:657:18 | param_pattern2 | | -| main.rs:657:20:657:31 | ...::Left | main.rs:657:33:657:34 | 45 | | -| main.rs:657:20:657:35 | ...::Left(...) | main.rs:657:5:657:36 | param_pattern2(...) | | -| main.rs:657:33:657:34 | 45 | main.rs:657:20:657:35 | ...::Left(...) | | -| main.rs:658:5:658:23 | destruct_assignment | main.rs:658:5:658:25 | destruct_assignment(...) | | -| main.rs:658:5:658:25 | destruct_assignment(...) | main.rs:659:5:659:23 | ExprStmt | | -| main.rs:658:5:658:26 | ExprStmt | main.rs:658:5:658:23 | destruct_assignment | | -| main.rs:659:5:659:20 | closure_variable | main.rs:659:5:659:22 | closure_variable(...) | | -| main.rs:659:5:659:22 | closure_variable(...) | main.rs:660:5:660:22 | ExprStmt | | -| main.rs:659:5:659:23 | ExprStmt | main.rs:659:5:659:20 | closure_variable | | -| main.rs:660:5:660:19 | nested_function | main.rs:660:5:660:21 | nested_function(...) | | -| main.rs:660:5:660:21 | nested_function(...) | main.rs:661:5:661:19 | ExprStmt | | -| main.rs:660:5:660:22 | ExprStmt | main.rs:660:5:660:19 | nested_function | | -| main.rs:661:5:661:16 | for_variable | main.rs:661:5:661:18 | for_variable(...) | | -| main.rs:661:5:661:18 | for_variable(...) | main.rs:662:5:662:17 | ExprStmt | | -| main.rs:661:5:661:19 | ExprStmt | main.rs:661:5:661:16 | for_variable | | -| main.rs:662:5:662:14 | add_assign | main.rs:662:5:662:16 | add_assign(...) | | -| main.rs:662:5:662:16 | add_assign(...) | main.rs:663:5:663:13 | ExprStmt | | -| main.rs:662:5:662:17 | ExprStmt | main.rs:662:5:662:14 | add_assign | | -| main.rs:663:5:663:10 | mutate | main.rs:663:5:663:12 | mutate(...) | | -| main.rs:663:5:663:12 | mutate(...) | main.rs:664:5:664:17 | ExprStmt | | -| main.rs:663:5:663:13 | ExprStmt | main.rs:663:5:663:10 | mutate | | -| main.rs:664:5:664:14 | mutate_arg | main.rs:664:5:664:16 | mutate_arg(...) | | -| main.rs:664:5:664:16 | mutate_arg(...) | main.rs:665:5:665:12 | ExprStmt | | -| main.rs:664:5:664:17 | ExprStmt | main.rs:664:5:664:14 | mutate_arg | | -| main.rs:665:5:665:9 | alias | main.rs:665:5:665:11 | alias(...) | | -| main.rs:665:5:665:11 | alias(...) | main.rs:666:5:666:18 | ExprStmt | | -| main.rs:665:5:665:12 | ExprStmt | main.rs:665:5:665:9 | alias | | -| main.rs:666:5:666:15 | capture_mut | main.rs:666:5:666:17 | capture_mut(...) | | -| main.rs:666:5:666:17 | capture_mut(...) | main.rs:667:5:667:20 | ExprStmt | | -| main.rs:666:5:666:18 | ExprStmt | main.rs:666:5:666:15 | capture_mut | | -| main.rs:667:5:667:17 | capture_immut | main.rs:667:5:667:19 | capture_immut(...) | | -| main.rs:667:5:667:19 | capture_immut(...) | main.rs:668:5:668:26 | ExprStmt | | -| main.rs:667:5:667:20 | ExprStmt | main.rs:667:5:667:17 | capture_immut | | -| main.rs:668:5:668:23 | async_block_capture | main.rs:668:5:668:25 | async_block_capture(...) | | -| main.rs:668:5:668:25 | async_block_capture(...) | main.rs:669:5:669:14 | ExprStmt | | -| main.rs:668:5:668:26 | ExprStmt | main.rs:668:5:668:23 | async_block_capture | | -| main.rs:669:5:669:11 | structs | main.rs:669:5:669:13 | structs(...) | | -| main.rs:669:5:669:13 | structs(...) | main.rs:670:5:670:14 | ExprStmt | | -| main.rs:669:5:669:14 | ExprStmt | main.rs:669:5:669:11 | structs | | -| main.rs:670:5:670:11 | ref_arg | main.rs:670:5:670:13 | ref_arg(...) | | -| main.rs:670:5:670:13 | ref_arg(...) | main.rs:671:5:671:30 | ExprStmt | | -| main.rs:670:5:670:14 | ExprStmt | main.rs:670:5:670:11 | ref_arg | | -| main.rs:671:5:671:27 | ref_methodcall_receiver | main.rs:671:5:671:29 | ref_methodcall_receiver(...) | | -| main.rs:671:5:671:29 | ref_methodcall_receiver(...) | main.rs:672:5:672:23 | ExprStmt | | -| main.rs:671:5:671:30 | ExprStmt | main.rs:671:5:671:27 | ref_methodcall_receiver | | -| main.rs:672:5:672:20 | macro_invocation | main.rs:672:5:672:22 | macro_invocation(...) | | -| main.rs:672:5:672:22 | macro_invocation(...) | main.rs:673:5:673:18 | ExprStmt | | -| main.rs:672:5:672:23 | ExprStmt | main.rs:672:5:672:20 | macro_invocation | | -| main.rs:673:5:673:15 | capture_phi | main.rs:673:5:673:17 | capture_phi(...) | | -| main.rs:673:5:673:17 | capture_phi(...) | main.rs:637:11:674:1 | { ... } | | -| main.rs:673:5:673:18 | ExprStmt | main.rs:673:5:673:15 | capture_phi | | +| main.rs:489:1:494:1 | enter fn mutate_param | main.rs:489:17:489:17 | x | | +| main.rs:489:1:494:1 | exit fn mutate_param (normal) | main.rs:489:1:494:1 | exit fn mutate_param | | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:27 | ...: ... | match | +| main.rs:489:17:489:27 | ...: ... | main.rs:490:5:492:11 | ExprStmt | | +| main.rs:490:5:490:6 | * ... | main.rs:491:10:491:10 | x | | +| main.rs:490:5:492:10 | ... = ... | main.rs:493:5:493:13 | ExprStmt | | +| main.rs:490:5:492:11 | ExprStmt | main.rs:490:6:490:6 | x | | +| main.rs:490:6:490:6 | x | main.rs:490:5:490:6 | * ... | | +| main.rs:491:9:491:10 | * ... | main.rs:492:10:492:10 | x | | +| main.rs:491:9:492:10 | ... + ... | main.rs:490:5:492:10 | ... = ... | | +| main.rs:491:10:491:10 | x | main.rs:491:9:491:10 | * ... | | +| main.rs:492:9:492:10 | * ... | main.rs:491:9:492:10 | ... + ... | | +| main.rs:492:10:492:10 | x | main.rs:492:9:492:10 | * ... | | +| main.rs:493:5:493:12 | return x | main.rs:489:1:494:1 | exit fn mutate_param (normal) | return | +| main.rs:493:5:493:13 | ExprStmt | main.rs:493:12:493:12 | x | | +| main.rs:493:12:493:12 | x | main.rs:493:5:493:12 | return x | | +| main.rs:496:1:502:1 | enter fn mutate_param2 | main.rs:496:22:496:22 | x | | +| main.rs:496:1:502:1 | exit fn mutate_param2 (normal) | main.rs:496:1:502:1 | exit fn mutate_param2 | | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:35 | ...: ... | match | +| main.rs:496:22:496:35 | ...: ... | main.rs:496:38:496:38 | y | | +| main.rs:496:38:496:38 | y | main.rs:496:38:496:38 | y | | +| main.rs:496:38:496:38 | y | main.rs:496:38:496:56 | ...: ... | match | +| main.rs:496:38:496:56 | ...: ... | main.rs:497:5:499:11 | ExprStmt | | +| main.rs:496:59:502:1 | { ... } | main.rs:496:1:502:1 | exit fn mutate_param2 (normal) | | +| main.rs:497:5:497:6 | * ... | main.rs:498:10:498:10 | x | | +| main.rs:497:5:499:10 | ... = ... | main.rs:500:5:501:10 | ExprStmt | | +| main.rs:497:5:499:11 | ExprStmt | main.rs:497:6:497:6 | x | | +| main.rs:497:6:497:6 | x | main.rs:497:5:497:6 | * ... | | +| main.rs:498:9:498:10 | * ... | main.rs:499:10:499:10 | x | | +| main.rs:498:9:499:10 | ... + ... | main.rs:497:5:499:10 | ... = ... | | +| main.rs:498:10:498:10 | x | main.rs:498:9:498:10 | * ... | | +| main.rs:499:9:499:10 | * ... | main.rs:498:9:499:10 | ... + ... | | +| main.rs:499:10:499:10 | x | main.rs:499:9:499:10 | * ... | | +| main.rs:500:5:500:6 | * ... | main.rs:501:9:501:9 | x | | +| main.rs:500:5:501:9 | ... = ... | main.rs:496:59:502:1 | { ... } | | +| main.rs:500:5:501:10 | ExprStmt | main.rs:500:6:500:6 | y | | +| main.rs:500:6:500:6 | y | main.rs:500:5:500:6 | * ... | | +| main.rs:501:9:501:9 | x | main.rs:500:5:501:9 | ... = ... | | +| main.rs:504:1:524:1 | enter fn mutate_arg | main.rs:505:5:505:18 | let ... = 2 | | +| main.rs:504:1:524:1 | exit fn mutate_arg (normal) | main.rs:504:1:524:1 | exit fn mutate_arg | | +| main.rs:504:17:524:1 | { ... } | main.rs:504:1:524:1 | exit fn mutate_arg (normal) | | +| main.rs:505:5:505:18 | let ... = 2 | main.rs:505:17:505:17 | 2 | | +| main.rs:505:9:505:13 | mut x | main.rs:506:5:507:29 | let ... = ... | match | +| main.rs:505:13:505:13 | x | main.rs:505:9:505:13 | mut x | | +| main.rs:505:17:505:17 | 2 | main.rs:505:13:505:13 | x | | +| main.rs:506:5:507:29 | let ... = ... | main.rs:507:9:507:20 | mutate_param | | +| main.rs:506:9:506:9 | y | main.rs:506:9:506:9 | y | | +| main.rs:506:9:506:9 | y | main.rs:508:5:508:12 | ExprStmt | match | +| main.rs:507:9:507:20 | mutate_param | main.rs:507:27:507:27 | x | | +| main.rs:507:9:507:28 | mutate_param(...) | main.rs:506:9:506:9 | y | | +| main.rs:507:22:507:27 | &mut x | main.rs:507:9:507:28 | mutate_param(...) | | +| main.rs:507:27:507:27 | x | main.rs:507:22:507:27 | &mut x | | +| main.rs:508:5:508:6 | * ... | main.rs:508:10:508:11 | 10 | | +| main.rs:508:5:508:11 | ... = ... | main.rs:511:5:511:17 | ExprStmt | | +| main.rs:508:5:508:12 | ExprStmt | main.rs:508:6:508:6 | y | | +| main.rs:508:6:508:6 | y | main.rs:508:5:508:6 | * ... | | +| main.rs:508:10:508:11 | 10 | main.rs:508:5:508:11 | ... = ... | | +| main.rs:511:5:511:13 | print_i64 | main.rs:511:15:511:15 | x | | +| main.rs:511:5:511:16 | print_i64(...) | main.rs:513:5:513:18 | let ... = 4 | | +| main.rs:511:5:511:17 | ExprStmt | main.rs:511:5:511:13 | print_i64 | | +| main.rs:511:15:511:15 | x | main.rs:511:5:511:16 | print_i64(...) | | +| main.rs:513:5:513:18 | let ... = 4 | main.rs:513:17:513:17 | 4 | | +| main.rs:513:9:513:13 | mut z | main.rs:514:5:515:20 | let ... = ... | match | +| main.rs:513:13:513:13 | z | main.rs:513:9:513:13 | mut z | | +| main.rs:513:17:513:17 | 4 | main.rs:513:13:513:13 | z | | +| main.rs:514:5:515:20 | let ... = ... | main.rs:515:19:515:19 | x | | +| main.rs:514:9:514:9 | w | main.rs:514:9:514:9 | w | | +| main.rs:514:9:514:9 | w | main.rs:516:5:519:6 | ExprStmt | match | +| main.rs:515:9:515:19 | &mut ... | main.rs:514:9:514:9 | w | | +| main.rs:515:14:515:19 | &mut x | main.rs:515:9:515:19 | &mut ... | | +| main.rs:515:19:515:19 | x | main.rs:515:14:515:19 | &mut x | | +| main.rs:516:5:516:17 | mutate_param2 | main.rs:517:14:517:14 | z | | +| main.rs:516:5:519:5 | mutate_param2(...) | main.rs:520:5:520:13 | ExprStmt | | +| main.rs:516:5:519:6 | ExprStmt | main.rs:516:5:516:17 | mutate_param2 | | +| main.rs:517:9:517:14 | &mut z | main.rs:518:9:518:9 | w | | +| main.rs:517:14:517:14 | z | main.rs:517:9:517:14 | &mut z | | +| main.rs:518:9:518:9 | w | main.rs:516:5:519:5 | mutate_param2(...) | | +| main.rs:520:5:520:7 | * ... | main.rs:520:11:520:12 | 11 | | +| main.rs:520:5:520:12 | ... = ... | main.rs:523:5:523:17 | ExprStmt | | +| main.rs:520:5:520:13 | ExprStmt | main.rs:520:7:520:7 | w | | +| main.rs:520:6:520:7 | * ... | main.rs:520:5:520:7 | * ... | | +| main.rs:520:7:520:7 | w | main.rs:520:6:520:7 | * ... | | +| main.rs:520:11:520:12 | 11 | main.rs:520:5:520:12 | ... = ... | | +| main.rs:523:5:523:13 | print_i64 | main.rs:523:15:523:15 | z | | +| main.rs:523:5:523:16 | print_i64(...) | main.rs:504:17:524:1 | { ... } | | +| main.rs:523:5:523:17 | ExprStmt | main.rs:523:5:523:13 | print_i64 | | +| main.rs:523:15:523:15 | z | main.rs:523:5:523:16 | print_i64(...) | | +| main.rs:526:1:532:1 | enter fn alias | main.rs:527:5:527:18 | let ... = 1 | | +| main.rs:526:1:532:1 | exit fn alias (normal) | main.rs:526:1:532:1 | exit fn alias | | +| main.rs:526:12:532:1 | { ... } | main.rs:526:1:532:1 | exit fn alias (normal) | | +| main.rs:527:5:527:18 | let ... = 1 | main.rs:527:17:527:17 | 1 | | +| main.rs:527:9:527:13 | mut x | main.rs:528:5:529:15 | let ... = ... | match | +| main.rs:527:13:527:13 | x | main.rs:527:9:527:13 | mut x | | +| main.rs:527:17:527:17 | 1 | main.rs:527:13:527:13 | x | | +| main.rs:528:5:529:15 | let ... = ... | main.rs:529:14:529:14 | x | | +| main.rs:528:9:528:9 | y | main.rs:528:9:528:9 | y | | +| main.rs:528:9:528:9 | y | main.rs:530:5:530:11 | ExprStmt | match | +| main.rs:529:9:529:14 | &mut x | main.rs:528:9:528:9 | y | | +| main.rs:529:14:529:14 | x | main.rs:529:9:529:14 | &mut x | | +| main.rs:530:5:530:6 | * ... | main.rs:530:10:530:10 | 2 | | +| main.rs:530:5:530:10 | ... = ... | main.rs:531:5:531:17 | ExprStmt | | +| main.rs:530:5:530:11 | ExprStmt | main.rs:530:6:530:6 | y | | +| main.rs:530:6:530:6 | y | main.rs:530:5:530:6 | * ... | | +| main.rs:530:10:530:10 | 2 | main.rs:530:5:530:10 | ... = ... | | +| main.rs:531:5:531:13 | print_i64 | main.rs:531:15:531:15 | x | | +| main.rs:531:5:531:16 | print_i64(...) | main.rs:526:12:532:1 | { ... } | | +| main.rs:531:5:531:17 | ExprStmt | main.rs:531:5:531:13 | print_i64 | | +| main.rs:531:15:531:15 | x | main.rs:531:5:531:16 | print_i64(...) | | +| main.rs:534:1:543:1 | enter fn capture_immut | main.rs:535:5:535:16 | let ... = 100 | | +| main.rs:534:1:543:1 | exit fn capture_immut (normal) | main.rs:534:1:543:1 | exit fn capture_immut | | +| main.rs:534:20:543:1 | { ... } | main.rs:534:1:543:1 | exit fn capture_immut (normal) | | +| main.rs:535:5:535:16 | let ... = 100 | main.rs:535:13:535:15 | 100 | | +| main.rs:535:9:535:9 | x | main.rs:535:9:535:9 | x | | +| main.rs:535:9:535:9 | x | main.rs:538:5:540:6 | let ... = ... | match | +| main.rs:535:13:535:15 | 100 | main.rs:535:9:535:9 | x | | +| main.rs:538:5:540:6 | let ... = ... | main.rs:538:15:540:5 | \|...\| ... | | +| main.rs:538:9:538:11 | cap | main.rs:538:9:538:11 | cap | | +| main.rs:538:9:538:11 | cap | main.rs:541:5:541:10 | ExprStmt | match | +| main.rs:538:15:540:5 | \|...\| ... | main.rs:538:9:538:11 | cap | | +| main.rs:538:15:540:5 | enter \|...\| ... | main.rs:539:9:539:21 | ExprStmt | | +| main.rs:538:15:540:5 | exit \|...\| ... (normal) | main.rs:538:15:540:5 | exit \|...\| ... | | +| main.rs:538:18:540:5 | { ... } | main.rs:538:15:540:5 | exit \|...\| ... (normal) | | +| main.rs:539:9:539:17 | print_i64 | main.rs:539:19:539:19 | x | | +| main.rs:539:9:539:20 | print_i64(...) | main.rs:538:18:540:5 | { ... } | | +| main.rs:539:9:539:21 | ExprStmt | main.rs:539:9:539:17 | print_i64 | | +| main.rs:539:19:539:19 | x | main.rs:539:9:539:20 | print_i64(...) | | +| main.rs:541:5:541:7 | cap | main.rs:541:5:541:9 | cap(...) | | +| main.rs:541:5:541:9 | cap(...) | main.rs:542:5:542:17 | ExprStmt | | +| main.rs:541:5:541:10 | ExprStmt | main.rs:541:5:541:7 | cap | | +| main.rs:542:5:542:13 | print_i64 | main.rs:542:15:542:15 | x | | +| main.rs:542:5:542:16 | print_i64(...) | main.rs:534:20:543:1 | { ... } | | +| main.rs:542:5:542:17 | ExprStmt | main.rs:542:5:542:13 | print_i64 | | +| main.rs:542:15:542:15 | x | main.rs:542:5:542:16 | print_i64(...) | | +| main.rs:545:1:572:1 | enter fn capture_mut | main.rs:546:5:546:18 | let ... = 1 | | +| main.rs:545:1:572:1 | exit fn capture_mut (normal) | main.rs:545:1:572:1 | exit fn capture_mut | | +| main.rs:545:18:572:1 | { ... } | main.rs:545:1:572:1 | exit fn capture_mut (normal) | | +| main.rs:546:5:546:18 | let ... = 1 | main.rs:546:17:546:17 | 1 | | +| main.rs:546:9:546:13 | mut x | main.rs:549:5:551:6 | let ... = ... | match | +| main.rs:546:13:546:13 | x | main.rs:546:9:546:13 | mut x | | +| main.rs:546:17:546:17 | 1 | main.rs:546:13:546:13 | x | | +| main.rs:549:5:551:6 | let ... = ... | main.rs:549:20:551:5 | \|...\| ... | | +| main.rs:549:9:549:16 | closure1 | main.rs:549:9:549:16 | closure1 | | +| main.rs:549:9:549:16 | closure1 | main.rs:552:5:552:15 | ExprStmt | match | +| main.rs:549:20:551:5 | \|...\| ... | main.rs:549:9:549:16 | closure1 | | +| main.rs:549:20:551:5 | enter \|...\| ... | main.rs:550:9:550:21 | ExprStmt | | +| main.rs:549:20:551:5 | exit \|...\| ... (normal) | main.rs:549:20:551:5 | exit \|...\| ... | | +| main.rs:549:23:551:5 | { ... } | main.rs:549:20:551:5 | exit \|...\| ... (normal) | | +| main.rs:550:9:550:17 | print_i64 | main.rs:550:19:550:19 | x | | +| main.rs:550:9:550:20 | print_i64(...) | main.rs:549:23:551:5 | { ... } | | +| main.rs:550:9:550:21 | ExprStmt | main.rs:550:9:550:17 | print_i64 | | +| main.rs:550:19:550:19 | x | main.rs:550:9:550:20 | print_i64(...) | | +| main.rs:552:5:552:12 | closure1 | main.rs:552:5:552:14 | closure1(...) | | +| main.rs:552:5:552:14 | closure1(...) | main.rs:553:5:553:17 | ExprStmt | | +| main.rs:552:5:552:15 | ExprStmt | main.rs:552:5:552:12 | closure1 | | +| main.rs:553:5:553:13 | print_i64 | main.rs:553:15:553:15 | x | | +| main.rs:553:5:553:16 | print_i64(...) | main.rs:555:5:555:18 | let ... = 2 | | +| main.rs:553:5:553:17 | ExprStmt | main.rs:553:5:553:13 | print_i64 | | +| main.rs:553:15:553:15 | x | main.rs:553:5:553:16 | print_i64(...) | | +| main.rs:555:5:555:18 | let ... = 2 | main.rs:555:17:555:17 | 2 | | +| main.rs:555:9:555:13 | mut y | main.rs:558:5:560:6 | let ... = ... | match | +| main.rs:555:13:555:13 | y | main.rs:555:9:555:13 | mut y | | +| main.rs:555:17:555:17 | 2 | main.rs:555:13:555:13 | y | | +| main.rs:558:5:560:6 | let ... = ... | main.rs:558:24:560:5 | \|...\| ... | | +| main.rs:558:9:558:20 | mut closure2 | main.rs:561:5:561:15 | ExprStmt | match | +| main.rs:558:13:558:20 | closure2 | main.rs:558:9:558:20 | mut closure2 | | +| main.rs:558:24:560:5 | \|...\| ... | main.rs:558:13:558:20 | closure2 | | +| main.rs:558:24:560:5 | enter \|...\| ... | main.rs:559:9:559:14 | ExprStmt | | +| main.rs:558:24:560:5 | exit \|...\| ... (normal) | main.rs:558:24:560:5 | exit \|...\| ... | | +| main.rs:558:27:560:5 | { ... } | main.rs:558:24:560:5 | exit \|...\| ... (normal) | | +| main.rs:559:9:559:9 | y | main.rs:559:13:559:13 | 3 | | +| main.rs:559:9:559:13 | ... = ... | main.rs:558:27:560:5 | { ... } | | +| main.rs:559:9:559:14 | ExprStmt | main.rs:559:9:559:9 | y | | +| main.rs:559:13:559:13 | 3 | main.rs:559:9:559:13 | ... = ... | | +| main.rs:561:5:561:12 | closure2 | main.rs:561:5:561:14 | closure2(...) | | +| main.rs:561:5:561:14 | closure2(...) | main.rs:562:5:562:17 | ExprStmt | | +| main.rs:561:5:561:15 | ExprStmt | main.rs:561:5:561:12 | closure2 | | +| main.rs:562:5:562:13 | print_i64 | main.rs:562:15:562:15 | y | | +| main.rs:562:5:562:16 | print_i64(...) | main.rs:564:5:564:18 | let ... = 2 | | +| main.rs:562:5:562:17 | ExprStmt | main.rs:562:5:562:13 | print_i64 | | +| main.rs:562:15:562:15 | y | main.rs:562:5:562:16 | print_i64(...) | | +| main.rs:564:5:564:18 | let ... = 2 | main.rs:564:17:564:17 | 2 | | +| main.rs:564:9:564:13 | mut z | main.rs:567:5:569:6 | let ... = ... | match | +| main.rs:564:13:564:13 | z | main.rs:564:9:564:13 | mut z | | +| main.rs:564:17:564:17 | 2 | main.rs:564:13:564:13 | z | | +| main.rs:567:5:569:6 | let ... = ... | main.rs:567:24:569:5 | \|...\| ... | | +| main.rs:567:9:567:20 | mut closure3 | main.rs:570:5:570:15 | ExprStmt | match | +| main.rs:567:13:567:20 | closure3 | main.rs:567:9:567:20 | mut closure3 | | +| main.rs:567:24:569:5 | \|...\| ... | main.rs:567:13:567:20 | closure3 | | +| main.rs:567:24:569:5 | enter \|...\| ... | main.rs:568:9:568:24 | ExprStmt | | +| main.rs:567:24:569:5 | exit \|...\| ... (normal) | main.rs:567:24:569:5 | exit \|...\| ... | | +| main.rs:567:27:569:5 | { ... } | main.rs:567:24:569:5 | exit \|...\| ... (normal) | | +| main.rs:568:9:568:9 | z | main.rs:568:22:568:22 | 1 | | +| main.rs:568:9:568:23 | z.add_assign(...) | main.rs:567:27:569:5 | { ... } | | +| main.rs:568:9:568:24 | ExprStmt | main.rs:568:9:568:9 | z | | +| main.rs:568:22:568:22 | 1 | main.rs:568:9:568:23 | z.add_assign(...) | | +| main.rs:570:5:570:12 | closure3 | main.rs:570:5:570:14 | closure3(...) | | +| main.rs:570:5:570:14 | closure3(...) | main.rs:571:5:571:17 | ExprStmt | | +| main.rs:570:5:570:15 | ExprStmt | main.rs:570:5:570:12 | closure3 | | +| main.rs:571:5:571:13 | print_i64 | main.rs:571:15:571:15 | z | | +| main.rs:571:5:571:16 | print_i64(...) | main.rs:545:18:572:1 | { ... } | | +| main.rs:571:5:571:17 | ExprStmt | main.rs:571:5:571:13 | print_i64 | | +| main.rs:571:15:571:15 | z | main.rs:571:5:571:16 | print_i64(...) | | +| main.rs:574:1:582:1 | enter fn async_block_capture | main.rs:575:5:575:23 | let ... = 0 | | +| main.rs:574:1:582:1 | exit fn async_block_capture (normal) | main.rs:574:1:582:1 | exit fn async_block_capture | | +| main.rs:574:32:582:1 | { ... } | main.rs:574:1:582:1 | exit fn async_block_capture (normal) | | +| main.rs:575:5:575:23 | let ... = 0 | main.rs:575:22:575:22 | 0 | | +| main.rs:575:9:575:13 | mut i | main.rs:576:5:578:6 | let ... = ... | match | +| main.rs:575:13:575:13 | i | main.rs:575:9:575:13 | mut i | | +| main.rs:575:22:575:22 | 0 | main.rs:575:13:575:13 | i | | +| main.rs:576:5:578:6 | let ... = ... | main.rs:576:17:578:5 | { ... } | | +| main.rs:576:9:576:13 | block | main.rs:576:9:576:13 | block | | +| main.rs:576:9:576:13 | block | main.rs:580:5:580:16 | ExprStmt | match | +| main.rs:576:17:578:5 | enter { ... } | main.rs:577:9:577:14 | ExprStmt | | +| main.rs:576:17:578:5 | exit { ... } (normal) | main.rs:576:17:578:5 | exit { ... } | | +| main.rs:576:17:578:5 | { ... } | main.rs:576:9:576:13 | block | | +| main.rs:577:9:577:9 | i | main.rs:577:13:577:13 | 1 | | +| main.rs:577:9:577:13 | ... = ... | main.rs:576:17:578:5 | exit { ... } (normal) | | +| main.rs:577:9:577:14 | ExprStmt | main.rs:577:9:577:9 | i | | +| main.rs:577:13:577:13 | 1 | main.rs:577:9:577:13 | ... = ... | | +| main.rs:580:5:580:9 | block | main.rs:580:5:580:15 | await block | | +| main.rs:580:5:580:15 | await block | main.rs:581:5:581:17 | ExprStmt | | +| main.rs:580:5:580:16 | ExprStmt | main.rs:580:5:580:9 | block | | +| main.rs:581:5:581:13 | print_i64 | main.rs:581:15:581:15 | i | | +| main.rs:581:5:581:16 | print_i64(...) | main.rs:574:32:582:1 | { ... } | | +| main.rs:581:5:581:17 | ExprStmt | main.rs:581:5:581:13 | print_i64 | | +| main.rs:581:15:581:15 | i | main.rs:581:5:581:16 | print_i64(...) | | +| main.rs:584:1:600:1 | enter fn phi | main.rs:584:8:584:8 | b | | +| main.rs:584:1:600:1 | exit fn phi (normal) | main.rs:584:1:600:1 | exit fn phi | | +| main.rs:584:8:584:8 | b | main.rs:584:8:584:8 | b | | +| main.rs:584:8:584:8 | b | main.rs:584:8:584:14 | ...: bool | match | +| main.rs:584:8:584:14 | ...: bool | main.rs:585:5:585:18 | let ... = 1 | | +| main.rs:584:17:600:1 | { ... } | main.rs:584:1:600:1 | exit fn phi (normal) | | +| main.rs:585:5:585:18 | let ... = 1 | main.rs:585:17:585:17 | 1 | | +| main.rs:585:9:585:13 | mut x | main.rs:586:5:586:17 | ExprStmt | match | +| main.rs:585:13:585:13 | x | main.rs:585:9:585:13 | mut x | | +| main.rs:585:17:585:17 | 1 | main.rs:585:13:585:13 | x | | +| main.rs:586:5:586:13 | print_i64 | main.rs:586:15:586:15 | x | | +| main.rs:586:5:586:16 | print_i64(...) | main.rs:587:5:587:21 | ExprStmt | | +| main.rs:586:5:586:17 | ExprStmt | main.rs:586:5:586:13 | print_i64 | | +| main.rs:586:15:586:15 | x | main.rs:586:5:586:16 | print_i64(...) | | +| main.rs:587:5:587:13 | print_i64 | main.rs:587:15:587:15 | x | | +| main.rs:587:5:587:20 | print_i64(...) | main.rs:588:5:598:6 | let _ = ... | | +| main.rs:587:5:587:21 | ExprStmt | main.rs:587:5:587:13 | print_i64 | | +| main.rs:587:15:587:15 | x | main.rs:587:19:587:19 | 1 | | +| main.rs:587:15:587:19 | ... + ... | main.rs:587:5:587:20 | print_i64(...) | | +| main.rs:587:19:587:19 | 1 | main.rs:587:15:587:19 | ... + ... | | +| main.rs:588:5:598:6 | let _ = ... | main.rs:589:16:589:16 | b | | +| main.rs:589:9:589:9 | _ | main.rs:599:5:599:17 | ExprStmt | match | +| main.rs:589:13:598:5 | if b {...} else {...} | main.rs:589:9:589:9 | _ | | +| main.rs:589:16:589:16 | b | main.rs:591:9:591:14 | ExprStmt | true | +| main.rs:589:16:589:16 | b | main.rs:595:9:595:14 | ExprStmt | false | +| main.rs:590:5:594:5 | { ... } | main.rs:589:13:598:5 | if b {...} else {...} | | +| main.rs:591:9:591:9 | x | main.rs:591:13:591:13 | 2 | | +| main.rs:591:9:591:13 | ... = ... | main.rs:592:9:592:21 | ExprStmt | | +| main.rs:591:9:591:14 | ExprStmt | main.rs:591:9:591:9 | x | | +| main.rs:591:13:591:13 | 2 | main.rs:591:9:591:13 | ... = ... | | +| main.rs:592:9:592:17 | print_i64 | main.rs:592:19:592:19 | x | | +| main.rs:592:9:592:20 | print_i64(...) | main.rs:593:9:593:25 | ExprStmt | | +| main.rs:592:9:592:21 | ExprStmt | main.rs:592:9:592:17 | print_i64 | | +| main.rs:592:19:592:19 | x | main.rs:592:9:592:20 | print_i64(...) | | +| main.rs:593:9:593:17 | print_i64 | main.rs:593:19:593:19 | x | | +| main.rs:593:9:593:24 | print_i64(...) | main.rs:590:5:594:5 | { ... } | | +| main.rs:593:9:593:25 | ExprStmt | main.rs:593:9:593:17 | print_i64 | | +| main.rs:593:19:593:19 | x | main.rs:593:23:593:23 | 1 | | +| main.rs:593:19:593:23 | ... + ... | main.rs:593:9:593:24 | print_i64(...) | | +| main.rs:593:23:593:23 | 1 | main.rs:593:19:593:23 | ... + ... | | +| main.rs:594:12:598:5 | { ... } | main.rs:589:13:598:5 | if b {...} else {...} | | +| main.rs:595:9:595:9 | x | main.rs:595:13:595:13 | 3 | | +| main.rs:595:9:595:13 | ... = ... | main.rs:596:9:596:21 | ExprStmt | | +| main.rs:595:9:595:14 | ExprStmt | main.rs:595:9:595:9 | x | | +| main.rs:595:13:595:13 | 3 | main.rs:595:9:595:13 | ... = ... | | +| main.rs:596:9:596:17 | print_i64 | main.rs:596:19:596:19 | x | | +| main.rs:596:9:596:20 | print_i64(...) | main.rs:597:9:597:25 | ExprStmt | | +| main.rs:596:9:596:21 | ExprStmt | main.rs:596:9:596:17 | print_i64 | | +| main.rs:596:19:596:19 | x | main.rs:596:9:596:20 | print_i64(...) | | +| main.rs:597:9:597:17 | print_i64 | main.rs:597:19:597:19 | x | | +| main.rs:597:9:597:24 | print_i64(...) | main.rs:594:12:598:5 | { ... } | | +| main.rs:597:9:597:25 | ExprStmt | main.rs:597:9:597:17 | print_i64 | | +| main.rs:597:19:597:19 | x | main.rs:597:23:597:23 | 1 | | +| main.rs:597:19:597:23 | ... + ... | main.rs:597:9:597:24 | print_i64(...) | | +| main.rs:597:23:597:23 | 1 | main.rs:597:19:597:23 | ... + ... | | +| main.rs:599:5:599:13 | print_i64 | main.rs:599:15:599:15 | x | | +| main.rs:599:5:599:16 | print_i64(...) | main.rs:584:17:600:1 | { ... } | | +| main.rs:599:5:599:17 | ExprStmt | main.rs:599:5:599:13 | print_i64 | | +| main.rs:599:15:599:15 | x | main.rs:599:5:599:16 | print_i64(...) | | +| main.rs:602:1:619:1 | enter fn phi_read | main.rs:602:13:602:14 | b1 | | +| main.rs:602:1:619:1 | exit fn phi_read (normal) | main.rs:602:1:619:1 | exit fn phi_read | | +| main.rs:602:13:602:14 | b1 | main.rs:602:13:602:14 | b1 | | +| main.rs:602:13:602:14 | b1 | main.rs:602:13:602:20 | ...: bool | match | +| main.rs:602:13:602:20 | ...: bool | main.rs:602:23:602:24 | b2 | | +| main.rs:602:23:602:24 | b2 | main.rs:602:23:602:24 | b2 | | +| main.rs:602:23:602:24 | b2 | main.rs:602:23:602:30 | ...: bool | match | +| main.rs:602:23:602:30 | ...: bool | main.rs:603:5:603:14 | let ... = 1 | | +| main.rs:602:33:619:1 | { ... } | main.rs:602:1:619:1 | exit fn phi_read (normal) | | +| main.rs:603:5:603:14 | let ... = 1 | main.rs:603:13:603:13 | 1 | | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | | +| main.rs:603:9:603:9 | x | main.rs:604:5:610:6 | let _ = ... | match | +| main.rs:603:13:603:13 | 1 | main.rs:603:9:603:9 | x | | +| main.rs:604:5:610:6 | let _ = ... | main.rs:605:16:605:17 | b1 | | +| main.rs:605:9:605:9 | _ | main.rs:612:5:618:6 | let _ = ... | match | +| main.rs:605:13:610:5 | if b1 {...} else {...} | main.rs:605:9:605:9 | _ | | +| main.rs:605:16:605:17 | b1 | main.rs:607:9:607:21 | ExprStmt | true | +| main.rs:605:16:605:17 | b1 | main.rs:609:9:609:21 | ExprStmt | false | +| main.rs:606:5:608:5 | { ... } | main.rs:605:13:610:5 | if b1 {...} else {...} | | +| main.rs:607:9:607:17 | print_i64 | main.rs:607:19:607:19 | x | | +| main.rs:607:9:607:20 | print_i64(...) | main.rs:606:5:608:5 | { ... } | | +| main.rs:607:9:607:21 | ExprStmt | main.rs:607:9:607:17 | print_i64 | | +| main.rs:607:19:607:19 | x | main.rs:607:9:607:20 | print_i64(...) | | +| main.rs:608:12:610:5 | { ... } | main.rs:605:13:610:5 | if b1 {...} else {...} | | +| main.rs:609:9:609:17 | print_i64 | main.rs:609:19:609:19 | x | | +| main.rs:609:9:609:20 | print_i64(...) | main.rs:608:12:610:5 | { ... } | | +| main.rs:609:9:609:21 | ExprStmt | main.rs:609:9:609:17 | print_i64 | | +| main.rs:609:19:609:19 | x | main.rs:609:9:609:20 | print_i64(...) | | +| main.rs:612:5:618:6 | let _ = ... | main.rs:613:16:613:17 | b2 | | +| main.rs:613:9:613:9 | _ | main.rs:602:33:619:1 | { ... } | match | +| main.rs:613:13:618:5 | if b2 {...} else {...} | main.rs:613:9:613:9 | _ | | +| main.rs:613:16:613:17 | b2 | main.rs:615:9:615:21 | ExprStmt | true | +| main.rs:613:16:613:17 | b2 | main.rs:617:9:617:21 | ExprStmt | false | +| main.rs:614:5:616:5 | { ... } | main.rs:613:13:618:5 | if b2 {...} else {...} | | +| main.rs:615:9:615:17 | print_i64 | main.rs:615:19:615:19 | x | | +| main.rs:615:9:615:20 | print_i64(...) | main.rs:614:5:616:5 | { ... } | | +| main.rs:615:9:615:21 | ExprStmt | main.rs:615:9:615:17 | print_i64 | | +| main.rs:615:19:615:19 | x | main.rs:615:9:615:20 | print_i64(...) | | +| main.rs:616:12:618:5 | { ... } | main.rs:613:13:618:5 | if b2 {...} else {...} | | +| main.rs:617:9:617:17 | print_i64 | main.rs:617:19:617:19 | x | | +| main.rs:617:9:617:20 | print_i64(...) | main.rs:616:12:618:5 | { ... } | | +| main.rs:617:9:617:21 | ExprStmt | main.rs:617:9:617:17 | print_i64 | | +| main.rs:617:19:617:19 | x | main.rs:617:9:617:20 | print_i64(...) | | +| main.rs:626:5:628:5 | enter fn my_get | main.rs:626:20:626:23 | self | | +| main.rs:626:5:628:5 | exit fn my_get (normal) | main.rs:626:5:628:5 | exit fn my_get | | +| main.rs:626:15:626:23 | SelfParam | main.rs:627:9:627:24 | ExprStmt | | +| main.rs:626:20:626:23 | self | main.rs:626:15:626:23 | SelfParam | | +| main.rs:627:9:627:23 | return ... | main.rs:626:5:628:5 | exit fn my_get (normal) | return | +| main.rs:627:9:627:24 | ExprStmt | main.rs:627:16:627:19 | self | | +| main.rs:627:16:627:19 | self | main.rs:627:16:627:23 | self.val | | +| main.rs:627:16:627:23 | self.val | main.rs:627:9:627:23 | return ... | | +| main.rs:630:5:632:5 | enter fn id | main.rs:630:11:630:14 | self | | +| main.rs:630:5:632:5 | exit fn id (normal) | main.rs:630:5:632:5 | exit fn id | | +| main.rs:630:11:630:14 | SelfParam | main.rs:631:9:631:12 | self | | +| main.rs:630:11:630:14 | self | main.rs:630:11:630:14 | SelfParam | | +| main.rs:630:25:632:5 | { ... } | main.rs:630:5:632:5 | exit fn id (normal) | | +| main.rs:631:9:631:12 | self | main.rs:630:25:632:5 | { ... } | | +| main.rs:634:5:641:5 | enter fn my_method | main.rs:634:23:634:26 | self | | +| main.rs:634:5:641:5 | exit fn my_method (normal) | main.rs:634:5:641:5 | exit fn my_method | | +| main.rs:634:18:634:26 | SelfParam | main.rs:635:9:638:10 | let ... = ... | | +| main.rs:634:23:634:26 | self | main.rs:634:18:634:26 | SelfParam | | +| main.rs:634:29:641:5 | { ... } | main.rs:634:5:641:5 | exit fn my_method (normal) | | +| main.rs:635:9:638:10 | let ... = ... | main.rs:635:21:638:9 | \|...\| ... | | +| main.rs:635:13:635:17 | mut f | main.rs:639:9:639:13 | ExprStmt | match | +| main.rs:635:17:635:17 | f | main.rs:635:13:635:17 | mut f | | +| main.rs:635:21:638:9 | \|...\| ... | main.rs:635:17:635:17 | f | | +| main.rs:635:21:638:9 | enter \|...\| ... | main.rs:635:22:635:22 | n | | +| main.rs:635:21:638:9 | exit \|...\| ... (normal) | main.rs:635:21:638:9 | exit \|...\| ... | | +| main.rs:635:22:635:22 | ... | main.rs:637:13:637:26 | ExprStmt | | +| main.rs:635:22:635:22 | n | main.rs:635:22:635:22 | ... | match | +| main.rs:635:22:635:22 | n | main.rs:635:22:635:22 | n | | +| main.rs:635:25:638:9 | { ... } | main.rs:635:21:638:9 | exit \|...\| ... (normal) | | +| main.rs:637:13:637:16 | self | main.rs:637:13:637:20 | self.val | | +| main.rs:637:13:637:20 | self.val | main.rs:637:25:637:25 | n | | +| main.rs:637:13:637:25 | ... += ... | main.rs:635:25:638:9 | { ... } | | +| main.rs:637:13:637:26 | ExprStmt | main.rs:637:13:637:16 | self | | +| main.rs:637:25:637:25 | n | main.rs:637:13:637:25 | ... += ... | | +| main.rs:639:9:639:9 | f | main.rs:639:11:639:11 | 3 | | +| main.rs:639:9:639:12 | f(...) | main.rs:640:9:640:13 | ExprStmt | | +| main.rs:639:9:639:13 | ExprStmt | main.rs:639:9:639:9 | f | | +| main.rs:639:11:639:11 | 3 | main.rs:639:9:639:12 | f(...) | | +| main.rs:640:9:640:9 | f | main.rs:640:11:640:11 | 4 | | +| main.rs:640:9:640:12 | f(...) | main.rs:634:29:641:5 | { ... } | | +| main.rs:640:9:640:13 | ExprStmt | main.rs:640:9:640:9 | f | | +| main.rs:640:11:640:11 | 4 | main.rs:640:9:640:12 | f(...) | | +| main.rs:644:1:651:1 | enter fn structs | main.rs:645:5:645:36 | let ... = ... | | +| main.rs:644:1:651:1 | exit fn structs (normal) | main.rs:644:1:651:1 | exit fn structs | | +| main.rs:644:14:651:1 | { ... } | main.rs:644:1:651:1 | exit fn structs (normal) | | +| main.rs:645:5:645:36 | let ... = ... | main.rs:645:33:645:33 | 1 | | +| main.rs:645:9:645:13 | mut a | main.rs:646:5:646:26 | ExprStmt | match | +| main.rs:645:13:645:13 | a | main.rs:645:9:645:13 | mut a | | +| main.rs:645:17:645:35 | MyStruct {...} | main.rs:645:13:645:13 | a | | +| main.rs:645:33:645:33 | 1 | main.rs:645:17:645:35 | MyStruct {...} | | +| main.rs:646:5:646:13 | print_i64 | main.rs:646:15:646:15 | a | | +| main.rs:646:5:646:25 | print_i64(...) | main.rs:647:5:647:14 | ExprStmt | | +| main.rs:646:5:646:26 | ExprStmt | main.rs:646:5:646:13 | print_i64 | | +| main.rs:646:15:646:15 | a | main.rs:646:15:646:24 | a.my_get() | | +| main.rs:646:15:646:24 | a.my_get() | main.rs:646:5:646:25 | print_i64(...) | | +| main.rs:647:5:647:5 | a | main.rs:647:5:647:9 | a.val | | +| main.rs:647:5:647:9 | a.val | main.rs:647:13:647:13 | 5 | | +| main.rs:647:5:647:13 | ... = ... | main.rs:648:5:648:26 | ExprStmt | | +| main.rs:647:5:647:14 | ExprStmt | main.rs:647:5:647:5 | a | | +| main.rs:647:13:647:13 | 5 | main.rs:647:5:647:13 | ... = ... | | +| main.rs:648:5:648:13 | print_i64 | main.rs:648:15:648:15 | a | | +| main.rs:648:5:648:25 | print_i64(...) | main.rs:649:5:649:28 | ExprStmt | | +| main.rs:648:5:648:26 | ExprStmt | main.rs:648:5:648:13 | print_i64 | | +| main.rs:648:15:648:15 | a | main.rs:648:15:648:24 | a.my_get() | | +| main.rs:648:15:648:24 | a.my_get() | main.rs:648:5:648:25 | print_i64(...) | | +| main.rs:649:5:649:5 | a | main.rs:649:25:649:25 | 2 | | +| main.rs:649:5:649:27 | ... = ... | main.rs:650:5:650:26 | ExprStmt | | +| main.rs:649:5:649:28 | ExprStmt | main.rs:649:5:649:5 | a | | +| main.rs:649:9:649:27 | MyStruct {...} | main.rs:649:5:649:27 | ... = ... | | +| main.rs:649:25:649:25 | 2 | main.rs:649:9:649:27 | MyStruct {...} | | +| main.rs:650:5:650:13 | print_i64 | main.rs:650:15:650:15 | a | | +| main.rs:650:5:650:25 | print_i64(...) | main.rs:644:14:651:1 | { ... } | | +| main.rs:650:5:650:26 | ExprStmt | main.rs:650:5:650:13 | print_i64 | | +| main.rs:650:15:650:15 | a | main.rs:650:15:650:24 | a.my_get() | | +| main.rs:650:15:650:24 | a.my_get() | main.rs:650:5:650:25 | print_i64(...) | | +| main.rs:653:1:660:1 | enter fn arrays | main.rs:654:5:654:26 | let ... = ... | | +| main.rs:653:1:660:1 | exit fn arrays (normal) | main.rs:653:1:660:1 | exit fn arrays | | +| main.rs:653:13:660:1 | { ... } | main.rs:653:1:660:1 | exit fn arrays (normal) | | +| main.rs:654:5:654:26 | let ... = ... | main.rs:654:18:654:18 | 1 | | +| main.rs:654:9:654:13 | mut a | main.rs:655:5:655:20 | ExprStmt | match | +| main.rs:654:13:654:13 | a | main.rs:654:9:654:13 | mut a | | +| main.rs:654:17:654:25 | [...] | main.rs:654:13:654:13 | a | | +| main.rs:654:18:654:18 | 1 | main.rs:654:21:654:21 | 2 | | +| main.rs:654:21:654:21 | 2 | main.rs:654:24:654:24 | 3 | | +| main.rs:654:24:654:24 | 3 | main.rs:654:17:654:25 | [...] | | +| main.rs:655:5:655:13 | print_i64 | main.rs:655:15:655:15 | a | | +| main.rs:655:5:655:19 | print_i64(...) | main.rs:656:5:656:13 | ExprStmt | | +| main.rs:655:5:655:20 | ExprStmt | main.rs:655:5:655:13 | print_i64 | | +| main.rs:655:15:655:15 | a | main.rs:655:17:655:17 | 0 | | +| main.rs:655:15:655:18 | a[0] | main.rs:655:5:655:19 | print_i64(...) | | +| main.rs:655:17:655:17 | 0 | main.rs:655:15:655:18 | a[0] | | +| main.rs:656:5:656:5 | a | main.rs:656:7:656:7 | 1 | | +| main.rs:656:5:656:8 | a[1] | main.rs:656:12:656:12 | 5 | | +| main.rs:656:5:656:12 | ... = ... | main.rs:657:5:657:20 | ExprStmt | | +| main.rs:656:5:656:13 | ExprStmt | main.rs:656:5:656:5 | a | | +| main.rs:656:7:656:7 | 1 | main.rs:656:5:656:8 | a[1] | | +| main.rs:656:12:656:12 | 5 | main.rs:656:5:656:12 | ... = ... | | +| main.rs:657:5:657:13 | print_i64 | main.rs:657:15:657:15 | a | | +| main.rs:657:5:657:19 | print_i64(...) | main.rs:658:5:658:18 | ExprStmt | | +| main.rs:657:5:657:20 | ExprStmt | main.rs:657:5:657:13 | print_i64 | | +| main.rs:657:15:657:15 | a | main.rs:657:17:657:17 | 1 | | +| main.rs:657:15:657:18 | a[1] | main.rs:657:5:657:19 | print_i64(...) | | +| main.rs:657:17:657:17 | 1 | main.rs:657:15:657:18 | a[1] | | +| main.rs:658:5:658:5 | a | main.rs:658:10:658:10 | 4 | | +| main.rs:658:5:658:17 | ... = ... | main.rs:659:5:659:20 | ExprStmt | | +| main.rs:658:5:658:18 | ExprStmt | main.rs:658:5:658:5 | a | | +| main.rs:658:9:658:17 | [...] | main.rs:658:5:658:17 | ... = ... | | +| main.rs:658:10:658:10 | 4 | main.rs:658:13:658:13 | 5 | | +| main.rs:658:13:658:13 | 5 | main.rs:658:16:658:16 | 6 | | +| main.rs:658:16:658:16 | 6 | main.rs:658:9:658:17 | [...] | | +| main.rs:659:5:659:13 | print_i64 | main.rs:659:15:659:15 | a | | +| main.rs:659:5:659:19 | print_i64(...) | main.rs:653:13:660:1 | { ... } | | +| main.rs:659:5:659:20 | ExprStmt | main.rs:659:5:659:13 | print_i64 | | +| main.rs:659:15:659:15 | a | main.rs:659:17:659:17 | 2 | | +| main.rs:659:15:659:18 | a[2] | main.rs:659:5:659:19 | print_i64(...) | | +| main.rs:659:17:659:17 | 2 | main.rs:659:15:659:18 | a[2] | | +| main.rs:662:1:669:1 | enter fn ref_arg | main.rs:663:5:663:15 | let ... = 16 | | +| main.rs:662:1:669:1 | exit fn ref_arg (normal) | main.rs:662:1:669:1 | exit fn ref_arg | | +| main.rs:662:14:669:1 | { ... } | main.rs:662:1:669:1 | exit fn ref_arg (normal) | | +| main.rs:663:5:663:15 | let ... = 16 | main.rs:663:13:663:14 | 16 | | +| main.rs:663:9:663:9 | x | main.rs:663:9:663:9 | x | | +| main.rs:663:9:663:9 | x | main.rs:664:5:664:22 | ExprStmt | match | +| main.rs:663:13:663:14 | 16 | main.rs:663:9:663:9 | x | | +| main.rs:664:5:664:17 | print_i64_ref | main.rs:664:20:664:20 | x | | +| main.rs:664:5:664:21 | print_i64_ref(...) | main.rs:665:5:665:17 | ExprStmt | | +| main.rs:664:5:664:22 | ExprStmt | main.rs:664:5:664:17 | print_i64_ref | | +| main.rs:664:19:664:20 | &x | main.rs:664:5:664:21 | print_i64_ref(...) | | +| main.rs:664:20:664:20 | x | main.rs:664:19:664:20 | &x | | +| main.rs:665:5:665:13 | print_i64 | main.rs:665:15:665:15 | x | | +| main.rs:665:5:665:16 | print_i64(...) | main.rs:667:5:667:15 | let ... = 17 | | +| main.rs:665:5:665:17 | ExprStmt | main.rs:665:5:665:13 | print_i64 | | +| main.rs:665:15:665:15 | x | main.rs:665:5:665:16 | print_i64(...) | | +| main.rs:667:5:667:15 | let ... = 17 | main.rs:667:13:667:14 | 17 | | +| main.rs:667:9:667:9 | z | main.rs:667:9:667:9 | z | | +| main.rs:667:9:667:9 | z | main.rs:668:5:668:22 | ExprStmt | match | +| main.rs:667:13:667:14 | 17 | main.rs:667:9:667:9 | z | | +| main.rs:668:5:668:17 | print_i64_ref | main.rs:668:20:668:20 | z | | +| main.rs:668:5:668:21 | print_i64_ref(...) | main.rs:662:14:669:1 | { ... } | | +| main.rs:668:5:668:22 | ExprStmt | main.rs:668:5:668:17 | print_i64_ref | | +| main.rs:668:19:668:20 | &z | main.rs:668:5:668:21 | print_i64_ref(...) | | +| main.rs:668:20:668:20 | z | main.rs:668:19:668:20 | &z | | +| main.rs:676:5:678:5 | enter fn bar | main.rs:676:17:676:20 | self | | +| main.rs:676:5:678:5 | exit fn bar (normal) | main.rs:676:5:678:5 | exit fn bar | | +| main.rs:676:12:676:20 | SelfParam | main.rs:677:9:677:36 | ExprStmt | | +| main.rs:676:17:676:20 | self | main.rs:676:12:676:20 | SelfParam | | +| main.rs:676:23:678:5 | { ... } | main.rs:676:5:678:5 | exit fn bar (normal) | | +| main.rs:677:9:677:13 | * ... | main.rs:677:33:677:33 | 3 | | +| main.rs:677:9:677:35 | ... = ... | main.rs:676:23:678:5 | { ... } | | +| main.rs:677:9:677:36 | ExprStmt | main.rs:677:10:677:13 | self | | +| main.rs:677:10:677:13 | self | main.rs:677:9:677:13 | * ... | | +| main.rs:677:17:677:35 | MyStruct {...} | main.rs:677:9:677:35 | ... = ... | | +| main.rs:677:33:677:33 | 3 | main.rs:677:17:677:35 | MyStruct {...} | | +| main.rs:681:1:687:1 | enter fn ref_methodcall_receiver | main.rs:682:5:682:36 | let ... = ... | | +| main.rs:681:1:687:1 | exit fn ref_methodcall_receiver (normal) | main.rs:681:1:687:1 | exit fn ref_methodcall_receiver | | +| main.rs:681:30:687:1 | { ... } | main.rs:681:1:687:1 | exit fn ref_methodcall_receiver (normal) | | +| main.rs:682:5:682:36 | let ... = ... | main.rs:682:33:682:33 | 1 | | +| main.rs:682:9:682:13 | mut a | main.rs:683:5:683:12 | ExprStmt | match | +| main.rs:682:13:682:13 | a | main.rs:682:9:682:13 | mut a | | +| main.rs:682:17:682:35 | MyStruct {...} | main.rs:682:13:682:13 | a | | +| main.rs:682:33:682:33 | 1 | main.rs:682:17:682:35 | MyStruct {...} | | +| main.rs:683:5:683:5 | a | main.rs:683:5:683:11 | a.bar() | | +| main.rs:683:5:683:11 | a.bar() | main.rs:686:5:686:21 | ExprStmt | | +| main.rs:683:5:683:12 | ExprStmt | main.rs:683:5:683:5 | a | | +| main.rs:686:5:686:13 | print_i64 | main.rs:686:15:686:15 | a | | +| main.rs:686:5:686:20 | print_i64(...) | main.rs:681:30:687:1 | { ... } | | +| main.rs:686:5:686:21 | ExprStmt | main.rs:686:5:686:13 | print_i64 | | +| main.rs:686:15:686:15 | a | main.rs:686:15:686:19 | a.val | | +| main.rs:686:15:686:19 | a.val | main.rs:686:5:686:20 | print_i64(...) | | +| main.rs:703:1:714:1 | enter fn macro_invocation | main.rs:704:5:705:26 | let ... = ... | | +| main.rs:703:1:714:1 | exit fn macro_invocation (normal) | main.rs:703:1:714:1 | exit fn macro_invocation | | +| main.rs:703:23:714:1 | { ... } | main.rs:703:1:714:1 | exit fn macro_invocation (normal) | | +| main.rs:704:5:705:26 | let ... = ... | main.rs:705:23:705:24 | let ... = 37 | | +| main.rs:704:9:704:22 | var_from_macro | main.rs:704:9:704:22 | var_from_macro | | +| main.rs:704:9:704:22 | var_from_macro | main.rs:706:5:706:30 | ExprStmt | match | +| main.rs:705:9:705:25 | MacroExpr | main.rs:704:9:704:22 | var_from_macro | | +| main.rs:705:9:705:25 | let_in_macro!... | main.rs:705:9:705:25 | MacroExpr | | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | match | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:23:705:24 | { ... } | | +| main.rs:705:23:705:24 | 37 | main.rs:705:9:705:25 | var_in_macro | | +| main.rs:705:23:705:24 | let ... = 37 | main.rs:705:23:705:24 | 37 | | +| main.rs:705:23:705:24 | { ... } | main.rs:705:9:705:25 | let_in_macro!... | | +| main.rs:706:5:706:13 | print_i64 | main.rs:706:15:706:28 | var_from_macro | | +| main.rs:706:5:706:29 | print_i64(...) | main.rs:707:5:707:26 | let ... = 33 | | +| main.rs:706:5:706:30 | ExprStmt | main.rs:706:5:706:13 | print_i64 | | +| main.rs:706:15:706:28 | var_from_macro | main.rs:706:5:706:29 | print_i64(...) | | +| main.rs:707:5:707:26 | let ... = 33 | main.rs:707:24:707:25 | 33 | | +| main.rs:707:9:707:20 | var_in_macro | main.rs:707:9:707:20 | var_in_macro | | +| main.rs:707:9:707:20 | var_in_macro | main.rs:712:5:712:44 | ExprStmt | match | +| main.rs:707:24:707:25 | 33 | main.rs:707:9:707:20 | var_in_macro | | +| main.rs:712:5:712:13 | print_i64 | main.rs:712:15:712:42 | let ... = 0 | | +| main.rs:712:5:712:43 | print_i64(...) | main.rs:713:5:713:28 | ExprStmt | | +| main.rs:712:5:712:44 | ExprStmt | main.rs:712:5:712:13 | print_i64 | | +| main.rs:712:15:712:42 | 0 | main.rs:712:15:712:42 | var_in_macro | | +| main.rs:712:15:712:42 | MacroExpr | main.rs:712:5:712:43 | print_i64(...) | | +| main.rs:712:15:712:42 | let ... = 0 | main.rs:712:15:712:42 | 0 | | +| main.rs:712:15:712:42 | let_in_macro2!... | main.rs:712:15:712:42 | MacroExpr | | +| main.rs:712:15:712:42 | var_in_macro | main.rs:712:15:712:42 | var_in_macro | | +| main.rs:712:15:712:42 | var_in_macro | main.rs:712:30:712:41 | var_in_macro | match | +| main.rs:712:30:712:41 | var_in_macro | main.rs:712:30:712:41 | { ... } | | +| main.rs:712:30:712:41 | { ... } | main.rs:712:15:712:42 | let_in_macro2!... | | +| main.rs:713:5:713:13 | print_i64 | main.rs:713:15:713:26 | var_in_macro | | +| main.rs:713:5:713:27 | print_i64(...) | main.rs:703:23:714:1 | { ... } | | +| main.rs:713:5:713:28 | ExprStmt | main.rs:713:5:713:13 | print_i64 | | +| main.rs:713:15:713:26 | var_in_macro | main.rs:713:5:713:27 | print_i64(...) | | +| main.rs:716:1:720:1 | enter fn let_without_initializer | main.rs:717:5:717:10 | let ... | | +| main.rs:716:1:720:1 | exit fn let_without_initializer (normal) | main.rs:716:1:720:1 | exit fn let_without_initializer | | +| main.rs:716:30:720:1 | { ... } | main.rs:716:1:720:1 | exit fn let_without_initializer (normal) | | +| main.rs:717:5:717:10 | let ... | main.rs:717:9:717:9 | x | | +| main.rs:717:9:717:9 | x | main.rs:717:9:717:9 | x | | +| main.rs:717:9:717:9 | x | main.rs:718:5:718:10 | ExprStmt | match | +| main.rs:718:5:718:5 | x | main.rs:718:9:718:9 | 1 | | +| main.rs:718:5:718:9 | ... = ... | main.rs:719:5:719:17 | ExprStmt | | +| main.rs:718:5:718:10 | ExprStmt | main.rs:718:5:718:5 | x | | +| main.rs:718:9:718:9 | 1 | main.rs:718:5:718:9 | ... = ... | | +| main.rs:719:5:719:13 | print_i64 | main.rs:719:15:719:15 | x | | +| main.rs:719:5:719:16 | print_i64(...) | main.rs:716:30:720:1 | { ... } | | +| main.rs:719:5:719:17 | ExprStmt | main.rs:719:5:719:13 | print_i64 | | +| main.rs:719:15:719:15 | x | main.rs:719:5:719:16 | print_i64(...) | | +| main.rs:722:1:732:1 | enter fn capture_phi | main.rs:723:5:723:20 | let ... = 100 | | +| main.rs:722:1:732:1 | exit fn capture_phi (normal) | main.rs:722:1:732:1 | exit fn capture_phi | | +| main.rs:722:18:732:1 | { ... } | main.rs:722:1:732:1 | exit fn capture_phi (normal) | | +| main.rs:723:5:723:20 | let ... = 100 | main.rs:723:17:723:19 | 100 | | +| main.rs:723:9:723:13 | mut x | main.rs:724:5:729:6 | let ... = ... | match | +| main.rs:723:13:723:13 | x | main.rs:723:9:723:13 | mut x | | +| main.rs:723:17:723:19 | 100 | main.rs:723:13:723:13 | x | | +| main.rs:724:5:729:6 | let ... = ... | main.rs:724:19:729:5 | \|...\| ... | | +| main.rs:724:9:724:15 | mut cap | main.rs:730:5:730:14 | ExprStmt | match | +| main.rs:724:13:724:15 | cap | main.rs:724:9:724:15 | mut cap | | +| main.rs:724:19:729:5 | \|...\| ... | main.rs:724:13:724:15 | cap | | +| main.rs:724:19:729:5 | enter \|...\| ... | main.rs:724:20:724:20 | b | | +| main.rs:724:19:729:5 | exit \|...\| ... (normal) | main.rs:724:19:729:5 | exit \|...\| ... | | +| main.rs:724:20:724:20 | b | main.rs:724:20:724:20 | b | | +| main.rs:724:20:724:20 | b | main.rs:724:20:724:26 | ...: bool | match | +| main.rs:724:20:724:26 | ...: bool | main.rs:725:9:728:10 | let _ = ... | | +| main.rs:724:29:729:5 | { ... } | main.rs:724:19:729:5 | exit \|...\| ... (normal) | | +| main.rs:725:9:728:10 | let _ = ... | main.rs:726:20:726:20 | b | | +| main.rs:726:13:726:13 | _ | main.rs:724:29:729:5 | { ... } | match | +| main.rs:726:17:728:9 | if b {...} | main.rs:726:13:726:13 | _ | | +| main.rs:726:20:726:20 | b | main.rs:726:17:728:9 | if b {...} | false | +| main.rs:726:20:726:20 | b | main.rs:727:13:727:20 | ExprStmt | true | +| main.rs:726:22:728:9 | { ... } | main.rs:726:17:728:9 | if b {...} | | +| main.rs:727:13:727:13 | x | main.rs:727:17:727:19 | 200 | | +| main.rs:727:13:727:19 | ... = ... | main.rs:726:22:728:9 | { ... } | | +| main.rs:727:13:727:20 | ExprStmt | main.rs:727:13:727:13 | x | | +| main.rs:727:17:727:19 | 200 | main.rs:727:13:727:19 | ... = ... | | +| main.rs:730:5:730:7 | cap | main.rs:730:9:730:12 | true | | +| main.rs:730:5:730:13 | cap(...) | main.rs:731:5:731:17 | ExprStmt | | +| main.rs:730:5:730:14 | ExprStmt | main.rs:730:5:730:7 | cap | | +| main.rs:730:9:730:12 | true | main.rs:730:5:730:13 | cap(...) | | +| main.rs:731:5:731:13 | print_i64 | main.rs:731:15:731:15 | x | | +| main.rs:731:5:731:16 | print_i64(...) | main.rs:722:18:732:1 | { ... } | | +| main.rs:731:5:731:17 | ExprStmt | main.rs:731:5:731:13 | print_i64 | | +| main.rs:731:15:731:15 | x | main.rs:731:5:731:16 | print_i64(...) | | +| main.rs:734:1:776:1 | enter fn main | main.rs:735:5:735:25 | ExprStmt | | +| main.rs:734:1:776:1 | exit fn main (normal) | main.rs:734:1:776:1 | exit fn main | | +| main.rs:734:11:776:1 | { ... } | main.rs:734:1:776:1 | exit fn main (normal) | | +| main.rs:735:5:735:22 | immutable_variable | main.rs:735:5:735:24 | immutable_variable(...) | | +| main.rs:735:5:735:24 | immutable_variable(...) | main.rs:736:5:736:23 | ExprStmt | | +| main.rs:735:5:735:25 | ExprStmt | main.rs:735:5:735:22 | immutable_variable | | +| main.rs:736:5:736:20 | mutable_variable | main.rs:736:5:736:22 | mutable_variable(...) | | +| main.rs:736:5:736:22 | mutable_variable(...) | main.rs:737:5:737:40 | ExprStmt | | +| main.rs:736:5:736:23 | ExprStmt | main.rs:736:5:736:20 | mutable_variable | | +| main.rs:737:5:737:37 | mutable_variable_immutable_borrow | main.rs:737:5:737:39 | mutable_variable_immutable_borrow(...) | | +| main.rs:737:5:737:39 | mutable_variable_immutable_borrow(...) | main.rs:738:5:738:23 | ExprStmt | | +| main.rs:737:5:737:40 | ExprStmt | main.rs:737:5:737:37 | mutable_variable_immutable_borrow | | +| main.rs:738:5:738:20 | variable_shadow1 | main.rs:738:5:738:22 | variable_shadow1(...) | | +| main.rs:738:5:738:22 | variable_shadow1(...) | main.rs:739:5:739:23 | ExprStmt | | +| main.rs:738:5:738:23 | ExprStmt | main.rs:738:5:738:20 | variable_shadow1 | | +| main.rs:739:5:739:20 | variable_shadow2 | main.rs:739:5:739:22 | variable_shadow2(...) | | +| main.rs:739:5:739:22 | variable_shadow2(...) | main.rs:740:5:740:19 | ExprStmt | | +| main.rs:739:5:739:23 | ExprStmt | main.rs:739:5:739:20 | variable_shadow2 | | +| main.rs:740:5:740:16 | let_pattern1 | main.rs:740:5:740:18 | let_pattern1(...) | | +| main.rs:740:5:740:18 | let_pattern1(...) | main.rs:741:5:741:19 | ExprStmt | | +| main.rs:740:5:740:19 | ExprStmt | main.rs:740:5:740:16 | let_pattern1 | | +| main.rs:741:5:741:16 | let_pattern2 | main.rs:741:5:741:18 | let_pattern2(...) | | +| main.rs:741:5:741:18 | let_pattern2(...) | main.rs:742:5:742:19 | ExprStmt | | +| main.rs:741:5:741:19 | ExprStmt | main.rs:741:5:741:16 | let_pattern2 | | +| main.rs:742:5:742:16 | let_pattern3 | main.rs:742:5:742:18 | let_pattern3(...) | | +| main.rs:742:5:742:18 | let_pattern3(...) | main.rs:743:5:743:19 | ExprStmt | | +| main.rs:742:5:742:19 | ExprStmt | main.rs:742:5:742:16 | let_pattern3 | | +| main.rs:743:5:743:16 | let_pattern4 | main.rs:743:5:743:18 | let_pattern4(...) | | +| main.rs:743:5:743:18 | let_pattern4(...) | main.rs:744:5:744:21 | ExprStmt | | +| main.rs:743:5:743:19 | ExprStmt | main.rs:743:5:743:16 | let_pattern4 | | +| main.rs:744:5:744:18 | match_pattern1 | main.rs:744:5:744:20 | match_pattern1(...) | | +| main.rs:744:5:744:20 | match_pattern1(...) | main.rs:745:5:745:21 | ExprStmt | | +| main.rs:744:5:744:21 | ExprStmt | main.rs:744:5:744:18 | match_pattern1 | | +| main.rs:745:5:745:18 | match_pattern2 | main.rs:745:5:745:20 | match_pattern2(...) | | +| main.rs:745:5:745:20 | match_pattern2(...) | main.rs:746:5:746:21 | ExprStmt | | +| main.rs:745:5:745:21 | ExprStmt | main.rs:745:5:745:18 | match_pattern2 | | +| main.rs:746:5:746:18 | match_pattern3 | main.rs:746:5:746:20 | match_pattern3(...) | | +| main.rs:746:5:746:20 | match_pattern3(...) | main.rs:747:5:747:21 | ExprStmt | | +| main.rs:746:5:746:21 | ExprStmt | main.rs:746:5:746:18 | match_pattern3 | | +| main.rs:747:5:747:18 | match_pattern4 | main.rs:747:5:747:20 | match_pattern4(...) | | +| main.rs:747:5:747:20 | match_pattern4(...) | main.rs:748:5:748:21 | ExprStmt | | +| main.rs:747:5:747:21 | ExprStmt | main.rs:747:5:747:18 | match_pattern4 | | +| main.rs:748:5:748:18 | match_pattern5 | main.rs:748:5:748:20 | match_pattern5(...) | | +| main.rs:748:5:748:20 | match_pattern5(...) | main.rs:749:5:749:21 | ExprStmt | | +| main.rs:748:5:748:21 | ExprStmt | main.rs:748:5:748:18 | match_pattern5 | | +| main.rs:749:5:749:18 | match_pattern6 | main.rs:749:5:749:20 | match_pattern6(...) | | +| main.rs:749:5:749:20 | match_pattern6(...) | main.rs:750:5:750:21 | ExprStmt | | +| main.rs:749:5:749:21 | ExprStmt | main.rs:749:5:749:18 | match_pattern6 | | +| main.rs:750:5:750:18 | match_pattern7 | main.rs:750:5:750:20 | match_pattern7(...) | | +| main.rs:750:5:750:20 | match_pattern7(...) | main.rs:751:5:751:21 | ExprStmt | | +| main.rs:750:5:750:21 | ExprStmt | main.rs:750:5:750:18 | match_pattern7 | | +| main.rs:751:5:751:18 | match_pattern8 | main.rs:751:5:751:20 | match_pattern8(...) | | +| main.rs:751:5:751:20 | match_pattern8(...) | main.rs:752:5:752:21 | ExprStmt | | +| main.rs:751:5:751:21 | ExprStmt | main.rs:751:5:751:18 | match_pattern8 | | +| main.rs:752:5:752:18 | match_pattern9 | main.rs:752:5:752:20 | match_pattern9(...) | | +| main.rs:752:5:752:20 | match_pattern9(...) | main.rs:753:5:753:22 | ExprStmt | | +| main.rs:752:5:752:21 | ExprStmt | main.rs:752:5:752:18 | match_pattern9 | | +| main.rs:753:5:753:19 | match_pattern10 | main.rs:753:5:753:21 | match_pattern10(...) | | +| main.rs:753:5:753:21 | match_pattern10(...) | main.rs:754:5:754:22 | ExprStmt | | +| main.rs:753:5:753:22 | ExprStmt | main.rs:753:5:753:19 | match_pattern10 | | +| main.rs:754:5:754:19 | match_pattern11 | main.rs:754:5:754:21 | match_pattern11(...) | | +| main.rs:754:5:754:21 | match_pattern11(...) | main.rs:755:5:755:22 | ExprStmt | | +| main.rs:754:5:754:22 | ExprStmt | main.rs:754:5:754:19 | match_pattern11 | | +| main.rs:755:5:755:19 | match_pattern12 | main.rs:755:5:755:21 | match_pattern12(...) | | +| main.rs:755:5:755:21 | match_pattern12(...) | main.rs:756:5:756:22 | ExprStmt | | +| main.rs:755:5:755:22 | ExprStmt | main.rs:755:5:755:19 | match_pattern12 | | +| main.rs:756:5:756:19 | match_pattern13 | main.rs:756:5:756:21 | match_pattern13(...) | | +| main.rs:756:5:756:21 | match_pattern13(...) | main.rs:757:5:757:22 | ExprStmt | | +| main.rs:756:5:756:22 | ExprStmt | main.rs:756:5:756:19 | match_pattern13 | | +| main.rs:757:5:757:19 | match_pattern14 | main.rs:757:5:757:21 | match_pattern14(...) | | +| main.rs:757:5:757:21 | match_pattern14(...) | main.rs:758:5:758:36 | ExprStmt | | +| main.rs:757:5:757:22 | ExprStmt | main.rs:757:5:757:19 | match_pattern14 | | +| main.rs:758:5:758:18 | param_pattern1 | main.rs:758:20:758:22 | "a" | | +| main.rs:758:5:758:35 | param_pattern1(...) | main.rs:759:5:759:37 | ExprStmt | | +| main.rs:758:5:758:36 | ExprStmt | main.rs:758:5:758:18 | param_pattern1 | | +| main.rs:758:20:758:22 | "a" | main.rs:758:26:758:28 | "b" | | +| main.rs:758:25:758:34 | TupleExpr | main.rs:758:5:758:35 | param_pattern1(...) | | +| main.rs:758:26:758:28 | "b" | main.rs:758:31:758:33 | "c" | | +| main.rs:758:31:758:33 | "c" | main.rs:758:25:758:34 | TupleExpr | | +| main.rs:759:5:759:18 | param_pattern2 | main.rs:759:20:759:31 | ...::Left | | +| main.rs:759:5:759:36 | param_pattern2(...) | main.rs:760:5:760:26 | ExprStmt | | +| main.rs:759:5:759:37 | ExprStmt | main.rs:759:5:759:18 | param_pattern2 | | +| main.rs:759:20:759:31 | ...::Left | main.rs:759:33:759:34 | 45 | | +| main.rs:759:20:759:35 | ...::Left(...) | main.rs:759:5:759:36 | param_pattern2(...) | | +| main.rs:759:33:759:34 | 45 | main.rs:759:20:759:35 | ...::Left(...) | | +| main.rs:760:5:760:23 | destruct_assignment | main.rs:760:5:760:25 | destruct_assignment(...) | | +| main.rs:760:5:760:25 | destruct_assignment(...) | main.rs:761:5:761:23 | ExprStmt | | +| main.rs:760:5:760:26 | ExprStmt | main.rs:760:5:760:23 | destruct_assignment | | +| main.rs:761:5:761:20 | closure_variable | main.rs:761:5:761:22 | closure_variable(...) | | +| main.rs:761:5:761:22 | closure_variable(...) | main.rs:762:5:762:22 | ExprStmt | | +| main.rs:761:5:761:23 | ExprStmt | main.rs:761:5:761:20 | closure_variable | | +| main.rs:762:5:762:19 | nested_function | main.rs:762:5:762:21 | nested_function(...) | | +| main.rs:762:5:762:21 | nested_function(...) | main.rs:763:5:763:19 | ExprStmt | | +| main.rs:762:5:762:22 | ExprStmt | main.rs:762:5:762:19 | nested_function | | +| main.rs:763:5:763:16 | for_variable | main.rs:763:5:763:18 | for_variable(...) | | +| main.rs:763:5:763:18 | for_variable(...) | main.rs:764:5:764:17 | ExprStmt | | +| main.rs:763:5:763:19 | ExprStmt | main.rs:763:5:763:16 | for_variable | | +| main.rs:764:5:764:14 | add_assign | main.rs:764:5:764:16 | add_assign(...) | | +| main.rs:764:5:764:16 | add_assign(...) | main.rs:765:5:765:13 | ExprStmt | | +| main.rs:764:5:764:17 | ExprStmt | main.rs:764:5:764:14 | add_assign | | +| main.rs:765:5:765:10 | mutate | main.rs:765:5:765:12 | mutate(...) | | +| main.rs:765:5:765:12 | mutate(...) | main.rs:766:5:766:17 | ExprStmt | | +| main.rs:765:5:765:13 | ExprStmt | main.rs:765:5:765:10 | mutate | | +| main.rs:766:5:766:14 | mutate_arg | main.rs:766:5:766:16 | mutate_arg(...) | | +| main.rs:766:5:766:16 | mutate_arg(...) | main.rs:767:5:767:12 | ExprStmt | | +| main.rs:766:5:766:17 | ExprStmt | main.rs:766:5:766:14 | mutate_arg | | +| main.rs:767:5:767:9 | alias | main.rs:767:5:767:11 | alias(...) | | +| main.rs:767:5:767:11 | alias(...) | main.rs:768:5:768:18 | ExprStmt | | +| main.rs:767:5:767:12 | ExprStmt | main.rs:767:5:767:9 | alias | | +| main.rs:768:5:768:15 | capture_mut | main.rs:768:5:768:17 | capture_mut(...) | | +| main.rs:768:5:768:17 | capture_mut(...) | main.rs:769:5:769:20 | ExprStmt | | +| main.rs:768:5:768:18 | ExprStmt | main.rs:768:5:768:15 | capture_mut | | +| main.rs:769:5:769:17 | capture_immut | main.rs:769:5:769:19 | capture_immut(...) | | +| main.rs:769:5:769:19 | capture_immut(...) | main.rs:770:5:770:26 | ExprStmt | | +| main.rs:769:5:769:20 | ExprStmt | main.rs:769:5:769:17 | capture_immut | | +| main.rs:770:5:770:23 | async_block_capture | main.rs:770:5:770:25 | async_block_capture(...) | | +| main.rs:770:5:770:25 | async_block_capture(...) | main.rs:771:5:771:14 | ExprStmt | | +| main.rs:770:5:770:26 | ExprStmt | main.rs:770:5:770:23 | async_block_capture | | +| main.rs:771:5:771:11 | structs | main.rs:771:5:771:13 | structs(...) | | +| main.rs:771:5:771:13 | structs(...) | main.rs:772:5:772:14 | ExprStmt | | +| main.rs:771:5:771:14 | ExprStmt | main.rs:771:5:771:11 | structs | | +| main.rs:772:5:772:11 | ref_arg | main.rs:772:5:772:13 | ref_arg(...) | | +| main.rs:772:5:772:13 | ref_arg(...) | main.rs:773:5:773:30 | ExprStmt | | +| main.rs:772:5:772:14 | ExprStmt | main.rs:772:5:772:11 | ref_arg | | +| main.rs:773:5:773:27 | ref_methodcall_receiver | main.rs:773:5:773:29 | ref_methodcall_receiver(...) | | +| main.rs:773:5:773:29 | ref_methodcall_receiver(...) | main.rs:774:5:774:23 | ExprStmt | | +| main.rs:773:5:773:30 | ExprStmt | main.rs:773:5:773:27 | ref_methodcall_receiver | | +| main.rs:774:5:774:20 | macro_invocation | main.rs:774:5:774:22 | macro_invocation(...) | | +| main.rs:774:5:774:22 | macro_invocation(...) | main.rs:775:5:775:18 | ExprStmt | | +| main.rs:774:5:774:23 | ExprStmt | main.rs:774:5:774:20 | macro_invocation | | +| main.rs:775:5:775:15 | capture_phi | main.rs:775:5:775:17 | capture_phi(...) | | +| main.rs:775:5:775:17 | capture_phi(...) | main.rs:734:11:776:1 | { ... } | | +| main.rs:775:5:775:18 | ExprStmt | main.rs:775:5:775:15 | capture_phi | | breakTarget +| main.rs:324:9:324:13 | break | main.rs:315:5:325:5 | while ... { ... } | continueTarget diff --git a/rust/ql/test/library-tests/variables/Ssa.expected b/rust/ql/test/library-tests/variables/Ssa.expected index cce5db8ffda5..e0867ac71a27 100644 --- a/rust/ql/test/library-tests/variables/Ssa.expected +++ b/rust/ql/test/library-tests/variables/Ssa.expected @@ -1,668 +1,752 @@ definition -| main.rs:3:14:3:14 | s | main.rs:3:14:3:14 | s | -| main.rs:8:14:8:14 | i | main.rs:8:14:8:14 | i | -| main.rs:13:18:13:18 | i | main.rs:13:18:13:18 | i | -| main.rs:18:9:18:10 | x1 | main.rs:18:9:18:10 | x1 | -| main.rs:23:13:23:14 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:25:5:25:6 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:30:13:30:13 | x | main.rs:30:13:30:13 | x | -| main.rs:32:5:32:5 | x | main.rs:30:13:30:13 | x | -| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | +| main.rs:5:14:5:14 | s | main.rs:5:14:5:14 | s | +| main.rs:10:14:10:14 | i | main.rs:10:14:10:14 | i | +| main.rs:15:18:15:18 | i | main.rs:15:18:15:18 | i | +| main.rs:20:9:20:10 | x1 | main.rs:20:9:20:10 | x1 | +| main.rs:25:13:25:14 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:27:5:27:6 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:32:13:32:13 | x | main.rs:32:13:32:13 | x | +| main.rs:34:5:34:5 | x | main.rs:32:13:32:13 | x | | main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | -| main.rs:45:9:45:10 | x4 | main.rs:45:9:45:10 | x4 | -| main.rs:48:13:48:14 | x4 | main.rs:48:13:48:14 | x4 | -| main.rs:62:13:62:14 | a1 | main.rs:62:13:62:14 | a1 | -| main.rs:63:13:63:14 | b1 | main.rs:63:13:63:14 | b1 | -| main.rs:66:13:66:13 | x | main.rs:66:13:66:13 | x | -| main.rs:67:13:67:13 | y | main.rs:67:13:67:13 | y | -| main.rs:77:9:77:10 | p1 | main.rs:77:9:77:10 | p1 | -| main.rs:79:12:79:13 | a2 | main.rs:79:12:79:13 | a2 | -| main.rs:80:12:80:13 | b2 | main.rs:80:12:80:13 | b2 | -| main.rs:87:9:87:10 | s1 | main.rs:87:9:87:10 | s1 | -| main.rs:89:21:89:22 | s2 | main.rs:89:21:89:22 | s2 | -| main.rs:96:14:96:15 | x5 | main.rs:96:14:96:15 | x5 | -| main.rs:106:9:106:10 | s1 | main.rs:106:9:106:10 | s1 | -| main.rs:108:24:108:25 | s2 | main.rs:108:24:108:25 | s2 | -| main.rs:115:9:115:10 | x6 | main.rs:115:9:115:10 | x6 | -| main.rs:116:9:116:10 | y1 | main.rs:116:9:116:10 | y1 | -| main.rs:120:14:120:15 | y1 | main.rs:120:14:120:15 | y1 | -| main.rs:132:9:132:15 | numbers | main.rs:132:9:132:15 | numbers | -| main.rs:137:13:137:17 | first | main.rs:137:13:137:17 | first | -| main.rs:139:13:139:17 | third | main.rs:139:13:139:17 | third | -| main.rs:141:13:141:17 | fifth | main.rs:141:13:141:17 | fifth | -| main.rs:152:13:152:17 | first | main.rs:152:13:152:17 | first | -| main.rs:154:13:154:16 | last | main.rs:154:13:154:16 | last | -| main.rs:163:9:163:10 | p2 | main.rs:163:9:163:10 | p2 | -| main.rs:167:16:167:17 | x7 | main.rs:167:16:167:17 | x7 | -| main.rs:177:9:177:11 | msg | main.rs:177:9:177:11 | msg | -| main.rs:182:17:182:27 | id_variable | main.rs:182:17:182:27 | id_variable | -| main.rs:187:26:187:27 | id | main.rs:187:26:187:27 | id | -| main.rs:201:9:201:14 | either | main.rs:201:9:201:14 | either | -| main.rs:203:9:203:44 | SSA phi(a3) | main.rs:203:9:203:44 | a3 | -| main.rs:203:22:203:23 | a3 | main.rs:203:9:203:44 | a3 | -| main.rs:203:42:203:43 | a3 | main.rs:203:9:203:44 | a3 | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:9:217:81 | a4 | -| main.rs:217:28:217:29 | a4 | main.rs:217:9:217:81 | a4 | -| main.rs:217:54:217:55 | a4 | main.rs:217:9:217:81 | a4 | -| main.rs:217:79:217:80 | a4 | main.rs:217:9:217:81 | a4 | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:9:221:83 | a5 | -| main.rs:221:10:221:57 | [match(true)] SSA phi(a5) | main.rs:221:9:221:83 | a5 | -| main.rs:221:29:221:30 | a5 | main.rs:221:9:221:83 | a5 | -| main.rs:221:55:221:56 | a5 | main.rs:221:9:221:83 | a5 | -| main.rs:221:81:221:82 | a5 | main.rs:221:9:221:83 | a5 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | -| main.rs:225:28:225:29 | a6 | main.rs:225:9:225:83 | a6 | -| main.rs:225:35:225:82 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | -| main.rs:225:55:225:56 | a6 | main.rs:225:9:225:83 | a6 | -| main.rs:225:80:225:81 | a6 | main.rs:225:9:225:83 | a6 | -| main.rs:231:9:231:14 | either | main.rs:231:9:231:14 | either | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:9:233:44 | a7 | -| main.rs:233:22:233:23 | a7 | main.rs:233:9:233:44 | a7 | -| main.rs:233:42:233:43 | a7 | main.rs:233:9:233:44 | a7 | -| main.rs:241:9:241:14 | either | main.rs:241:9:241:14 | either | -| main.rs:244:13:244:13 | e | main.rs:244:13:244:13 | e | -| main.rs:245:14:245:51 | [match(true)] SSA phi(a11) | main.rs:245:14:245:51 | a11 | -| main.rs:245:27:245:29 | a11 | main.rs:245:14:245:51 | a11 | -| main.rs:245:48:245:50 | a11 | main.rs:245:14:245:51 | a11 | -| main.rs:248:33:248:35 | a12 | main.rs:248:33:248:35 | a12 | -| main.rs:265:9:265:10 | fv | main.rs:265:9:265:10 | fv | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:9:267:109 | a13 | -| main.rs:267:27:267:29 | a13 | main.rs:267:9:267:109 | a13 | -| main.rs:267:35:267:82 | [match(true)] SSA phi(a13) | main.rs:267:9:267:109 | a13 | -| main.rs:267:54:267:56 | a13 | main.rs:267:9:267:109 | a13 | -| main.rs:267:79:267:81 | a13 | main.rs:267:9:267:109 | a13 | -| main.rs:267:106:267:108 | a13 | main.rs:267:9:267:109 | a13 | -| main.rs:273:5:273:6 | a8 | main.rs:273:5:273:6 | a8 | -| main.rs:275:9:275:10 | b3 | main.rs:275:9:275:10 | b3 | -| main.rs:276:9:276:10 | c1 | main.rs:276:9:276:10 | c1 | -| main.rs:284:20:284:55 | SSA phi(a9) | main.rs:284:20:284:55 | a9 | -| main.rs:284:33:284:34 | a9 | main.rs:284:20:284:55 | a9 | -| main.rs:284:53:284:54 | a9 | main.rs:284:20:284:55 | a9 | -| main.rs:291:13:291:15 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:292:13:292:14 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:293:13:293:14 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:300:9:300:10 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:314:13:314:15 | a10 | main.rs:314:13:314:15 | a10 | -| main.rs:315:13:315:14 | b4 | main.rs:315:13:315:14 | b4 | -| main.rs:327:9:327:23 | example_closure | main.rs:327:9:327:23 | example_closure | -| main.rs:328:10:328:10 | x | main.rs:328:10:328:10 | x | -| main.rs:330:9:330:10 | n1 | main.rs:330:9:330:10 | n1 | -| main.rs:335:9:335:26 | immutable_variable | main.rs:335:9:335:26 | immutable_variable | -| main.rs:336:6:336:6 | x | main.rs:336:6:336:6 | x | -| main.rs:338:9:338:10 | n2 | main.rs:338:9:338:10 | n2 | -| main.rs:345:9:345:9 | f | main.rs:345:9:345:9 | f | -| main.rs:346:10:346:10 | x | main.rs:346:10:346:10 | x | -| main.rs:350:10:350:10 | x | main.rs:350:10:350:10 | x | -| main.rs:359:14:359:14 | x | main.rs:359:14:359:14 | x | -| main.rs:368:13:368:13 | f | main.rs:368:13:368:13 | f | -| main.rs:369:14:369:14 | x | main.rs:369:14:369:14 | x | -| main.rs:376:9:376:9 | v | main.rs:376:9:376:9 | v | -| main.rs:378:9:378:12 | text | main.rs:378:9:378:12 | text | -| main.rs:385:13:385:13 | a | main.rs:385:13:385:13 | a | -| main.rs:386:5:386:5 | a | main.rs:385:13:385:13 | a | -| main.rs:388:6:388:11 | &mut a | main.rs:385:13:385:13 | a | -| main.rs:393:13:393:13 | i | main.rs:393:13:393:13 | i | -| main.rs:394:9:394:13 | ref_i | main.rs:394:9:394:13 | ref_i | -| main.rs:395:9:395:14 | &mut i | main.rs:393:13:393:13 | i | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | -| main.rs:407:38:407:38 | y | main.rs:407:38:407:38 | y | -| main.rs:416:13:416:13 | x | main.rs:416:13:416:13 | x | -| main.rs:417:9:417:9 | y | main.rs:417:9:417:9 | y | -| main.rs:418:22:418:27 | &mut x | main.rs:416:13:416:13 | x | -| main.rs:423:13:423:13 | z | main.rs:423:13:423:13 | z | -| main.rs:424:9:424:9 | w | main.rs:424:9:424:9 | w | -| main.rs:427:9:427:14 | &mut z | main.rs:423:13:423:13 | z | -| main.rs:436:13:436:13 | x | main.rs:436:13:436:13 | x | -| main.rs:437:9:437:9 | y | main.rs:437:9:437:9 | y | -| main.rs:438:9:438:14 | &mut x | main.rs:436:13:436:13 | x | -| main.rs:444:9:444:9 | x | main.rs:444:9:444:9 | x | -| main.rs:446:9:446:11 | cap | main.rs:446:9:446:11 | cap | -| main.rs:446:15:448:5 | x | main.rs:444:9:444:9 | x | -| main.rs:454:13:454:13 | x | main.rs:454:13:454:13 | x | -| main.rs:456:9:456:16 | closure1 | main.rs:456:9:456:16 | closure1 | -| main.rs:456:20:458:5 | x | main.rs:454:13:454:13 | x | -| main.rs:462:13:462:13 | y | main.rs:462:13:462:13 | y | -| main.rs:464:13:464:20 | closure2 | main.rs:464:13:464:20 | closure2 | -| main.rs:465:9:465:9 | y | main.rs:462:13:462:13 | y | -| main.rs:467:5:467:14 | y | main.rs:462:13:462:13 | y | -| main.rs:470:13:470:13 | z | main.rs:470:13:470:13 | z | -| main.rs:472:13:472:20 | closure3 | main.rs:472:13:472:20 | closure3 | -| main.rs:472:24:474:5 | z | main.rs:470:13:470:13 | z | -| main.rs:480:13:480:13 | i | main.rs:480:13:480:13 | i | -| main.rs:481:9:481:13 | block | main.rs:481:9:481:13 | block | -| main.rs:482:9:482:9 | i | main.rs:480:13:480:13 | i | -| main.rs:485:5:485:15 | i | main.rs:480:13:480:13 | i | -| main.rs:489:8:489:8 | b | main.rs:489:8:489:8 | b | -| main.rs:490:13:490:13 | x | main.rs:490:13:490:13 | x | -| main.rs:494:13:503:5 | SSA phi(x) | main.rs:490:13:490:13 | x | -| main.rs:496:9:496:9 | x | main.rs:490:13:490:13 | x | -| main.rs:500:9:500:9 | x | main.rs:490:13:490:13 | x | -| main.rs:507:13:507:14 | b1 | main.rs:507:13:507:14 | b1 | -| main.rs:507:23:507:24 | b2 | main.rs:507:23:507:24 | b2 | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | -| main.rs:531:20:531:23 | self | main.rs:531:20:531:23 | self | -| main.rs:535:11:535:14 | self | main.rs:535:11:535:14 | self | -| main.rs:539:23:539:26 | self | main.rs:539:23:539:26 | self | -| main.rs:540:17:540:17 | f | main.rs:540:17:540:17 | f | -| main.rs:540:21:543:9 | self | main.rs:539:23:539:26 | self | -| main.rs:540:22:540:22 | n | main.rs:540:22:540:22 | n | -| main.rs:550:13:550:13 | a | main.rs:550:13:550:13 | a | -| main.rs:551:15:551:15 | a | main.rs:550:13:550:13 | a | -| main.rs:554:5:554:5 | a | main.rs:550:13:550:13 | a | -| main.rs:559:13:559:13 | a | main.rs:559:13:559:13 | a | -| main.rs:563:5:563:5 | a | main.rs:559:13:559:13 | a | -| main.rs:568:9:568:9 | x | main.rs:568:9:568:9 | x | -| main.rs:572:9:572:9 | z | main.rs:572:9:572:9 | z | -| main.rs:581:17:581:20 | self | main.rs:581:17:581:20 | self | -| main.rs:587:13:587:13 | a | main.rs:587:13:587:13 | a | -| main.rs:588:5:588:5 | a | main.rs:587:13:587:13 | a | -| main.rs:608:9:608:22 | var_from_macro | main.rs:608:9:608:22 | var_from_macro | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | -| main.rs:611:9:611:20 | var_in_macro | main.rs:611:9:611:20 | var_in_macro | -| main.rs:615:15:615:42 | var_in_macro | main.rs:615:15:615:42 | var_in_macro | -| main.rs:621:5:621:5 | x | main.rs:620:9:620:9 | x | -| main.rs:626:13:626:13 | x | main.rs:626:13:626:13 | x | -| main.rs:627:13:627:15 | cap | main.rs:627:13:627:15 | cap | -| main.rs:627:19:632:5 | x | main.rs:626:13:626:13 | x | -| main.rs:627:20:627:20 | b | main.rs:627:20:627:20 | b | -| main.rs:629:17:631:9 | SSA phi(x) | main.rs:626:13:626:13 | x | -| main.rs:630:13:630:13 | x | main.rs:626:13:626:13 | x | -| main.rs:633:5:633:13 | x | main.rs:626:13:626:13 | x | +| main.rs:41:9:41:10 | x3 | main.rs:41:9:41:10 | x3 | +| main.rs:47:9:47:10 | x4 | main.rs:47:9:47:10 | x4 | +| main.rs:50:13:50:14 | x4 | main.rs:50:13:50:14 | x4 | +| main.rs:64:13:64:14 | a1 | main.rs:64:13:64:14 | a1 | +| main.rs:65:13:65:14 | b1 | main.rs:65:13:65:14 | b1 | +| main.rs:68:13:68:13 | x | main.rs:68:13:68:13 | x | +| main.rs:69:13:69:13 | y | main.rs:69:13:69:13 | y | +| main.rs:79:9:79:10 | p1 | main.rs:79:9:79:10 | p1 | +| main.rs:81:12:81:13 | a2 | main.rs:81:12:81:13 | a2 | +| main.rs:82:12:82:13 | b2 | main.rs:82:12:82:13 | b2 | +| main.rs:89:9:89:10 | s1 | main.rs:89:9:89:10 | s1 | +| main.rs:91:21:91:22 | s2 | main.rs:91:21:91:22 | s2 | +| main.rs:98:9:98:9 | x | main.rs:98:9:98:9 | x | +| main.rs:99:14:99:14 | x | main.rs:99:14:99:14 | x | +| main.rs:102:13:102:13 | x | main.rs:102:13:102:13 | x | +| main.rs:111:9:111:10 | s1 | main.rs:111:9:111:10 | s1 | +| main.rs:113:24:113:25 | s2 | main.rs:113:24:113:25 | s2 | +| main.rs:120:9:120:10 | x6 | main.rs:120:9:120:10 | x6 | +| main.rs:121:9:121:10 | y1 | main.rs:121:9:121:10 | y1 | +| main.rs:125:14:125:15 | y1 | main.rs:125:14:125:15 | y1 | +| main.rs:137:9:137:15 | numbers | main.rs:137:9:137:15 | numbers | +| main.rs:142:13:142:17 | first | main.rs:142:13:142:17 | first | +| main.rs:144:13:144:17 | third | main.rs:144:13:144:17 | third | +| main.rs:146:13:146:17 | fifth | main.rs:146:13:146:17 | fifth | +| main.rs:157:13:157:17 | first | main.rs:157:13:157:17 | first | +| main.rs:159:13:159:16 | last | main.rs:159:13:159:16 | last | +| main.rs:168:9:168:10 | p2 | main.rs:168:9:168:10 | p2 | +| main.rs:172:16:172:17 | x7 | main.rs:172:16:172:17 | x7 | +| main.rs:182:9:182:11 | msg | main.rs:182:9:182:11 | msg | +| main.rs:187:17:187:27 | id_variable | main.rs:187:17:187:27 | id_variable | +| main.rs:192:26:192:27 | id | main.rs:192:26:192:27 | id | +| main.rs:206:9:206:14 | either | main.rs:206:9:206:14 | either | +| main.rs:208:9:208:44 | SSA phi(a3) | main.rs:208:9:208:44 | a3 | +| main.rs:208:22:208:23 | a3 | main.rs:208:9:208:44 | a3 | +| main.rs:208:42:208:43 | a3 | main.rs:208:9:208:44 | a3 | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:9:222:81 | a4 | +| main.rs:222:28:222:29 | a4 | main.rs:222:9:222:81 | a4 | +| main.rs:222:54:222:55 | a4 | main.rs:222:9:222:81 | a4 | +| main.rs:222:79:222:80 | a4 | main.rs:222:9:222:81 | a4 | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:9:226:83 | a5 | +| main.rs:226:10:226:57 | [match(true)] SSA phi(a5) | main.rs:226:9:226:83 | a5 | +| main.rs:226:29:226:30 | a5 | main.rs:226:9:226:83 | a5 | +| main.rs:226:55:226:56 | a5 | main.rs:226:9:226:83 | a5 | +| main.rs:226:81:226:82 | a5 | main.rs:226:9:226:83 | a5 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | +| main.rs:230:28:230:29 | a6 | main.rs:230:9:230:83 | a6 | +| main.rs:230:35:230:82 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | +| main.rs:230:55:230:56 | a6 | main.rs:230:9:230:83 | a6 | +| main.rs:230:80:230:81 | a6 | main.rs:230:9:230:83 | a6 | +| main.rs:236:9:236:14 | either | main.rs:236:9:236:14 | either | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:9:238:44 | a7 | +| main.rs:238:22:238:23 | a7 | main.rs:238:9:238:44 | a7 | +| main.rs:238:42:238:43 | a7 | main.rs:238:9:238:44 | a7 | +| main.rs:246:9:246:14 | either | main.rs:246:9:246:14 | either | +| main.rs:249:13:249:13 | e | main.rs:249:13:249:13 | e | +| main.rs:250:14:250:51 | [match(true)] SSA phi(a11) | main.rs:250:14:250:51 | a11 | +| main.rs:250:27:250:29 | a11 | main.rs:250:14:250:51 | a11 | +| main.rs:250:48:250:50 | a11 | main.rs:250:14:250:51 | a11 | +| main.rs:253:33:253:35 | a12 | main.rs:253:33:253:35 | a12 | +| main.rs:270:9:270:10 | fv | main.rs:270:9:270:10 | fv | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:9:272:109 | a13 | +| main.rs:272:27:272:29 | a13 | main.rs:272:9:272:109 | a13 | +| main.rs:272:35:272:82 | [match(true)] SSA phi(a13) | main.rs:272:9:272:109 | a13 | +| main.rs:272:54:272:56 | a13 | main.rs:272:9:272:109 | a13 | +| main.rs:272:79:272:81 | a13 | main.rs:272:9:272:109 | a13 | +| main.rs:272:106:272:108 | a13 | main.rs:272:9:272:109 | a13 | +| main.rs:279:9:279:9 | x | main.rs:279:9:279:9 | x | +| main.rs:280:17:280:17 | x | main.rs:280:17:280:17 | x | +| main.rs:287:13:287:13 | x | main.rs:287:13:287:13 | x | +| main.rs:295:9:295:9 | x | main.rs:295:9:295:9 | x | +| main.rs:296:17:296:17 | x | main.rs:296:17:296:17 | x | +| main.rs:299:14:299:14 | x | main.rs:299:14:299:14 | x | +| main.rs:306:13:306:13 | x | main.rs:306:13:306:13 | x | +| main.rs:314:9:314:9 | x | main.rs:314:9:314:9 | x | +| main.rs:315:20:315:20 | x | main.rs:315:20:315:20 | x | +| main.rs:318:14:318:14 | x | main.rs:318:14:318:14 | x | +| main.rs:332:9:332:9 | x | main.rs:332:9:332:9 | x | +| main.rs:334:14:334:14 | x | main.rs:334:14:334:14 | x | +| main.rs:335:20:335:20 | x | main.rs:335:20:335:20 | x | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | +| main.rs:347:16:347:16 | x | main.rs:347:16:347:16 | x | +| main.rs:352:20:352:20 | x | main.rs:352:20:352:20 | x | +| main.rs:362:5:362:6 | a8 | main.rs:362:5:362:6 | a8 | +| main.rs:364:9:364:10 | b3 | main.rs:364:9:364:10 | b3 | +| main.rs:365:9:365:10 | c1 | main.rs:365:9:365:10 | c1 | +| main.rs:373:20:373:55 | SSA phi(a9) | main.rs:373:20:373:55 | a9 | +| main.rs:373:33:373:34 | a9 | main.rs:373:20:373:55 | a9 | +| main.rs:373:53:373:54 | a9 | main.rs:373:20:373:55 | a9 | +| main.rs:380:13:380:15 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:381:13:381:14 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:382:13:382:14 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:389:9:389:10 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:403:13:403:15 | a10 | main.rs:403:13:403:15 | a10 | +| main.rs:404:13:404:14 | b4 | main.rs:404:13:404:14 | b4 | +| main.rs:416:9:416:23 | example_closure | main.rs:416:9:416:23 | example_closure | +| main.rs:417:10:417:10 | x | main.rs:417:10:417:10 | x | +| main.rs:419:9:419:10 | n1 | main.rs:419:9:419:10 | n1 | +| main.rs:424:9:424:26 | immutable_variable | main.rs:424:9:424:26 | immutable_variable | +| main.rs:425:6:425:6 | x | main.rs:425:6:425:6 | x | +| main.rs:427:9:427:10 | n2 | main.rs:427:9:427:10 | n2 | +| main.rs:434:9:434:9 | f | main.rs:434:9:434:9 | f | +| main.rs:435:10:435:10 | x | main.rs:435:10:435:10 | x | +| main.rs:439:10:439:10 | x | main.rs:439:10:439:10 | x | +| main.rs:448:14:448:14 | x | main.rs:448:14:448:14 | x | +| main.rs:457:13:457:13 | f | main.rs:457:13:457:13 | f | +| main.rs:458:14:458:14 | x | main.rs:458:14:458:14 | x | +| main.rs:465:9:465:9 | v | main.rs:465:9:465:9 | v | +| main.rs:467:9:467:12 | text | main.rs:467:9:467:12 | text | +| main.rs:474:13:474:13 | a | main.rs:474:13:474:13 | a | +| main.rs:475:5:475:5 | a | main.rs:474:13:474:13 | a | +| main.rs:477:6:477:11 | &mut a | main.rs:474:13:474:13 | a | +| main.rs:482:13:482:13 | i | main.rs:482:13:482:13 | i | +| main.rs:483:9:483:13 | ref_i | main.rs:483:9:483:13 | ref_i | +| main.rs:484:9:484:14 | &mut i | main.rs:482:13:482:13 | i | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | +| main.rs:496:38:496:38 | y | main.rs:496:38:496:38 | y | +| main.rs:505:13:505:13 | x | main.rs:505:13:505:13 | x | +| main.rs:506:9:506:9 | y | main.rs:506:9:506:9 | y | +| main.rs:507:22:507:27 | &mut x | main.rs:505:13:505:13 | x | +| main.rs:513:13:513:13 | z | main.rs:513:13:513:13 | z | +| main.rs:514:9:514:9 | w | main.rs:514:9:514:9 | w | +| main.rs:517:9:517:14 | &mut z | main.rs:513:13:513:13 | z | +| main.rs:527:13:527:13 | x | main.rs:527:13:527:13 | x | +| main.rs:528:9:528:9 | y | main.rs:528:9:528:9 | y | +| main.rs:529:9:529:14 | &mut x | main.rs:527:13:527:13 | x | +| main.rs:535:9:535:9 | x | main.rs:535:9:535:9 | x | +| main.rs:538:9:538:11 | cap | main.rs:538:9:538:11 | cap | +| main.rs:538:15:540:5 | x | main.rs:535:9:535:9 | x | +| main.rs:546:13:546:13 | x | main.rs:546:13:546:13 | x | +| main.rs:549:9:549:16 | closure1 | main.rs:549:9:549:16 | closure1 | +| main.rs:549:20:551:5 | x | main.rs:546:13:546:13 | x | +| main.rs:555:13:555:13 | y | main.rs:555:13:555:13 | y | +| main.rs:558:13:558:20 | closure2 | main.rs:558:13:558:20 | closure2 | +| main.rs:559:9:559:9 | y | main.rs:555:13:555:13 | y | +| main.rs:561:5:561:14 | y | main.rs:555:13:555:13 | y | +| main.rs:564:13:564:13 | z | main.rs:564:13:564:13 | z | +| main.rs:567:13:567:20 | closure3 | main.rs:567:13:567:20 | closure3 | +| main.rs:567:24:569:5 | z | main.rs:564:13:564:13 | z | +| main.rs:575:13:575:13 | i | main.rs:575:13:575:13 | i | +| main.rs:576:9:576:13 | block | main.rs:576:9:576:13 | block | +| main.rs:577:9:577:9 | i | main.rs:575:13:575:13 | i | +| main.rs:580:5:580:15 | i | main.rs:575:13:575:13 | i | +| main.rs:584:8:584:8 | b | main.rs:584:8:584:8 | b | +| main.rs:585:13:585:13 | x | main.rs:585:13:585:13 | x | +| main.rs:589:13:598:5 | SSA phi(x) | main.rs:585:13:585:13 | x | +| main.rs:591:9:591:9 | x | main.rs:585:13:585:13 | x | +| main.rs:595:9:595:9 | x | main.rs:585:13:585:13 | x | +| main.rs:602:13:602:14 | b1 | main.rs:602:13:602:14 | b1 | +| main.rs:602:23:602:24 | b2 | main.rs:602:23:602:24 | b2 | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | +| main.rs:626:20:626:23 | self | main.rs:626:20:626:23 | self | +| main.rs:630:11:630:14 | self | main.rs:630:11:630:14 | self | +| main.rs:634:23:634:26 | self | main.rs:634:23:634:26 | self | +| main.rs:635:17:635:17 | f | main.rs:635:17:635:17 | f | +| main.rs:635:21:638:9 | self | main.rs:634:23:634:26 | self | +| main.rs:635:22:635:22 | n | main.rs:635:22:635:22 | n | +| main.rs:645:13:645:13 | a | main.rs:645:13:645:13 | a | +| main.rs:646:15:646:15 | a | main.rs:645:13:645:13 | a | +| main.rs:649:5:649:5 | a | main.rs:645:13:645:13 | a | +| main.rs:654:13:654:13 | a | main.rs:654:13:654:13 | a | +| main.rs:658:5:658:5 | a | main.rs:654:13:654:13 | a | +| main.rs:663:9:663:9 | x | main.rs:663:9:663:9 | x | +| main.rs:667:9:667:9 | z | main.rs:667:9:667:9 | z | +| main.rs:676:17:676:20 | self | main.rs:676:17:676:20 | self | +| main.rs:682:13:682:13 | a | main.rs:682:13:682:13 | a | +| main.rs:683:5:683:5 | a | main.rs:682:13:682:13 | a | +| main.rs:704:9:704:22 | var_from_macro | main.rs:704:9:704:22 | var_from_macro | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | +| main.rs:707:9:707:20 | var_in_macro | main.rs:707:9:707:20 | var_in_macro | +| main.rs:712:15:712:42 | var_in_macro | main.rs:712:15:712:42 | var_in_macro | +| main.rs:718:5:718:5 | x | main.rs:717:9:717:9 | x | +| main.rs:723:13:723:13 | x | main.rs:723:13:723:13 | x | +| main.rs:724:13:724:15 | cap | main.rs:724:13:724:15 | cap | +| main.rs:724:19:729:5 | x | main.rs:723:13:723:13 | x | +| main.rs:724:20:724:20 | b | main.rs:724:20:724:20 | b | +| main.rs:726:17:728:9 | SSA phi(x) | main.rs:723:13:723:13 | x | +| main.rs:727:13:727:13 | x | main.rs:723:13:723:13 | x | +| main.rs:730:5:730:13 | x | main.rs:723:13:723:13 | x | read -| main.rs:3:14:3:14 | s | main.rs:3:14:3:14 | s | main.rs:5:20:5:20 | s | -| main.rs:8:14:8:14 | i | main.rs:8:14:8:14 | i | main.rs:10:20:10:20 | i | -| main.rs:13:18:13:18 | i | main.rs:13:18:13:18 | i | main.rs:14:16:14:16 | i | -| main.rs:18:9:18:10 | x1 | main.rs:18:9:18:10 | x1 | main.rs:19:15:19:16 | x1 | -| main.rs:23:13:23:14 | x2 | main.rs:23:13:23:14 | x2 | main.rs:24:15:24:16 | x2 | -| main.rs:25:5:25:6 | x2 | main.rs:23:13:23:14 | x2 | main.rs:26:15:26:16 | x2 | -| main.rs:30:13:30:13 | x | main.rs:30:13:30:13 | x | main.rs:31:20:31:20 | x | -| main.rs:32:5:32:5 | x | main.rs:30:13:30:13 | x | main.rs:33:20:33:20 | x | -| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | main.rs:38:15:38:16 | x3 | -| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | main.rs:40:9:40:10 | x3 | -| main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | main.rs:41:15:41:16 | x3 | -| main.rs:45:9:45:10 | x4 | main.rs:45:9:45:10 | x4 | main.rs:46:15:46:16 | x4 | -| main.rs:45:9:45:10 | x4 | main.rs:45:9:45:10 | x4 | main.rs:51:15:51:16 | x4 | -| main.rs:48:13:48:14 | x4 | main.rs:48:13:48:14 | x4 | main.rs:49:19:49:20 | x4 | -| main.rs:62:13:62:14 | a1 | main.rs:62:13:62:14 | a1 | main.rs:70:15:70:16 | a1 | -| main.rs:63:13:63:14 | b1 | main.rs:63:13:63:14 | b1 | main.rs:71:15:71:16 | b1 | -| main.rs:66:13:66:13 | x | main.rs:66:13:66:13 | x | main.rs:72:15:72:15 | x | -| main.rs:67:13:67:13 | y | main.rs:67:13:67:13 | y | main.rs:73:15:73:15 | y | -| main.rs:77:9:77:10 | p1 | main.rs:77:9:77:10 | p1 | main.rs:81:9:81:10 | p1 | -| main.rs:79:12:79:13 | a2 | main.rs:79:12:79:13 | a2 | main.rs:82:15:82:16 | a2 | -| main.rs:80:12:80:13 | b2 | main.rs:80:12:80:13 | b2 | main.rs:83:15:83:16 | b2 | -| main.rs:87:9:87:10 | s1 | main.rs:87:9:87:10 | s1 | main.rs:90:11:90:12 | s1 | -| main.rs:89:21:89:22 | s2 | main.rs:89:21:89:22 | s2 | main.rs:91:19:91:20 | s2 | -| main.rs:96:14:96:15 | x5 | main.rs:96:14:96:15 | x5 | main.rs:102:15:102:16 | x5 | -| main.rs:106:9:106:10 | s1 | main.rs:106:9:106:10 | s1 | main.rs:109:11:109:12 | s1 | -| main.rs:108:24:108:25 | s2 | main.rs:108:24:108:25 | s2 | main.rs:110:19:110:20 | s2 | -| main.rs:115:9:115:10 | x6 | main.rs:115:9:115:10 | x6 | main.rs:118:11:118:12 | x6 | -| main.rs:116:9:116:10 | y1 | main.rs:116:9:116:10 | y1 | main.rs:128:15:128:16 | y1 | -| main.rs:120:14:120:15 | y1 | main.rs:120:14:120:15 | y1 | main.rs:123:23:123:24 | y1 | -| main.rs:132:9:132:15 | numbers | main.rs:132:9:132:15 | numbers | main.rs:134:11:134:17 | numbers | -| main.rs:132:9:132:15 | numbers | main.rs:132:9:132:15 | numbers | main.rs:149:11:149:17 | numbers | -| main.rs:137:13:137:17 | first | main.rs:137:13:137:17 | first | main.rs:143:23:143:27 | first | -| main.rs:139:13:139:17 | third | main.rs:139:13:139:17 | third | main.rs:144:23:144:27 | third | -| main.rs:141:13:141:17 | fifth | main.rs:141:13:141:17 | fifth | main.rs:145:23:145:27 | fifth | -| main.rs:152:13:152:17 | first | main.rs:152:13:152:17 | first | main.rs:156:23:156:27 | first | -| main.rs:154:13:154:16 | last | main.rs:154:13:154:16 | last | main.rs:157:23:157:26 | last | -| main.rs:163:9:163:10 | p2 | main.rs:163:9:163:10 | p2 | main.rs:165:11:165:12 | p2 | -| main.rs:167:16:167:17 | x7 | main.rs:167:16:167:17 | x7 | main.rs:168:24:168:25 | x7 | -| main.rs:177:9:177:11 | msg | main.rs:177:9:177:11 | msg | main.rs:179:11:179:13 | msg | -| main.rs:182:17:182:27 | id_variable | main.rs:182:17:182:27 | id_variable | main.rs:183:24:183:34 | id_variable | -| main.rs:187:26:187:27 | id | main.rs:187:26:187:27 | id | main.rs:190:23:190:24 | id | -| main.rs:201:9:201:14 | either | main.rs:201:9:201:14 | either | main.rs:202:11:202:16 | either | -| main.rs:203:9:203:44 | SSA phi(a3) | main.rs:203:9:203:44 | a3 | main.rs:204:26:204:27 | a3 | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | main.rs:216:11:216:12 | tv | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | main.rs:220:11:220:12 | tv | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | main.rs:224:11:224:12 | tv | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:9:217:81 | a4 | main.rs:218:26:218:27 | a4 | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:9:221:83 | a5 | main.rs:222:26:222:27 | a5 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | main.rs:226:26:226:27 | a6 | -| main.rs:231:9:231:14 | either | main.rs:231:9:231:14 | either | main.rs:232:11:232:16 | either | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:9:233:44 | a7 | main.rs:234:16:234:17 | a7 | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:9:233:44 | a7 | main.rs:235:26:235:27 | a7 | -| main.rs:241:9:241:14 | either | main.rs:241:9:241:14 | either | main.rs:243:11:243:16 | either | -| main.rs:244:13:244:13 | e | main.rs:244:13:244:13 | e | main.rs:249:15:249:15 | e | -| main.rs:245:14:245:51 | [match(true)] SSA phi(a11) | main.rs:245:14:245:51 | a11 | main.rs:247:23:247:25 | a11 | -| main.rs:248:33:248:35 | a12 | main.rs:248:33:248:35 | a12 | main.rs:250:28:250:30 | a12 | -| main.rs:265:9:265:10 | fv | main.rs:265:9:265:10 | fv | main.rs:266:11:266:12 | fv | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:9:267:109 | a13 | main.rs:268:26:268:28 | a13 | -| main.rs:273:5:273:6 | a8 | main.rs:273:5:273:6 | a8 | main.rs:279:15:279:16 | a8 | -| main.rs:275:9:275:10 | b3 | main.rs:275:9:275:10 | b3 | main.rs:280:15:280:16 | b3 | -| main.rs:276:9:276:10 | c1 | main.rs:276:9:276:10 | c1 | main.rs:281:15:281:16 | c1 | -| main.rs:284:20:284:55 | SSA phi(a9) | main.rs:284:20:284:55 | a9 | main.rs:286:15:286:16 | a9 | -| main.rs:291:13:291:15 | a10 | main.rs:291:13:291:15 | a10 | main.rs:295:15:295:17 | a10 | -| main.rs:292:13:292:14 | b4 | main.rs:292:13:292:14 | b4 | main.rs:296:15:296:16 | b4 | -| main.rs:293:13:293:14 | c2 | main.rs:293:13:293:14 | c2 | main.rs:297:15:297:16 | c2 | -| main.rs:300:9:300:10 | c2 | main.rs:293:13:293:14 | c2 | main.rs:306:9:306:10 | c2 | -| main.rs:300:9:300:10 | c2 | main.rs:293:13:293:14 | c2 | main.rs:310:15:310:16 | c2 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | main.rs:305:9:305:10 | b4 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | main.rs:309:15:309:16 | b4 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | main.rs:323:15:323:16 | b4 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | main.rs:304:9:304:11 | a10 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | main.rs:308:15:308:17 | a10 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | main.rs:322:15:322:17 | a10 | -| main.rs:314:13:314:15 | a10 | main.rs:314:13:314:15 | a10 | main.rs:317:23:317:25 | a10 | -| main.rs:315:13:315:14 | b4 | main.rs:315:13:315:14 | b4 | main.rs:318:23:318:24 | b4 | -| main.rs:327:9:327:23 | example_closure | main.rs:327:9:327:23 | example_closure | main.rs:331:9:331:23 | example_closure | -| main.rs:328:10:328:10 | x | main.rs:328:10:328:10 | x | main.rs:329:9:329:9 | x | -| main.rs:330:9:330:10 | n1 | main.rs:330:9:330:10 | n1 | main.rs:332:15:332:16 | n1 | -| main.rs:335:9:335:26 | immutable_variable | main.rs:335:9:335:26 | immutable_variable | main.rs:339:9:339:26 | immutable_variable | -| main.rs:336:6:336:6 | x | main.rs:336:6:336:6 | x | main.rs:337:9:337:9 | x | -| main.rs:338:9:338:10 | n2 | main.rs:338:9:338:10 | n2 | main.rs:340:15:340:16 | n2 | -| main.rs:345:9:345:9 | f | main.rs:345:9:345:9 | f | main.rs:348:15:348:15 | f | -| main.rs:345:9:345:9 | f | main.rs:345:9:345:9 | f | main.rs:355:15:355:15 | f | -| main.rs:346:10:346:10 | x | main.rs:346:10:346:10 | x | main.rs:347:9:347:9 | x | -| main.rs:350:10:350:10 | x | main.rs:350:10:350:10 | x | main.rs:352:9:352:9 | x | -| main.rs:359:14:359:14 | x | main.rs:359:14:359:14 | x | main.rs:361:17:361:17 | x | -| main.rs:368:13:368:13 | f | main.rs:368:13:368:13 | f | main.rs:371:19:371:19 | f | -| main.rs:369:14:369:14 | x | main.rs:369:14:369:14 | x | main.rs:370:13:370:13 | x | -| main.rs:376:9:376:9 | v | main.rs:376:9:376:9 | v | main.rs:379:12:379:12 | v | -| main.rs:378:9:378:12 | text | main.rs:378:9:378:12 | text | main.rs:380:19:380:22 | text | -| main.rs:385:13:385:13 | a | main.rs:385:13:385:13 | a | main.rs:386:5:386:5 | a | -| main.rs:386:5:386:5 | a | main.rs:385:13:385:13 | a | main.rs:387:15:387:15 | a | -| main.rs:386:5:386:5 | a | main.rs:385:13:385:13 | a | main.rs:388:11:388:11 | a | -| main.rs:388:6:388:11 | &mut a | main.rs:385:13:385:13 | a | main.rs:389:15:389:15 | a | -| main.rs:393:13:393:13 | i | main.rs:393:13:393:13 | i | main.rs:395:14:395:14 | i | -| main.rs:394:9:394:13 | ref_i | main.rs:394:9:394:13 | ref_i | main.rs:396:6:396:10 | ref_i | -| main.rs:395:9:395:14 | &mut i | main.rs:393:13:393:13 | i | main.rs:397:15:397:15 | i | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:401:6:401:6 | x | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:402:10:402:10 | x | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:403:10:403:10 | x | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:404:12:404:12 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:408:6:408:6 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:409:10:409:10 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:410:10:410:10 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:412:9:412:9 | x | -| main.rs:407:38:407:38 | y | main.rs:407:38:407:38 | y | main.rs:411:6:411:6 | y | -| main.rs:416:13:416:13 | x | main.rs:416:13:416:13 | x | main.rs:418:27:418:27 | x | -| main.rs:417:9:417:9 | y | main.rs:417:9:417:9 | y | main.rs:419:6:419:6 | y | -| main.rs:418:22:418:27 | &mut x | main.rs:416:13:416:13 | x | main.rs:421:15:421:15 | x | -| main.rs:418:22:418:27 | &mut x | main.rs:416:13:416:13 | x | main.rs:425:19:425:19 | x | -| main.rs:423:13:423:13 | z | main.rs:423:13:423:13 | z | main.rs:427:14:427:14 | z | -| main.rs:424:9:424:9 | w | main.rs:424:9:424:9 | w | main.rs:428:9:428:9 | w | -| main.rs:424:9:424:9 | w | main.rs:424:9:424:9 | w | main.rs:430:7:430:7 | w | -| main.rs:427:9:427:14 | &mut z | main.rs:423:13:423:13 | z | main.rs:432:15:432:15 | z | -| main.rs:436:13:436:13 | x | main.rs:436:13:436:13 | x | main.rs:438:14:438:14 | x | -| main.rs:437:9:437:9 | y | main.rs:437:9:437:9 | y | main.rs:439:6:439:6 | y | -| main.rs:438:9:438:14 | &mut x | main.rs:436:13:436:13 | x | main.rs:440:15:440:15 | x | -| main.rs:444:9:444:9 | x | main.rs:444:9:444:9 | x | main.rs:450:15:450:15 | x | -| main.rs:446:9:446:11 | cap | main.rs:446:9:446:11 | cap | main.rs:449:5:449:7 | cap | -| main.rs:446:15:448:5 | x | main.rs:444:9:444:9 | x | main.rs:447:19:447:19 | x | -| main.rs:454:13:454:13 | x | main.rs:454:13:454:13 | x | main.rs:460:15:460:15 | x | -| main.rs:456:9:456:16 | closure1 | main.rs:456:9:456:16 | closure1 | main.rs:459:5:459:12 | closure1 | -| main.rs:456:20:458:5 | x | main.rs:454:13:454:13 | x | main.rs:457:19:457:19 | x | -| main.rs:464:13:464:20 | closure2 | main.rs:464:13:464:20 | closure2 | main.rs:467:5:467:12 | closure2 | -| main.rs:467:5:467:14 | y | main.rs:462:13:462:13 | y | main.rs:468:15:468:15 | y | -| main.rs:470:13:470:13 | z | main.rs:470:13:470:13 | z | main.rs:476:15:476:15 | z | -| main.rs:472:13:472:20 | closure3 | main.rs:472:13:472:20 | closure3 | main.rs:475:5:475:12 | closure3 | -| main.rs:472:24:474:5 | z | main.rs:470:13:470:13 | z | main.rs:473:9:473:9 | z | -| main.rs:481:9:481:13 | block | main.rs:481:9:481:13 | block | main.rs:485:5:485:9 | block | -| main.rs:485:5:485:15 | i | main.rs:480:13:480:13 | i | main.rs:486:15:486:15 | i | -| main.rs:489:8:489:8 | b | main.rs:489:8:489:8 | b | main.rs:494:16:494:16 | b | -| main.rs:490:13:490:13 | x | main.rs:490:13:490:13 | x | main.rs:491:15:491:15 | x | -| main.rs:490:13:490:13 | x | main.rs:490:13:490:13 | x | main.rs:492:15:492:15 | x | -| main.rs:494:13:503:5 | SSA phi(x) | main.rs:490:13:490:13 | x | main.rs:504:15:504:15 | x | -| main.rs:496:9:496:9 | x | main.rs:490:13:490:13 | x | main.rs:497:19:497:19 | x | -| main.rs:496:9:496:9 | x | main.rs:490:13:490:13 | x | main.rs:498:19:498:19 | x | -| main.rs:500:9:500:9 | x | main.rs:490:13:490:13 | x | main.rs:501:19:501:19 | x | -| main.rs:500:9:500:9 | x | main.rs:490:13:490:13 | x | main.rs:502:19:502:19 | x | -| main.rs:507:13:507:14 | b1 | main.rs:507:13:507:14 | b1 | main.rs:510:16:510:17 | b1 | -| main.rs:507:23:507:24 | b2 | main.rs:507:23:507:24 | b2 | main.rs:518:16:518:17 | b2 | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:512:19:512:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:514:19:514:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:520:19:520:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:522:19:522:19 | x | -| main.rs:531:20:531:23 | self | main.rs:531:20:531:23 | self | main.rs:532:16:532:19 | self | -| main.rs:535:11:535:14 | self | main.rs:535:11:535:14 | self | main.rs:536:9:536:12 | self | -| main.rs:540:17:540:17 | f | main.rs:540:17:540:17 | f | main.rs:544:9:544:9 | f | -| main.rs:540:17:540:17 | f | main.rs:540:17:540:17 | f | main.rs:545:9:545:9 | f | -| main.rs:540:21:543:9 | self | main.rs:539:23:539:26 | self | main.rs:542:13:542:16 | self | -| main.rs:540:22:540:22 | n | main.rs:540:22:540:22 | n | main.rs:542:25:542:25 | n | -| main.rs:550:13:550:13 | a | main.rs:550:13:550:13 | a | main.rs:551:15:551:15 | a | -| main.rs:551:15:551:15 | a | main.rs:550:13:550:13 | a | main.rs:552:5:552:5 | a | -| main.rs:551:15:551:15 | a | main.rs:550:13:550:13 | a | main.rs:553:15:553:15 | a | -| main.rs:554:5:554:5 | a | main.rs:550:13:550:13 | a | main.rs:555:15:555:15 | a | -| main.rs:559:13:559:13 | a | main.rs:559:13:559:13 | a | main.rs:560:15:560:15 | a | -| main.rs:559:13:559:13 | a | main.rs:559:13:559:13 | a | main.rs:561:5:561:5 | a | -| main.rs:559:13:559:13 | a | main.rs:559:13:559:13 | a | main.rs:562:15:562:15 | a | -| main.rs:563:5:563:5 | a | main.rs:559:13:559:13 | a | main.rs:564:15:564:15 | a | -| main.rs:568:9:568:9 | x | main.rs:568:9:568:9 | x | main.rs:569:20:569:20 | x | -| main.rs:568:9:568:9 | x | main.rs:568:9:568:9 | x | main.rs:570:15:570:15 | x | -| main.rs:572:9:572:9 | z | main.rs:572:9:572:9 | z | main.rs:573:20:573:20 | z | -| main.rs:581:17:581:20 | self | main.rs:581:17:581:20 | self | main.rs:582:10:582:13 | self | -| main.rs:587:13:587:13 | a | main.rs:587:13:587:13 | a | main.rs:588:5:588:5 | a | -| main.rs:588:5:588:5 | a | main.rs:587:13:587:13 | a | main.rs:590:15:590:15 | a | -| main.rs:608:9:608:22 | var_from_macro | main.rs:608:9:608:22 | var_from_macro | main.rs:610:15:610:28 | var_from_macro | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | -| main.rs:611:9:611:20 | var_in_macro | main.rs:611:9:611:20 | var_in_macro | main.rs:616:15:616:26 | var_in_macro | -| main.rs:615:15:615:42 | var_in_macro | main.rs:615:15:615:42 | var_in_macro | main.rs:615:30:615:41 | var_in_macro | -| main.rs:621:5:621:5 | x | main.rs:620:9:620:9 | x | main.rs:622:15:622:15 | x | -| main.rs:627:13:627:15 | cap | main.rs:627:13:627:15 | cap | main.rs:633:5:633:7 | cap | -| main.rs:627:20:627:20 | b | main.rs:627:20:627:20 | b | main.rs:629:20:629:20 | b | -| main.rs:633:5:633:13 | x | main.rs:626:13:626:13 | x | main.rs:634:15:634:15 | x | +| main.rs:5:14:5:14 | s | main.rs:5:14:5:14 | s | main.rs:7:20:7:20 | s | +| main.rs:10:14:10:14 | i | main.rs:10:14:10:14 | i | main.rs:12:20:12:20 | i | +| main.rs:15:18:15:18 | i | main.rs:15:18:15:18 | i | main.rs:16:16:16:16 | i | +| main.rs:20:9:20:10 | x1 | main.rs:20:9:20:10 | x1 | main.rs:21:15:21:16 | x1 | +| main.rs:25:13:25:14 | x2 | main.rs:25:13:25:14 | x2 | main.rs:26:15:26:16 | x2 | +| main.rs:27:5:27:6 | x2 | main.rs:25:13:25:14 | x2 | main.rs:28:15:28:16 | x2 | +| main.rs:32:13:32:13 | x | main.rs:32:13:32:13 | x | main.rs:33:20:33:20 | x | +| main.rs:34:5:34:5 | x | main.rs:32:13:32:13 | x | main.rs:35:20:35:20 | x | +| main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | main.rs:40:15:40:16 | x3 | +| main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | main.rs:42:9:42:10 | x3 | +| main.rs:41:9:41:10 | x3 | main.rs:41:9:41:10 | x3 | main.rs:43:15:43:16 | x3 | +| main.rs:47:9:47:10 | x4 | main.rs:47:9:47:10 | x4 | main.rs:48:15:48:16 | x4 | +| main.rs:47:9:47:10 | x4 | main.rs:47:9:47:10 | x4 | main.rs:53:15:53:16 | x4 | +| main.rs:50:13:50:14 | x4 | main.rs:50:13:50:14 | x4 | main.rs:51:19:51:20 | x4 | +| main.rs:64:13:64:14 | a1 | main.rs:64:13:64:14 | a1 | main.rs:72:15:72:16 | a1 | +| main.rs:65:13:65:14 | b1 | main.rs:65:13:65:14 | b1 | main.rs:73:15:73:16 | b1 | +| main.rs:68:13:68:13 | x | main.rs:68:13:68:13 | x | main.rs:74:15:74:15 | x | +| main.rs:69:13:69:13 | y | main.rs:69:13:69:13 | y | main.rs:75:15:75:15 | y | +| main.rs:79:9:79:10 | p1 | main.rs:79:9:79:10 | p1 | main.rs:83:9:83:10 | p1 | +| main.rs:81:12:81:13 | a2 | main.rs:81:12:81:13 | a2 | main.rs:84:15:84:16 | a2 | +| main.rs:82:12:82:13 | b2 | main.rs:82:12:82:13 | b2 | main.rs:85:15:85:16 | b2 | +| main.rs:89:9:89:10 | s1 | main.rs:89:9:89:10 | s1 | main.rs:92:11:92:12 | s1 | +| main.rs:91:21:91:22 | s2 | main.rs:91:21:91:22 | s2 | main.rs:93:19:93:20 | s2 | +| main.rs:98:9:98:9 | x | main.rs:98:9:98:9 | x | main.rs:100:7:100:7 | x | +| main.rs:98:9:98:9 | x | main.rs:98:9:98:9 | x | main.rs:103:13:103:13 | x | +| main.rs:99:14:99:14 | x | main.rs:99:14:99:14 | x | main.rs:107:15:107:15 | x | +| main.rs:102:13:102:13 | x | main.rs:102:13:102:13 | x | main.rs:104:19:104:19 | x | +| main.rs:111:9:111:10 | s1 | main.rs:111:9:111:10 | s1 | main.rs:114:11:114:12 | s1 | +| main.rs:113:24:113:25 | s2 | main.rs:113:24:113:25 | s2 | main.rs:115:19:115:20 | s2 | +| main.rs:120:9:120:10 | x6 | main.rs:120:9:120:10 | x6 | main.rs:123:11:123:12 | x6 | +| main.rs:121:9:121:10 | y1 | main.rs:121:9:121:10 | y1 | main.rs:133:15:133:16 | y1 | +| main.rs:125:14:125:15 | y1 | main.rs:125:14:125:15 | y1 | main.rs:128:23:128:24 | y1 | +| main.rs:137:9:137:15 | numbers | main.rs:137:9:137:15 | numbers | main.rs:139:11:139:17 | numbers | +| main.rs:137:9:137:15 | numbers | main.rs:137:9:137:15 | numbers | main.rs:154:11:154:17 | numbers | +| main.rs:142:13:142:17 | first | main.rs:142:13:142:17 | first | main.rs:148:23:148:27 | first | +| main.rs:144:13:144:17 | third | main.rs:144:13:144:17 | third | main.rs:149:23:149:27 | third | +| main.rs:146:13:146:17 | fifth | main.rs:146:13:146:17 | fifth | main.rs:150:23:150:27 | fifth | +| main.rs:157:13:157:17 | first | main.rs:157:13:157:17 | first | main.rs:161:23:161:27 | first | +| main.rs:159:13:159:16 | last | main.rs:159:13:159:16 | last | main.rs:162:23:162:26 | last | +| main.rs:168:9:168:10 | p2 | main.rs:168:9:168:10 | p2 | main.rs:170:11:170:12 | p2 | +| main.rs:172:16:172:17 | x7 | main.rs:172:16:172:17 | x7 | main.rs:173:24:173:25 | x7 | +| main.rs:182:9:182:11 | msg | main.rs:182:9:182:11 | msg | main.rs:184:11:184:13 | msg | +| main.rs:187:17:187:27 | id_variable | main.rs:187:17:187:27 | id_variable | main.rs:188:24:188:34 | id_variable | +| main.rs:192:26:192:27 | id | main.rs:192:26:192:27 | id | main.rs:195:23:195:24 | id | +| main.rs:206:9:206:14 | either | main.rs:206:9:206:14 | either | main.rs:207:11:207:16 | either | +| main.rs:208:9:208:44 | SSA phi(a3) | main.rs:208:9:208:44 | a3 | main.rs:209:26:209:27 | a3 | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | main.rs:221:11:221:12 | tv | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | main.rs:225:11:225:12 | tv | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | main.rs:229:11:229:12 | tv | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:9:222:81 | a4 | main.rs:223:26:223:27 | a4 | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:9:226:83 | a5 | main.rs:227:26:227:27 | a5 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | main.rs:231:26:231:27 | a6 | +| main.rs:236:9:236:14 | either | main.rs:236:9:236:14 | either | main.rs:237:11:237:16 | either | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:9:238:44 | a7 | main.rs:239:16:239:17 | a7 | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:9:238:44 | a7 | main.rs:240:26:240:27 | a7 | +| main.rs:246:9:246:14 | either | main.rs:246:9:246:14 | either | main.rs:248:11:248:16 | either | +| main.rs:249:13:249:13 | e | main.rs:249:13:249:13 | e | main.rs:254:15:254:15 | e | +| main.rs:250:14:250:51 | [match(true)] SSA phi(a11) | main.rs:250:14:250:51 | a11 | main.rs:252:23:252:25 | a11 | +| main.rs:253:33:253:35 | a12 | main.rs:253:33:253:35 | a12 | main.rs:255:28:255:30 | a12 | +| main.rs:270:9:270:10 | fv | main.rs:270:9:270:10 | fv | main.rs:271:11:271:12 | fv | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:9:272:109 | a13 | main.rs:273:26:273:28 | a13 | +| main.rs:279:9:279:9 | x | main.rs:279:9:279:9 | x | main.rs:281:7:281:7 | x | +| main.rs:279:9:279:9 | x | main.rs:279:9:279:9 | x | main.rs:288:13:288:13 | x | +| main.rs:280:17:280:17 | x | main.rs:280:17:280:17 | x | main.rs:283:5:283:5 | x | +| main.rs:280:17:280:17 | x | main.rs:280:17:280:17 | x | main.rs:285:19:285:19 | x | +| main.rs:287:13:287:13 | x | main.rs:287:13:287:13 | x | main.rs:289:19:289:19 | x | +| main.rs:295:9:295:9 | x | main.rs:295:9:295:9 | x | main.rs:297:7:297:7 | x | +| main.rs:295:9:295:9 | x | main.rs:295:9:295:9 | x | main.rs:307:13:307:13 | x | +| main.rs:296:17:296:17 | x | main.rs:296:17:296:17 | x | main.rs:300:12:300:12 | x | +| main.rs:299:14:299:14 | x | main.rs:299:14:299:14 | x | main.rs:302:5:302:5 | x | +| main.rs:299:14:299:14 | x | main.rs:299:14:299:14 | x | main.rs:304:19:304:19 | x | +| main.rs:306:13:306:13 | x | main.rs:306:13:306:13 | x | main.rs:308:19:308:19 | x | +| main.rs:314:9:314:9 | x | main.rs:314:9:314:9 | x | main.rs:316:7:316:7 | x | +| main.rs:314:9:314:9 | x | main.rs:314:9:314:9 | x | main.rs:327:15:327:15 | x | +| main.rs:315:20:315:20 | x | main.rs:315:20:315:20 | x | main.rs:319:12:319:12 | x | +| main.rs:318:14:318:14 | x | main.rs:318:14:318:14 | x | main.rs:321:5:321:5 | x | +| main.rs:318:14:318:14 | x | main.rs:318:14:318:14 | x | main.rs:323:19:323:19 | x | +| main.rs:332:9:332:9 | x | main.rs:332:9:332:9 | x | main.rs:333:11:333:11 | x | +| main.rs:332:9:332:9 | x | main.rs:332:9:332:9 | x | main.rs:341:15:341:15 | x | +| main.rs:334:14:334:14 | x | main.rs:334:14:334:14 | x | main.rs:336:18:336:18 | x | +| main.rs:335:20:335:20 | x | main.rs:335:20:335:20 | x | main.rs:337:19:337:19 | x | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | main.rs:348:7:348:7 | x | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | main.rs:353:7:353:7 | x | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | main.rs:357:19:357:19 | x | +| main.rs:347:16:347:16 | x | main.rs:347:16:347:16 | x | main.rs:350:19:350:19 | x | +| main.rs:352:20:352:20 | x | main.rs:352:20:352:20 | x | main.rs:355:19:355:19 | x | +| main.rs:362:5:362:6 | a8 | main.rs:362:5:362:6 | a8 | main.rs:368:15:368:16 | a8 | +| main.rs:364:9:364:10 | b3 | main.rs:364:9:364:10 | b3 | main.rs:369:15:369:16 | b3 | +| main.rs:365:9:365:10 | c1 | main.rs:365:9:365:10 | c1 | main.rs:370:15:370:16 | c1 | +| main.rs:373:20:373:55 | SSA phi(a9) | main.rs:373:20:373:55 | a9 | main.rs:375:15:375:16 | a9 | +| main.rs:380:13:380:15 | a10 | main.rs:380:13:380:15 | a10 | main.rs:384:15:384:17 | a10 | +| main.rs:381:13:381:14 | b4 | main.rs:381:13:381:14 | b4 | main.rs:385:15:385:16 | b4 | +| main.rs:382:13:382:14 | c2 | main.rs:382:13:382:14 | c2 | main.rs:386:15:386:16 | c2 | +| main.rs:389:9:389:10 | c2 | main.rs:382:13:382:14 | c2 | main.rs:395:9:395:10 | c2 | +| main.rs:389:9:389:10 | c2 | main.rs:382:13:382:14 | c2 | main.rs:399:15:399:16 | c2 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | main.rs:394:9:394:10 | b4 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | main.rs:398:15:398:16 | b4 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | main.rs:412:15:412:16 | b4 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | main.rs:393:9:393:11 | a10 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | main.rs:397:15:397:17 | a10 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | main.rs:411:15:411:17 | a10 | +| main.rs:403:13:403:15 | a10 | main.rs:403:13:403:15 | a10 | main.rs:406:23:406:25 | a10 | +| main.rs:404:13:404:14 | b4 | main.rs:404:13:404:14 | b4 | main.rs:407:23:407:24 | b4 | +| main.rs:416:9:416:23 | example_closure | main.rs:416:9:416:23 | example_closure | main.rs:420:9:420:23 | example_closure | +| main.rs:417:10:417:10 | x | main.rs:417:10:417:10 | x | main.rs:418:9:418:9 | x | +| main.rs:419:9:419:10 | n1 | main.rs:419:9:419:10 | n1 | main.rs:421:15:421:16 | n1 | +| main.rs:424:9:424:26 | immutable_variable | main.rs:424:9:424:26 | immutable_variable | main.rs:428:9:428:26 | immutable_variable | +| main.rs:425:6:425:6 | x | main.rs:425:6:425:6 | x | main.rs:426:9:426:9 | x | +| main.rs:427:9:427:10 | n2 | main.rs:427:9:427:10 | n2 | main.rs:429:15:429:16 | n2 | +| main.rs:434:9:434:9 | f | main.rs:434:9:434:9 | f | main.rs:437:15:437:15 | f | +| main.rs:434:9:434:9 | f | main.rs:434:9:434:9 | f | main.rs:444:15:444:15 | f | +| main.rs:435:10:435:10 | x | main.rs:435:10:435:10 | x | main.rs:436:9:436:9 | x | +| main.rs:439:10:439:10 | x | main.rs:439:10:439:10 | x | main.rs:441:9:441:9 | x | +| main.rs:448:14:448:14 | x | main.rs:448:14:448:14 | x | main.rs:450:17:450:17 | x | +| main.rs:457:13:457:13 | f | main.rs:457:13:457:13 | f | main.rs:460:19:460:19 | f | +| main.rs:458:14:458:14 | x | main.rs:458:14:458:14 | x | main.rs:459:13:459:13 | x | +| main.rs:465:9:465:9 | v | main.rs:465:9:465:9 | v | main.rs:468:12:468:12 | v | +| main.rs:467:9:467:12 | text | main.rs:467:9:467:12 | text | main.rs:469:19:469:22 | text | +| main.rs:474:13:474:13 | a | main.rs:474:13:474:13 | a | main.rs:475:5:475:5 | a | +| main.rs:475:5:475:5 | a | main.rs:474:13:474:13 | a | main.rs:476:15:476:15 | a | +| main.rs:475:5:475:5 | a | main.rs:474:13:474:13 | a | main.rs:477:11:477:11 | a | +| main.rs:477:6:477:11 | &mut a | main.rs:474:13:474:13 | a | main.rs:478:15:478:15 | a | +| main.rs:482:13:482:13 | i | main.rs:482:13:482:13 | i | main.rs:484:14:484:14 | i | +| main.rs:483:9:483:13 | ref_i | main.rs:483:9:483:13 | ref_i | main.rs:485:6:485:10 | ref_i | +| main.rs:484:9:484:14 | &mut i | main.rs:482:13:482:13 | i | main.rs:486:15:486:15 | i | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:490:6:490:6 | x | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:491:10:491:10 | x | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:492:10:492:10 | x | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:493:12:493:12 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:497:6:497:6 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:498:10:498:10 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:499:10:499:10 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:501:9:501:9 | x | +| main.rs:496:38:496:38 | y | main.rs:496:38:496:38 | y | main.rs:500:6:500:6 | y | +| main.rs:505:13:505:13 | x | main.rs:505:13:505:13 | x | main.rs:507:27:507:27 | x | +| main.rs:506:9:506:9 | y | main.rs:506:9:506:9 | y | main.rs:508:6:508:6 | y | +| main.rs:507:22:507:27 | &mut x | main.rs:505:13:505:13 | x | main.rs:511:15:511:15 | x | +| main.rs:507:22:507:27 | &mut x | main.rs:505:13:505:13 | x | main.rs:515:19:515:19 | x | +| main.rs:513:13:513:13 | z | main.rs:513:13:513:13 | z | main.rs:517:14:517:14 | z | +| main.rs:514:9:514:9 | w | main.rs:514:9:514:9 | w | main.rs:518:9:518:9 | w | +| main.rs:514:9:514:9 | w | main.rs:514:9:514:9 | w | main.rs:520:7:520:7 | w | +| main.rs:517:9:517:14 | &mut z | main.rs:513:13:513:13 | z | main.rs:523:15:523:15 | z | +| main.rs:527:13:527:13 | x | main.rs:527:13:527:13 | x | main.rs:529:14:529:14 | x | +| main.rs:528:9:528:9 | y | main.rs:528:9:528:9 | y | main.rs:530:6:530:6 | y | +| main.rs:529:9:529:14 | &mut x | main.rs:527:13:527:13 | x | main.rs:531:15:531:15 | x | +| main.rs:535:9:535:9 | x | main.rs:535:9:535:9 | x | main.rs:542:15:542:15 | x | +| main.rs:538:9:538:11 | cap | main.rs:538:9:538:11 | cap | main.rs:541:5:541:7 | cap | +| main.rs:538:15:540:5 | x | main.rs:535:9:535:9 | x | main.rs:539:19:539:19 | x | +| main.rs:546:13:546:13 | x | main.rs:546:13:546:13 | x | main.rs:553:15:553:15 | x | +| main.rs:549:9:549:16 | closure1 | main.rs:549:9:549:16 | closure1 | main.rs:552:5:552:12 | closure1 | +| main.rs:549:20:551:5 | x | main.rs:546:13:546:13 | x | main.rs:550:19:550:19 | x | +| main.rs:558:13:558:20 | closure2 | main.rs:558:13:558:20 | closure2 | main.rs:561:5:561:12 | closure2 | +| main.rs:561:5:561:14 | y | main.rs:555:13:555:13 | y | main.rs:562:15:562:15 | y | +| main.rs:564:13:564:13 | z | main.rs:564:13:564:13 | z | main.rs:571:15:571:15 | z | +| main.rs:567:13:567:20 | closure3 | main.rs:567:13:567:20 | closure3 | main.rs:570:5:570:12 | closure3 | +| main.rs:567:24:569:5 | z | main.rs:564:13:564:13 | z | main.rs:568:9:568:9 | z | +| main.rs:576:9:576:13 | block | main.rs:576:9:576:13 | block | main.rs:580:5:580:9 | block | +| main.rs:580:5:580:15 | i | main.rs:575:13:575:13 | i | main.rs:581:15:581:15 | i | +| main.rs:584:8:584:8 | b | main.rs:584:8:584:8 | b | main.rs:589:16:589:16 | b | +| main.rs:585:13:585:13 | x | main.rs:585:13:585:13 | x | main.rs:586:15:586:15 | x | +| main.rs:585:13:585:13 | x | main.rs:585:13:585:13 | x | main.rs:587:15:587:15 | x | +| main.rs:589:13:598:5 | SSA phi(x) | main.rs:585:13:585:13 | x | main.rs:599:15:599:15 | x | +| main.rs:591:9:591:9 | x | main.rs:585:13:585:13 | x | main.rs:592:19:592:19 | x | +| main.rs:591:9:591:9 | x | main.rs:585:13:585:13 | x | main.rs:593:19:593:19 | x | +| main.rs:595:9:595:9 | x | main.rs:585:13:585:13 | x | main.rs:596:19:596:19 | x | +| main.rs:595:9:595:9 | x | main.rs:585:13:585:13 | x | main.rs:597:19:597:19 | x | +| main.rs:602:13:602:14 | b1 | main.rs:602:13:602:14 | b1 | main.rs:605:16:605:17 | b1 | +| main.rs:602:23:602:24 | b2 | main.rs:602:23:602:24 | b2 | main.rs:613:16:613:17 | b2 | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:607:19:607:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:609:19:609:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:615:19:615:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:617:19:617:19 | x | +| main.rs:626:20:626:23 | self | main.rs:626:20:626:23 | self | main.rs:627:16:627:19 | self | +| main.rs:630:11:630:14 | self | main.rs:630:11:630:14 | self | main.rs:631:9:631:12 | self | +| main.rs:635:17:635:17 | f | main.rs:635:17:635:17 | f | main.rs:639:9:639:9 | f | +| main.rs:635:17:635:17 | f | main.rs:635:17:635:17 | f | main.rs:640:9:640:9 | f | +| main.rs:635:21:638:9 | self | main.rs:634:23:634:26 | self | main.rs:637:13:637:16 | self | +| main.rs:635:22:635:22 | n | main.rs:635:22:635:22 | n | main.rs:637:25:637:25 | n | +| main.rs:645:13:645:13 | a | main.rs:645:13:645:13 | a | main.rs:646:15:646:15 | a | +| main.rs:646:15:646:15 | a | main.rs:645:13:645:13 | a | main.rs:647:5:647:5 | a | +| main.rs:646:15:646:15 | a | main.rs:645:13:645:13 | a | main.rs:648:15:648:15 | a | +| main.rs:649:5:649:5 | a | main.rs:645:13:645:13 | a | main.rs:650:15:650:15 | a | +| main.rs:654:13:654:13 | a | main.rs:654:13:654:13 | a | main.rs:655:15:655:15 | a | +| main.rs:654:13:654:13 | a | main.rs:654:13:654:13 | a | main.rs:656:5:656:5 | a | +| main.rs:654:13:654:13 | a | main.rs:654:13:654:13 | a | main.rs:657:15:657:15 | a | +| main.rs:658:5:658:5 | a | main.rs:654:13:654:13 | a | main.rs:659:15:659:15 | a | +| main.rs:663:9:663:9 | x | main.rs:663:9:663:9 | x | main.rs:664:20:664:20 | x | +| main.rs:663:9:663:9 | x | main.rs:663:9:663:9 | x | main.rs:665:15:665:15 | x | +| main.rs:667:9:667:9 | z | main.rs:667:9:667:9 | z | main.rs:668:20:668:20 | z | +| main.rs:676:17:676:20 | self | main.rs:676:17:676:20 | self | main.rs:677:10:677:13 | self | +| main.rs:682:13:682:13 | a | main.rs:682:13:682:13 | a | main.rs:683:5:683:5 | a | +| main.rs:683:5:683:5 | a | main.rs:682:13:682:13 | a | main.rs:686:15:686:15 | a | +| main.rs:704:9:704:22 | var_from_macro | main.rs:704:9:704:22 | var_from_macro | main.rs:706:15:706:28 | var_from_macro | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | +| main.rs:707:9:707:20 | var_in_macro | main.rs:707:9:707:20 | var_in_macro | main.rs:713:15:713:26 | var_in_macro | +| main.rs:712:15:712:42 | var_in_macro | main.rs:712:15:712:42 | var_in_macro | main.rs:712:30:712:41 | var_in_macro | +| main.rs:718:5:718:5 | x | main.rs:717:9:717:9 | x | main.rs:719:15:719:15 | x | +| main.rs:724:13:724:15 | cap | main.rs:724:13:724:15 | cap | main.rs:730:5:730:7 | cap | +| main.rs:724:20:724:20 | b | main.rs:724:20:724:20 | b | main.rs:726:20:726:20 | b | +| main.rs:730:5:730:13 | x | main.rs:723:13:723:13 | x | main.rs:731:15:731:15 | x | firstRead -| main.rs:3:14:3:14 | s | main.rs:3:14:3:14 | s | main.rs:5:20:5:20 | s | -| main.rs:8:14:8:14 | i | main.rs:8:14:8:14 | i | main.rs:10:20:10:20 | i | -| main.rs:13:18:13:18 | i | main.rs:13:18:13:18 | i | main.rs:14:16:14:16 | i | -| main.rs:18:9:18:10 | x1 | main.rs:18:9:18:10 | x1 | main.rs:19:15:19:16 | x1 | -| main.rs:23:13:23:14 | x2 | main.rs:23:13:23:14 | x2 | main.rs:24:15:24:16 | x2 | -| main.rs:25:5:25:6 | x2 | main.rs:23:13:23:14 | x2 | main.rs:26:15:26:16 | x2 | -| main.rs:30:13:30:13 | x | main.rs:30:13:30:13 | x | main.rs:31:20:31:20 | x | -| main.rs:32:5:32:5 | x | main.rs:30:13:30:13 | x | main.rs:33:20:33:20 | x | -| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | main.rs:38:15:38:16 | x3 | -| main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | main.rs:41:15:41:16 | x3 | -| main.rs:45:9:45:10 | x4 | main.rs:45:9:45:10 | x4 | main.rs:46:15:46:16 | x4 | -| main.rs:48:13:48:14 | x4 | main.rs:48:13:48:14 | x4 | main.rs:49:19:49:20 | x4 | -| main.rs:62:13:62:14 | a1 | main.rs:62:13:62:14 | a1 | main.rs:70:15:70:16 | a1 | -| main.rs:63:13:63:14 | b1 | main.rs:63:13:63:14 | b1 | main.rs:71:15:71:16 | b1 | -| main.rs:66:13:66:13 | x | main.rs:66:13:66:13 | x | main.rs:72:15:72:15 | x | -| main.rs:67:13:67:13 | y | main.rs:67:13:67:13 | y | main.rs:73:15:73:15 | y | -| main.rs:77:9:77:10 | p1 | main.rs:77:9:77:10 | p1 | main.rs:81:9:81:10 | p1 | -| main.rs:79:12:79:13 | a2 | main.rs:79:12:79:13 | a2 | main.rs:82:15:82:16 | a2 | -| main.rs:80:12:80:13 | b2 | main.rs:80:12:80:13 | b2 | main.rs:83:15:83:16 | b2 | -| main.rs:87:9:87:10 | s1 | main.rs:87:9:87:10 | s1 | main.rs:90:11:90:12 | s1 | -| main.rs:89:21:89:22 | s2 | main.rs:89:21:89:22 | s2 | main.rs:91:19:91:20 | s2 | -| main.rs:96:14:96:15 | x5 | main.rs:96:14:96:15 | x5 | main.rs:102:15:102:16 | x5 | -| main.rs:106:9:106:10 | s1 | main.rs:106:9:106:10 | s1 | main.rs:109:11:109:12 | s1 | -| main.rs:108:24:108:25 | s2 | main.rs:108:24:108:25 | s2 | main.rs:110:19:110:20 | s2 | -| main.rs:115:9:115:10 | x6 | main.rs:115:9:115:10 | x6 | main.rs:118:11:118:12 | x6 | -| main.rs:116:9:116:10 | y1 | main.rs:116:9:116:10 | y1 | main.rs:128:15:128:16 | y1 | -| main.rs:120:14:120:15 | y1 | main.rs:120:14:120:15 | y1 | main.rs:123:23:123:24 | y1 | -| main.rs:132:9:132:15 | numbers | main.rs:132:9:132:15 | numbers | main.rs:134:11:134:17 | numbers | -| main.rs:137:13:137:17 | first | main.rs:137:13:137:17 | first | main.rs:143:23:143:27 | first | -| main.rs:139:13:139:17 | third | main.rs:139:13:139:17 | third | main.rs:144:23:144:27 | third | -| main.rs:141:13:141:17 | fifth | main.rs:141:13:141:17 | fifth | main.rs:145:23:145:27 | fifth | -| main.rs:152:13:152:17 | first | main.rs:152:13:152:17 | first | main.rs:156:23:156:27 | first | -| main.rs:154:13:154:16 | last | main.rs:154:13:154:16 | last | main.rs:157:23:157:26 | last | -| main.rs:163:9:163:10 | p2 | main.rs:163:9:163:10 | p2 | main.rs:165:11:165:12 | p2 | -| main.rs:167:16:167:17 | x7 | main.rs:167:16:167:17 | x7 | main.rs:168:24:168:25 | x7 | -| main.rs:177:9:177:11 | msg | main.rs:177:9:177:11 | msg | main.rs:179:11:179:13 | msg | -| main.rs:182:17:182:27 | id_variable | main.rs:182:17:182:27 | id_variable | main.rs:183:24:183:34 | id_variable | -| main.rs:187:26:187:27 | id | main.rs:187:26:187:27 | id | main.rs:190:23:190:24 | id | -| main.rs:201:9:201:14 | either | main.rs:201:9:201:14 | either | main.rs:202:11:202:16 | either | -| main.rs:203:9:203:44 | SSA phi(a3) | main.rs:203:9:203:44 | a3 | main.rs:204:26:204:27 | a3 | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | main.rs:216:11:216:12 | tv | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:9:217:81 | a4 | main.rs:218:26:218:27 | a4 | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:9:221:83 | a5 | main.rs:222:26:222:27 | a5 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | main.rs:226:26:226:27 | a6 | -| main.rs:231:9:231:14 | either | main.rs:231:9:231:14 | either | main.rs:232:11:232:16 | either | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:9:233:44 | a7 | main.rs:234:16:234:17 | a7 | -| main.rs:241:9:241:14 | either | main.rs:241:9:241:14 | either | main.rs:243:11:243:16 | either | -| main.rs:244:13:244:13 | e | main.rs:244:13:244:13 | e | main.rs:249:15:249:15 | e | -| main.rs:245:14:245:51 | [match(true)] SSA phi(a11) | main.rs:245:14:245:51 | a11 | main.rs:247:23:247:25 | a11 | -| main.rs:248:33:248:35 | a12 | main.rs:248:33:248:35 | a12 | main.rs:250:28:250:30 | a12 | -| main.rs:265:9:265:10 | fv | main.rs:265:9:265:10 | fv | main.rs:266:11:266:12 | fv | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:9:267:109 | a13 | main.rs:268:26:268:28 | a13 | -| main.rs:273:5:273:6 | a8 | main.rs:273:5:273:6 | a8 | main.rs:279:15:279:16 | a8 | -| main.rs:275:9:275:10 | b3 | main.rs:275:9:275:10 | b3 | main.rs:280:15:280:16 | b3 | -| main.rs:276:9:276:10 | c1 | main.rs:276:9:276:10 | c1 | main.rs:281:15:281:16 | c1 | -| main.rs:284:20:284:55 | SSA phi(a9) | main.rs:284:20:284:55 | a9 | main.rs:286:15:286:16 | a9 | -| main.rs:291:13:291:15 | a10 | main.rs:291:13:291:15 | a10 | main.rs:295:15:295:17 | a10 | -| main.rs:292:13:292:14 | b4 | main.rs:292:13:292:14 | b4 | main.rs:296:15:296:16 | b4 | -| main.rs:293:13:293:14 | c2 | main.rs:293:13:293:14 | c2 | main.rs:297:15:297:16 | c2 | -| main.rs:300:9:300:10 | c2 | main.rs:293:13:293:14 | c2 | main.rs:306:9:306:10 | c2 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | main.rs:305:9:305:10 | b4 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | main.rs:304:9:304:11 | a10 | -| main.rs:314:13:314:15 | a10 | main.rs:314:13:314:15 | a10 | main.rs:317:23:317:25 | a10 | -| main.rs:315:13:315:14 | b4 | main.rs:315:13:315:14 | b4 | main.rs:318:23:318:24 | b4 | -| main.rs:327:9:327:23 | example_closure | main.rs:327:9:327:23 | example_closure | main.rs:331:9:331:23 | example_closure | -| main.rs:328:10:328:10 | x | main.rs:328:10:328:10 | x | main.rs:329:9:329:9 | x | -| main.rs:330:9:330:10 | n1 | main.rs:330:9:330:10 | n1 | main.rs:332:15:332:16 | n1 | -| main.rs:335:9:335:26 | immutable_variable | main.rs:335:9:335:26 | immutable_variable | main.rs:339:9:339:26 | immutable_variable | -| main.rs:336:6:336:6 | x | main.rs:336:6:336:6 | x | main.rs:337:9:337:9 | x | -| main.rs:338:9:338:10 | n2 | main.rs:338:9:338:10 | n2 | main.rs:340:15:340:16 | n2 | -| main.rs:345:9:345:9 | f | main.rs:345:9:345:9 | f | main.rs:348:15:348:15 | f | -| main.rs:346:10:346:10 | x | main.rs:346:10:346:10 | x | main.rs:347:9:347:9 | x | -| main.rs:350:10:350:10 | x | main.rs:350:10:350:10 | x | main.rs:352:9:352:9 | x | -| main.rs:359:14:359:14 | x | main.rs:359:14:359:14 | x | main.rs:361:17:361:17 | x | -| main.rs:368:13:368:13 | f | main.rs:368:13:368:13 | f | main.rs:371:19:371:19 | f | -| main.rs:369:14:369:14 | x | main.rs:369:14:369:14 | x | main.rs:370:13:370:13 | x | -| main.rs:376:9:376:9 | v | main.rs:376:9:376:9 | v | main.rs:379:12:379:12 | v | -| main.rs:378:9:378:12 | text | main.rs:378:9:378:12 | text | main.rs:380:19:380:22 | text | -| main.rs:385:13:385:13 | a | main.rs:385:13:385:13 | a | main.rs:386:5:386:5 | a | -| main.rs:386:5:386:5 | a | main.rs:385:13:385:13 | a | main.rs:387:15:387:15 | a | -| main.rs:388:6:388:11 | &mut a | main.rs:385:13:385:13 | a | main.rs:389:15:389:15 | a | -| main.rs:393:13:393:13 | i | main.rs:393:13:393:13 | i | main.rs:395:14:395:14 | i | -| main.rs:394:9:394:13 | ref_i | main.rs:394:9:394:13 | ref_i | main.rs:396:6:396:10 | ref_i | -| main.rs:395:9:395:14 | &mut i | main.rs:393:13:393:13 | i | main.rs:397:15:397:15 | i | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:401:6:401:6 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:408:6:408:6 | x | -| main.rs:407:38:407:38 | y | main.rs:407:38:407:38 | y | main.rs:411:6:411:6 | y | -| main.rs:416:13:416:13 | x | main.rs:416:13:416:13 | x | main.rs:418:27:418:27 | x | -| main.rs:417:9:417:9 | y | main.rs:417:9:417:9 | y | main.rs:419:6:419:6 | y | -| main.rs:418:22:418:27 | &mut x | main.rs:416:13:416:13 | x | main.rs:421:15:421:15 | x | -| main.rs:423:13:423:13 | z | main.rs:423:13:423:13 | z | main.rs:427:14:427:14 | z | -| main.rs:424:9:424:9 | w | main.rs:424:9:424:9 | w | main.rs:428:9:428:9 | w | -| main.rs:427:9:427:14 | &mut z | main.rs:423:13:423:13 | z | main.rs:432:15:432:15 | z | -| main.rs:436:13:436:13 | x | main.rs:436:13:436:13 | x | main.rs:438:14:438:14 | x | -| main.rs:437:9:437:9 | y | main.rs:437:9:437:9 | y | main.rs:439:6:439:6 | y | -| main.rs:438:9:438:14 | &mut x | main.rs:436:13:436:13 | x | main.rs:440:15:440:15 | x | -| main.rs:444:9:444:9 | x | main.rs:444:9:444:9 | x | main.rs:450:15:450:15 | x | -| main.rs:446:9:446:11 | cap | main.rs:446:9:446:11 | cap | main.rs:449:5:449:7 | cap | -| main.rs:446:15:448:5 | x | main.rs:444:9:444:9 | x | main.rs:447:19:447:19 | x | -| main.rs:454:13:454:13 | x | main.rs:454:13:454:13 | x | main.rs:460:15:460:15 | x | -| main.rs:456:9:456:16 | closure1 | main.rs:456:9:456:16 | closure1 | main.rs:459:5:459:12 | closure1 | -| main.rs:456:20:458:5 | x | main.rs:454:13:454:13 | x | main.rs:457:19:457:19 | x | -| main.rs:464:13:464:20 | closure2 | main.rs:464:13:464:20 | closure2 | main.rs:467:5:467:12 | closure2 | -| main.rs:467:5:467:14 | y | main.rs:462:13:462:13 | y | main.rs:468:15:468:15 | y | -| main.rs:470:13:470:13 | z | main.rs:470:13:470:13 | z | main.rs:476:15:476:15 | z | -| main.rs:472:13:472:20 | closure3 | main.rs:472:13:472:20 | closure3 | main.rs:475:5:475:12 | closure3 | -| main.rs:472:24:474:5 | z | main.rs:470:13:470:13 | z | main.rs:473:9:473:9 | z | -| main.rs:481:9:481:13 | block | main.rs:481:9:481:13 | block | main.rs:485:5:485:9 | block | -| main.rs:485:5:485:15 | i | main.rs:480:13:480:13 | i | main.rs:486:15:486:15 | i | -| main.rs:489:8:489:8 | b | main.rs:489:8:489:8 | b | main.rs:494:16:494:16 | b | -| main.rs:490:13:490:13 | x | main.rs:490:13:490:13 | x | main.rs:491:15:491:15 | x | -| main.rs:494:13:503:5 | SSA phi(x) | main.rs:490:13:490:13 | x | main.rs:504:15:504:15 | x | -| main.rs:496:9:496:9 | x | main.rs:490:13:490:13 | x | main.rs:497:19:497:19 | x | -| main.rs:500:9:500:9 | x | main.rs:490:13:490:13 | x | main.rs:501:19:501:19 | x | -| main.rs:507:13:507:14 | b1 | main.rs:507:13:507:14 | b1 | main.rs:510:16:510:17 | b1 | -| main.rs:507:23:507:24 | b2 | main.rs:507:23:507:24 | b2 | main.rs:518:16:518:17 | b2 | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:512:19:512:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:514:19:514:19 | x | -| main.rs:531:20:531:23 | self | main.rs:531:20:531:23 | self | main.rs:532:16:532:19 | self | -| main.rs:535:11:535:14 | self | main.rs:535:11:535:14 | self | main.rs:536:9:536:12 | self | -| main.rs:540:17:540:17 | f | main.rs:540:17:540:17 | f | main.rs:544:9:544:9 | f | -| main.rs:540:21:543:9 | self | main.rs:539:23:539:26 | self | main.rs:542:13:542:16 | self | -| main.rs:540:22:540:22 | n | main.rs:540:22:540:22 | n | main.rs:542:25:542:25 | n | -| main.rs:550:13:550:13 | a | main.rs:550:13:550:13 | a | main.rs:551:15:551:15 | a | -| main.rs:551:15:551:15 | a | main.rs:550:13:550:13 | a | main.rs:552:5:552:5 | a | -| main.rs:554:5:554:5 | a | main.rs:550:13:550:13 | a | main.rs:555:15:555:15 | a | -| main.rs:559:13:559:13 | a | main.rs:559:13:559:13 | a | main.rs:560:15:560:15 | a | -| main.rs:563:5:563:5 | a | main.rs:559:13:559:13 | a | main.rs:564:15:564:15 | a | -| main.rs:568:9:568:9 | x | main.rs:568:9:568:9 | x | main.rs:569:20:569:20 | x | -| main.rs:572:9:572:9 | z | main.rs:572:9:572:9 | z | main.rs:573:20:573:20 | z | -| main.rs:581:17:581:20 | self | main.rs:581:17:581:20 | self | main.rs:582:10:582:13 | self | -| main.rs:587:13:587:13 | a | main.rs:587:13:587:13 | a | main.rs:588:5:588:5 | a | -| main.rs:588:5:588:5 | a | main.rs:587:13:587:13 | a | main.rs:590:15:590:15 | a | -| main.rs:608:9:608:22 | var_from_macro | main.rs:608:9:608:22 | var_from_macro | main.rs:610:15:610:28 | var_from_macro | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | -| main.rs:611:9:611:20 | var_in_macro | main.rs:611:9:611:20 | var_in_macro | main.rs:616:15:616:26 | var_in_macro | -| main.rs:615:15:615:42 | var_in_macro | main.rs:615:15:615:42 | var_in_macro | main.rs:615:30:615:41 | var_in_macro | -| main.rs:621:5:621:5 | x | main.rs:620:9:620:9 | x | main.rs:622:15:622:15 | x | -| main.rs:627:13:627:15 | cap | main.rs:627:13:627:15 | cap | main.rs:633:5:633:7 | cap | -| main.rs:627:20:627:20 | b | main.rs:627:20:627:20 | b | main.rs:629:20:629:20 | b | -| main.rs:633:5:633:13 | x | main.rs:626:13:626:13 | x | main.rs:634:15:634:15 | x | +| main.rs:5:14:5:14 | s | main.rs:5:14:5:14 | s | main.rs:7:20:7:20 | s | +| main.rs:10:14:10:14 | i | main.rs:10:14:10:14 | i | main.rs:12:20:12:20 | i | +| main.rs:15:18:15:18 | i | main.rs:15:18:15:18 | i | main.rs:16:16:16:16 | i | +| main.rs:20:9:20:10 | x1 | main.rs:20:9:20:10 | x1 | main.rs:21:15:21:16 | x1 | +| main.rs:25:13:25:14 | x2 | main.rs:25:13:25:14 | x2 | main.rs:26:15:26:16 | x2 | +| main.rs:27:5:27:6 | x2 | main.rs:25:13:25:14 | x2 | main.rs:28:15:28:16 | x2 | +| main.rs:32:13:32:13 | x | main.rs:32:13:32:13 | x | main.rs:33:20:33:20 | x | +| main.rs:34:5:34:5 | x | main.rs:32:13:32:13 | x | main.rs:35:20:35:20 | x | +| main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | main.rs:40:15:40:16 | x3 | +| main.rs:41:9:41:10 | x3 | main.rs:41:9:41:10 | x3 | main.rs:43:15:43:16 | x3 | +| main.rs:47:9:47:10 | x4 | main.rs:47:9:47:10 | x4 | main.rs:48:15:48:16 | x4 | +| main.rs:50:13:50:14 | x4 | main.rs:50:13:50:14 | x4 | main.rs:51:19:51:20 | x4 | +| main.rs:64:13:64:14 | a1 | main.rs:64:13:64:14 | a1 | main.rs:72:15:72:16 | a1 | +| main.rs:65:13:65:14 | b1 | main.rs:65:13:65:14 | b1 | main.rs:73:15:73:16 | b1 | +| main.rs:68:13:68:13 | x | main.rs:68:13:68:13 | x | main.rs:74:15:74:15 | x | +| main.rs:69:13:69:13 | y | main.rs:69:13:69:13 | y | main.rs:75:15:75:15 | y | +| main.rs:79:9:79:10 | p1 | main.rs:79:9:79:10 | p1 | main.rs:83:9:83:10 | p1 | +| main.rs:81:12:81:13 | a2 | main.rs:81:12:81:13 | a2 | main.rs:84:15:84:16 | a2 | +| main.rs:82:12:82:13 | b2 | main.rs:82:12:82:13 | b2 | main.rs:85:15:85:16 | b2 | +| main.rs:89:9:89:10 | s1 | main.rs:89:9:89:10 | s1 | main.rs:92:11:92:12 | s1 | +| main.rs:91:21:91:22 | s2 | main.rs:91:21:91:22 | s2 | main.rs:93:19:93:20 | s2 | +| main.rs:98:9:98:9 | x | main.rs:98:9:98:9 | x | main.rs:100:7:100:7 | x | +| main.rs:99:14:99:14 | x | main.rs:99:14:99:14 | x | main.rs:107:15:107:15 | x | +| main.rs:102:13:102:13 | x | main.rs:102:13:102:13 | x | main.rs:104:19:104:19 | x | +| main.rs:111:9:111:10 | s1 | main.rs:111:9:111:10 | s1 | main.rs:114:11:114:12 | s1 | +| main.rs:113:24:113:25 | s2 | main.rs:113:24:113:25 | s2 | main.rs:115:19:115:20 | s2 | +| main.rs:120:9:120:10 | x6 | main.rs:120:9:120:10 | x6 | main.rs:123:11:123:12 | x6 | +| main.rs:121:9:121:10 | y1 | main.rs:121:9:121:10 | y1 | main.rs:133:15:133:16 | y1 | +| main.rs:125:14:125:15 | y1 | main.rs:125:14:125:15 | y1 | main.rs:128:23:128:24 | y1 | +| main.rs:137:9:137:15 | numbers | main.rs:137:9:137:15 | numbers | main.rs:139:11:139:17 | numbers | +| main.rs:142:13:142:17 | first | main.rs:142:13:142:17 | first | main.rs:148:23:148:27 | first | +| main.rs:144:13:144:17 | third | main.rs:144:13:144:17 | third | main.rs:149:23:149:27 | third | +| main.rs:146:13:146:17 | fifth | main.rs:146:13:146:17 | fifth | main.rs:150:23:150:27 | fifth | +| main.rs:157:13:157:17 | first | main.rs:157:13:157:17 | first | main.rs:161:23:161:27 | first | +| main.rs:159:13:159:16 | last | main.rs:159:13:159:16 | last | main.rs:162:23:162:26 | last | +| main.rs:168:9:168:10 | p2 | main.rs:168:9:168:10 | p2 | main.rs:170:11:170:12 | p2 | +| main.rs:172:16:172:17 | x7 | main.rs:172:16:172:17 | x7 | main.rs:173:24:173:25 | x7 | +| main.rs:182:9:182:11 | msg | main.rs:182:9:182:11 | msg | main.rs:184:11:184:13 | msg | +| main.rs:187:17:187:27 | id_variable | main.rs:187:17:187:27 | id_variable | main.rs:188:24:188:34 | id_variable | +| main.rs:192:26:192:27 | id | main.rs:192:26:192:27 | id | main.rs:195:23:195:24 | id | +| main.rs:206:9:206:14 | either | main.rs:206:9:206:14 | either | main.rs:207:11:207:16 | either | +| main.rs:208:9:208:44 | SSA phi(a3) | main.rs:208:9:208:44 | a3 | main.rs:209:26:209:27 | a3 | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | main.rs:221:11:221:12 | tv | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:9:222:81 | a4 | main.rs:223:26:223:27 | a4 | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:9:226:83 | a5 | main.rs:227:26:227:27 | a5 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | main.rs:231:26:231:27 | a6 | +| main.rs:236:9:236:14 | either | main.rs:236:9:236:14 | either | main.rs:237:11:237:16 | either | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:9:238:44 | a7 | main.rs:239:16:239:17 | a7 | +| main.rs:246:9:246:14 | either | main.rs:246:9:246:14 | either | main.rs:248:11:248:16 | either | +| main.rs:249:13:249:13 | e | main.rs:249:13:249:13 | e | main.rs:254:15:254:15 | e | +| main.rs:250:14:250:51 | [match(true)] SSA phi(a11) | main.rs:250:14:250:51 | a11 | main.rs:252:23:252:25 | a11 | +| main.rs:253:33:253:35 | a12 | main.rs:253:33:253:35 | a12 | main.rs:255:28:255:30 | a12 | +| main.rs:270:9:270:10 | fv | main.rs:270:9:270:10 | fv | main.rs:271:11:271:12 | fv | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:9:272:109 | a13 | main.rs:273:26:273:28 | a13 | +| main.rs:279:9:279:9 | x | main.rs:279:9:279:9 | x | main.rs:281:7:281:7 | x | +| main.rs:280:17:280:17 | x | main.rs:280:17:280:17 | x | main.rs:283:5:283:5 | x | +| main.rs:287:13:287:13 | x | main.rs:287:13:287:13 | x | main.rs:289:19:289:19 | x | +| main.rs:295:9:295:9 | x | main.rs:295:9:295:9 | x | main.rs:297:7:297:7 | x | +| main.rs:296:17:296:17 | x | main.rs:296:17:296:17 | x | main.rs:300:12:300:12 | x | +| main.rs:299:14:299:14 | x | main.rs:299:14:299:14 | x | main.rs:302:5:302:5 | x | +| main.rs:306:13:306:13 | x | main.rs:306:13:306:13 | x | main.rs:308:19:308:19 | x | +| main.rs:314:9:314:9 | x | main.rs:314:9:314:9 | x | main.rs:316:7:316:7 | x | +| main.rs:315:20:315:20 | x | main.rs:315:20:315:20 | x | main.rs:319:12:319:12 | x | +| main.rs:318:14:318:14 | x | main.rs:318:14:318:14 | x | main.rs:321:5:321:5 | x | +| main.rs:332:9:332:9 | x | main.rs:332:9:332:9 | x | main.rs:333:11:333:11 | x | +| main.rs:334:14:334:14 | x | main.rs:334:14:334:14 | x | main.rs:336:18:336:18 | x | +| main.rs:335:20:335:20 | x | main.rs:335:20:335:20 | x | main.rs:337:19:337:19 | x | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | main.rs:348:7:348:7 | x | +| main.rs:347:16:347:16 | x | main.rs:347:16:347:16 | x | main.rs:350:19:350:19 | x | +| main.rs:352:20:352:20 | x | main.rs:352:20:352:20 | x | main.rs:355:19:355:19 | x | +| main.rs:362:5:362:6 | a8 | main.rs:362:5:362:6 | a8 | main.rs:368:15:368:16 | a8 | +| main.rs:364:9:364:10 | b3 | main.rs:364:9:364:10 | b3 | main.rs:369:15:369:16 | b3 | +| main.rs:365:9:365:10 | c1 | main.rs:365:9:365:10 | c1 | main.rs:370:15:370:16 | c1 | +| main.rs:373:20:373:55 | SSA phi(a9) | main.rs:373:20:373:55 | a9 | main.rs:375:15:375:16 | a9 | +| main.rs:380:13:380:15 | a10 | main.rs:380:13:380:15 | a10 | main.rs:384:15:384:17 | a10 | +| main.rs:381:13:381:14 | b4 | main.rs:381:13:381:14 | b4 | main.rs:385:15:385:16 | b4 | +| main.rs:382:13:382:14 | c2 | main.rs:382:13:382:14 | c2 | main.rs:386:15:386:16 | c2 | +| main.rs:389:9:389:10 | c2 | main.rs:382:13:382:14 | c2 | main.rs:395:9:395:10 | c2 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | main.rs:394:9:394:10 | b4 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | main.rs:393:9:393:11 | a10 | +| main.rs:403:13:403:15 | a10 | main.rs:403:13:403:15 | a10 | main.rs:406:23:406:25 | a10 | +| main.rs:404:13:404:14 | b4 | main.rs:404:13:404:14 | b4 | main.rs:407:23:407:24 | b4 | +| main.rs:416:9:416:23 | example_closure | main.rs:416:9:416:23 | example_closure | main.rs:420:9:420:23 | example_closure | +| main.rs:417:10:417:10 | x | main.rs:417:10:417:10 | x | main.rs:418:9:418:9 | x | +| main.rs:419:9:419:10 | n1 | main.rs:419:9:419:10 | n1 | main.rs:421:15:421:16 | n1 | +| main.rs:424:9:424:26 | immutable_variable | main.rs:424:9:424:26 | immutable_variable | main.rs:428:9:428:26 | immutable_variable | +| main.rs:425:6:425:6 | x | main.rs:425:6:425:6 | x | main.rs:426:9:426:9 | x | +| main.rs:427:9:427:10 | n2 | main.rs:427:9:427:10 | n2 | main.rs:429:15:429:16 | n2 | +| main.rs:434:9:434:9 | f | main.rs:434:9:434:9 | f | main.rs:437:15:437:15 | f | +| main.rs:435:10:435:10 | x | main.rs:435:10:435:10 | x | main.rs:436:9:436:9 | x | +| main.rs:439:10:439:10 | x | main.rs:439:10:439:10 | x | main.rs:441:9:441:9 | x | +| main.rs:448:14:448:14 | x | main.rs:448:14:448:14 | x | main.rs:450:17:450:17 | x | +| main.rs:457:13:457:13 | f | main.rs:457:13:457:13 | f | main.rs:460:19:460:19 | f | +| main.rs:458:14:458:14 | x | main.rs:458:14:458:14 | x | main.rs:459:13:459:13 | x | +| main.rs:465:9:465:9 | v | main.rs:465:9:465:9 | v | main.rs:468:12:468:12 | v | +| main.rs:467:9:467:12 | text | main.rs:467:9:467:12 | text | main.rs:469:19:469:22 | text | +| main.rs:474:13:474:13 | a | main.rs:474:13:474:13 | a | main.rs:475:5:475:5 | a | +| main.rs:475:5:475:5 | a | main.rs:474:13:474:13 | a | main.rs:476:15:476:15 | a | +| main.rs:477:6:477:11 | &mut a | main.rs:474:13:474:13 | a | main.rs:478:15:478:15 | a | +| main.rs:482:13:482:13 | i | main.rs:482:13:482:13 | i | main.rs:484:14:484:14 | i | +| main.rs:483:9:483:13 | ref_i | main.rs:483:9:483:13 | ref_i | main.rs:485:6:485:10 | ref_i | +| main.rs:484:9:484:14 | &mut i | main.rs:482:13:482:13 | i | main.rs:486:15:486:15 | i | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:490:6:490:6 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:497:6:497:6 | x | +| main.rs:496:38:496:38 | y | main.rs:496:38:496:38 | y | main.rs:500:6:500:6 | y | +| main.rs:505:13:505:13 | x | main.rs:505:13:505:13 | x | main.rs:507:27:507:27 | x | +| main.rs:506:9:506:9 | y | main.rs:506:9:506:9 | y | main.rs:508:6:508:6 | y | +| main.rs:507:22:507:27 | &mut x | main.rs:505:13:505:13 | x | main.rs:511:15:511:15 | x | +| main.rs:513:13:513:13 | z | main.rs:513:13:513:13 | z | main.rs:517:14:517:14 | z | +| main.rs:514:9:514:9 | w | main.rs:514:9:514:9 | w | main.rs:518:9:518:9 | w | +| main.rs:517:9:517:14 | &mut z | main.rs:513:13:513:13 | z | main.rs:523:15:523:15 | z | +| main.rs:527:13:527:13 | x | main.rs:527:13:527:13 | x | main.rs:529:14:529:14 | x | +| main.rs:528:9:528:9 | y | main.rs:528:9:528:9 | y | main.rs:530:6:530:6 | y | +| main.rs:529:9:529:14 | &mut x | main.rs:527:13:527:13 | x | main.rs:531:15:531:15 | x | +| main.rs:535:9:535:9 | x | main.rs:535:9:535:9 | x | main.rs:542:15:542:15 | x | +| main.rs:538:9:538:11 | cap | main.rs:538:9:538:11 | cap | main.rs:541:5:541:7 | cap | +| main.rs:538:15:540:5 | x | main.rs:535:9:535:9 | x | main.rs:539:19:539:19 | x | +| main.rs:546:13:546:13 | x | main.rs:546:13:546:13 | x | main.rs:553:15:553:15 | x | +| main.rs:549:9:549:16 | closure1 | main.rs:549:9:549:16 | closure1 | main.rs:552:5:552:12 | closure1 | +| main.rs:549:20:551:5 | x | main.rs:546:13:546:13 | x | main.rs:550:19:550:19 | x | +| main.rs:558:13:558:20 | closure2 | main.rs:558:13:558:20 | closure2 | main.rs:561:5:561:12 | closure2 | +| main.rs:561:5:561:14 | y | main.rs:555:13:555:13 | y | main.rs:562:15:562:15 | y | +| main.rs:564:13:564:13 | z | main.rs:564:13:564:13 | z | main.rs:571:15:571:15 | z | +| main.rs:567:13:567:20 | closure3 | main.rs:567:13:567:20 | closure3 | main.rs:570:5:570:12 | closure3 | +| main.rs:567:24:569:5 | z | main.rs:564:13:564:13 | z | main.rs:568:9:568:9 | z | +| main.rs:576:9:576:13 | block | main.rs:576:9:576:13 | block | main.rs:580:5:580:9 | block | +| main.rs:580:5:580:15 | i | main.rs:575:13:575:13 | i | main.rs:581:15:581:15 | i | +| main.rs:584:8:584:8 | b | main.rs:584:8:584:8 | b | main.rs:589:16:589:16 | b | +| main.rs:585:13:585:13 | x | main.rs:585:13:585:13 | x | main.rs:586:15:586:15 | x | +| main.rs:589:13:598:5 | SSA phi(x) | main.rs:585:13:585:13 | x | main.rs:599:15:599:15 | x | +| main.rs:591:9:591:9 | x | main.rs:585:13:585:13 | x | main.rs:592:19:592:19 | x | +| main.rs:595:9:595:9 | x | main.rs:585:13:585:13 | x | main.rs:596:19:596:19 | x | +| main.rs:602:13:602:14 | b1 | main.rs:602:13:602:14 | b1 | main.rs:605:16:605:17 | b1 | +| main.rs:602:23:602:24 | b2 | main.rs:602:23:602:24 | b2 | main.rs:613:16:613:17 | b2 | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:607:19:607:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:609:19:609:19 | x | +| main.rs:626:20:626:23 | self | main.rs:626:20:626:23 | self | main.rs:627:16:627:19 | self | +| main.rs:630:11:630:14 | self | main.rs:630:11:630:14 | self | main.rs:631:9:631:12 | self | +| main.rs:635:17:635:17 | f | main.rs:635:17:635:17 | f | main.rs:639:9:639:9 | f | +| main.rs:635:21:638:9 | self | main.rs:634:23:634:26 | self | main.rs:637:13:637:16 | self | +| main.rs:635:22:635:22 | n | main.rs:635:22:635:22 | n | main.rs:637:25:637:25 | n | +| main.rs:645:13:645:13 | a | main.rs:645:13:645:13 | a | main.rs:646:15:646:15 | a | +| main.rs:646:15:646:15 | a | main.rs:645:13:645:13 | a | main.rs:647:5:647:5 | a | +| main.rs:649:5:649:5 | a | main.rs:645:13:645:13 | a | main.rs:650:15:650:15 | a | +| main.rs:654:13:654:13 | a | main.rs:654:13:654:13 | a | main.rs:655:15:655:15 | a | +| main.rs:658:5:658:5 | a | main.rs:654:13:654:13 | a | main.rs:659:15:659:15 | a | +| main.rs:663:9:663:9 | x | main.rs:663:9:663:9 | x | main.rs:664:20:664:20 | x | +| main.rs:667:9:667:9 | z | main.rs:667:9:667:9 | z | main.rs:668:20:668:20 | z | +| main.rs:676:17:676:20 | self | main.rs:676:17:676:20 | self | main.rs:677:10:677:13 | self | +| main.rs:682:13:682:13 | a | main.rs:682:13:682:13 | a | main.rs:683:5:683:5 | a | +| main.rs:683:5:683:5 | a | main.rs:682:13:682:13 | a | main.rs:686:15:686:15 | a | +| main.rs:704:9:704:22 | var_from_macro | main.rs:704:9:704:22 | var_from_macro | main.rs:706:15:706:28 | var_from_macro | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | +| main.rs:707:9:707:20 | var_in_macro | main.rs:707:9:707:20 | var_in_macro | main.rs:713:15:713:26 | var_in_macro | +| main.rs:712:15:712:42 | var_in_macro | main.rs:712:15:712:42 | var_in_macro | main.rs:712:30:712:41 | var_in_macro | +| main.rs:718:5:718:5 | x | main.rs:717:9:717:9 | x | main.rs:719:15:719:15 | x | +| main.rs:724:13:724:15 | cap | main.rs:724:13:724:15 | cap | main.rs:730:5:730:7 | cap | +| main.rs:724:20:724:20 | b | main.rs:724:20:724:20 | b | main.rs:726:20:726:20 | b | +| main.rs:730:5:730:13 | x | main.rs:723:13:723:13 | x | main.rs:731:15:731:15 | x | adjacentReads -| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | main.rs:38:15:38:16 | x3 | main.rs:40:9:40:10 | x3 | -| main.rs:45:9:45:10 | x4 | main.rs:45:9:45:10 | x4 | main.rs:46:15:46:16 | x4 | main.rs:51:15:51:16 | x4 | -| main.rs:106:9:106:10 | s1 | main.rs:106:9:106:10 | s1 | main.rs:109:11:109:12 | s1 | main.rs:109:11:109:12 | s1 | -| main.rs:132:9:132:15 | numbers | main.rs:132:9:132:15 | numbers | main.rs:134:11:134:17 | numbers | main.rs:149:11:149:17 | numbers | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | main.rs:216:11:216:12 | tv | main.rs:220:11:220:12 | tv | -| main.rs:215:9:215:10 | tv | main.rs:215:9:215:10 | tv | main.rs:220:11:220:12 | tv | main.rs:224:11:224:12 | tv | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:9:233:44 | a7 | main.rs:234:16:234:17 | a7 | main.rs:235:26:235:27 | a7 | -| main.rs:300:9:300:10 | c2 | main.rs:293:13:293:14 | c2 | main.rs:306:9:306:10 | c2 | main.rs:310:15:310:16 | c2 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | main.rs:305:9:305:10 | b4 | main.rs:309:15:309:16 | b4 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | main.rs:309:15:309:16 | b4 | main.rs:323:15:323:16 | b4 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | main.rs:304:9:304:11 | a10 | main.rs:308:15:308:17 | a10 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | main.rs:308:15:308:17 | a10 | main.rs:322:15:322:17 | a10 | -| main.rs:345:9:345:9 | f | main.rs:345:9:345:9 | f | main.rs:348:15:348:15 | f | main.rs:355:15:355:15 | f | -| main.rs:386:5:386:5 | a | main.rs:385:13:385:13 | a | main.rs:387:15:387:15 | a | main.rs:388:11:388:11 | a | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:401:6:401:6 | x | main.rs:402:10:402:10 | x | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:402:10:402:10 | x | main.rs:403:10:403:10 | x | -| main.rs:400:17:400:17 | x | main.rs:400:17:400:17 | x | main.rs:403:10:403:10 | x | main.rs:404:12:404:12 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:408:6:408:6 | x | main.rs:409:10:409:10 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:409:10:409:10 | x | main.rs:410:10:410:10 | x | -| main.rs:407:22:407:22 | x | main.rs:407:22:407:22 | x | main.rs:410:10:410:10 | x | main.rs:412:9:412:9 | x | -| main.rs:418:22:418:27 | &mut x | main.rs:416:13:416:13 | x | main.rs:421:15:421:15 | x | main.rs:425:19:425:19 | x | -| main.rs:424:9:424:9 | w | main.rs:424:9:424:9 | w | main.rs:428:9:428:9 | w | main.rs:430:7:430:7 | w | -| main.rs:490:13:490:13 | x | main.rs:490:13:490:13 | x | main.rs:491:15:491:15 | x | main.rs:492:15:492:15 | x | -| main.rs:496:9:496:9 | x | main.rs:490:13:490:13 | x | main.rs:497:19:497:19 | x | main.rs:498:19:498:19 | x | -| main.rs:500:9:500:9 | x | main.rs:490:13:490:13 | x | main.rs:501:19:501:19 | x | main.rs:502:19:502:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:512:19:512:19 | x | main.rs:520:19:520:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:512:19:512:19 | x | main.rs:522:19:522:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:514:19:514:19 | x | main.rs:520:19:520:19 | x | -| main.rs:508:9:508:9 | x | main.rs:508:9:508:9 | x | main.rs:514:19:514:19 | x | main.rs:522:19:522:19 | x | -| main.rs:540:17:540:17 | f | main.rs:540:17:540:17 | f | main.rs:544:9:544:9 | f | main.rs:545:9:545:9 | f | -| main.rs:551:15:551:15 | a | main.rs:550:13:550:13 | a | main.rs:552:5:552:5 | a | main.rs:553:15:553:15 | a | -| main.rs:559:13:559:13 | a | main.rs:559:13:559:13 | a | main.rs:560:15:560:15 | a | main.rs:561:5:561:5 | a | -| main.rs:559:13:559:13 | a | main.rs:559:13:559:13 | a | main.rs:561:5:561:5 | a | main.rs:562:15:562:15 | a | -| main.rs:568:9:568:9 | x | main.rs:568:9:568:9 | x | main.rs:569:20:569:20 | x | main.rs:570:15:570:15 | x | +| main.rs:39:9:39:10 | x3 | main.rs:39:9:39:10 | x3 | main.rs:40:15:40:16 | x3 | main.rs:42:9:42:10 | x3 | +| main.rs:47:9:47:10 | x4 | main.rs:47:9:47:10 | x4 | main.rs:48:15:48:16 | x4 | main.rs:53:15:53:16 | x4 | +| main.rs:98:9:98:9 | x | main.rs:98:9:98:9 | x | main.rs:100:7:100:7 | x | main.rs:103:13:103:13 | x | +| main.rs:111:9:111:10 | s1 | main.rs:111:9:111:10 | s1 | main.rs:114:11:114:12 | s1 | main.rs:114:11:114:12 | s1 | +| main.rs:137:9:137:15 | numbers | main.rs:137:9:137:15 | numbers | main.rs:139:11:139:17 | numbers | main.rs:154:11:154:17 | numbers | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | main.rs:221:11:221:12 | tv | main.rs:225:11:225:12 | tv | +| main.rs:220:9:220:10 | tv | main.rs:220:9:220:10 | tv | main.rs:225:11:225:12 | tv | main.rs:229:11:229:12 | tv | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:9:238:44 | a7 | main.rs:239:16:239:17 | a7 | main.rs:240:26:240:27 | a7 | +| main.rs:279:9:279:9 | x | main.rs:279:9:279:9 | x | main.rs:281:7:281:7 | x | main.rs:288:13:288:13 | x | +| main.rs:280:17:280:17 | x | main.rs:280:17:280:17 | x | main.rs:283:5:283:5 | x | main.rs:285:19:285:19 | x | +| main.rs:295:9:295:9 | x | main.rs:295:9:295:9 | x | main.rs:297:7:297:7 | x | main.rs:307:13:307:13 | x | +| main.rs:299:14:299:14 | x | main.rs:299:14:299:14 | x | main.rs:302:5:302:5 | x | main.rs:304:19:304:19 | x | +| main.rs:314:9:314:9 | x | main.rs:314:9:314:9 | x | main.rs:316:7:316:7 | x | main.rs:327:15:327:15 | x | +| main.rs:318:14:318:14 | x | main.rs:318:14:318:14 | x | main.rs:321:5:321:5 | x | main.rs:323:19:323:19 | x | +| main.rs:332:9:332:9 | x | main.rs:332:9:332:9 | x | main.rs:333:11:333:11 | x | main.rs:341:15:341:15 | x | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | main.rs:348:7:348:7 | x | main.rs:353:7:353:7 | x | +| main.rs:346:9:346:9 | x | main.rs:346:9:346:9 | x | main.rs:353:7:353:7 | x | main.rs:357:19:357:19 | x | +| main.rs:389:9:389:10 | c2 | main.rs:382:13:382:14 | c2 | main.rs:395:9:395:10 | c2 | main.rs:399:15:399:16 | c2 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | main.rs:394:9:394:10 | b4 | main.rs:398:15:398:16 | b4 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | main.rs:398:15:398:16 | b4 | main.rs:412:15:412:16 | b4 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | main.rs:393:9:393:11 | a10 | main.rs:397:15:397:17 | a10 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | main.rs:397:15:397:17 | a10 | main.rs:411:15:411:17 | a10 | +| main.rs:434:9:434:9 | f | main.rs:434:9:434:9 | f | main.rs:437:15:437:15 | f | main.rs:444:15:444:15 | f | +| main.rs:475:5:475:5 | a | main.rs:474:13:474:13 | a | main.rs:476:15:476:15 | a | main.rs:477:11:477:11 | a | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:490:6:490:6 | x | main.rs:491:10:491:10 | x | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:491:10:491:10 | x | main.rs:492:10:492:10 | x | +| main.rs:489:17:489:17 | x | main.rs:489:17:489:17 | x | main.rs:492:10:492:10 | x | main.rs:493:12:493:12 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:497:6:497:6 | x | main.rs:498:10:498:10 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:498:10:498:10 | x | main.rs:499:10:499:10 | x | +| main.rs:496:22:496:22 | x | main.rs:496:22:496:22 | x | main.rs:499:10:499:10 | x | main.rs:501:9:501:9 | x | +| main.rs:507:22:507:27 | &mut x | main.rs:505:13:505:13 | x | main.rs:511:15:511:15 | x | main.rs:515:19:515:19 | x | +| main.rs:514:9:514:9 | w | main.rs:514:9:514:9 | w | main.rs:518:9:518:9 | w | main.rs:520:7:520:7 | w | +| main.rs:585:13:585:13 | x | main.rs:585:13:585:13 | x | main.rs:586:15:586:15 | x | main.rs:587:15:587:15 | x | +| main.rs:591:9:591:9 | x | main.rs:585:13:585:13 | x | main.rs:592:19:592:19 | x | main.rs:593:19:593:19 | x | +| main.rs:595:9:595:9 | x | main.rs:585:13:585:13 | x | main.rs:596:19:596:19 | x | main.rs:597:19:597:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:607:19:607:19 | x | main.rs:615:19:615:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:607:19:607:19 | x | main.rs:617:19:617:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:609:19:609:19 | x | main.rs:615:19:615:19 | x | +| main.rs:603:9:603:9 | x | main.rs:603:9:603:9 | x | main.rs:609:19:609:19 | x | main.rs:617:19:617:19 | x | +| main.rs:635:17:635:17 | f | main.rs:635:17:635:17 | f | main.rs:639:9:639:9 | f | main.rs:640:9:640:9 | f | +| main.rs:646:15:646:15 | a | main.rs:645:13:645:13 | a | main.rs:647:5:647:5 | a | main.rs:648:15:648:15 | a | +| main.rs:654:13:654:13 | a | main.rs:654:13:654:13 | a | main.rs:655:15:655:15 | a | main.rs:656:5:656:5 | a | +| main.rs:654:13:654:13 | a | main.rs:654:13:654:13 | a | main.rs:656:5:656:5 | a | main.rs:657:15:657:15 | a | +| main.rs:663:9:663:9 | x | main.rs:663:9:663:9 | x | main.rs:664:20:664:20 | x | main.rs:665:15:665:15 | x | phi -| main.rs:203:9:203:44 | SSA phi(a3) | main.rs:203:9:203:44 | a3 | main.rs:203:22:203:23 | a3 | -| main.rs:203:9:203:44 | SSA phi(a3) | main.rs:203:9:203:44 | a3 | main.rs:203:42:203:43 | a3 | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:9:217:81 | a4 | main.rs:217:28:217:29 | a4 | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:9:217:81 | a4 | main.rs:217:54:217:55 | a4 | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:9:217:81 | a4 | main.rs:217:79:217:80 | a4 | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:9:221:83 | a5 | main.rs:221:10:221:57 | [match(true)] SSA phi(a5) | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:9:221:83 | a5 | main.rs:221:81:221:82 | a5 | -| main.rs:221:10:221:57 | [match(true)] SSA phi(a5) | main.rs:221:9:221:83 | a5 | main.rs:221:29:221:30 | a5 | -| main.rs:221:10:221:57 | [match(true)] SSA phi(a5) | main.rs:221:9:221:83 | a5 | main.rs:221:55:221:56 | a5 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | main.rs:225:28:225:29 | a6 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | main.rs:225:35:225:82 | SSA phi(a6) | -| main.rs:225:35:225:82 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | main.rs:225:55:225:56 | a6 | -| main.rs:225:35:225:82 | SSA phi(a6) | main.rs:225:9:225:83 | a6 | main.rs:225:80:225:81 | a6 | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:9:233:44 | a7 | main.rs:233:22:233:23 | a7 | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:9:233:44 | a7 | main.rs:233:42:233:43 | a7 | -| main.rs:245:14:245:51 | [match(true)] SSA phi(a11) | main.rs:245:14:245:51 | a11 | main.rs:245:27:245:29 | a11 | -| main.rs:245:14:245:51 | [match(true)] SSA phi(a11) | main.rs:245:14:245:51 | a11 | main.rs:245:48:245:50 | a11 | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:9:267:109 | a13 | main.rs:267:27:267:29 | a13 | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:9:267:109 | a13 | main.rs:267:35:267:82 | [match(true)] SSA phi(a13) | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:9:267:109 | a13 | main.rs:267:106:267:108 | a13 | -| main.rs:267:35:267:82 | [match(true)] SSA phi(a13) | main.rs:267:9:267:109 | a13 | main.rs:267:54:267:56 | a13 | -| main.rs:267:35:267:82 | [match(true)] SSA phi(a13) | main.rs:267:9:267:109 | a13 | main.rs:267:79:267:81 | a13 | -| main.rs:284:20:284:55 | SSA phi(a9) | main.rs:284:20:284:55 | a9 | main.rs:284:33:284:34 | a9 | -| main.rs:284:20:284:55 | SSA phi(a9) | main.rs:284:20:284:55 | a9 | main.rs:284:53:284:54 | a9 | -| main.rs:494:13:503:5 | SSA phi(x) | main.rs:490:13:490:13 | x | main.rs:496:9:496:9 | x | -| main.rs:494:13:503:5 | SSA phi(x) | main.rs:490:13:490:13 | x | main.rs:500:9:500:9 | x | -| main.rs:629:17:631:9 | SSA phi(x) | main.rs:626:13:626:13 | x | main.rs:627:19:632:5 | x | -| main.rs:629:17:631:9 | SSA phi(x) | main.rs:626:13:626:13 | x | main.rs:630:13:630:13 | x | +| main.rs:208:9:208:44 | SSA phi(a3) | main.rs:208:9:208:44 | a3 | main.rs:208:22:208:23 | a3 | +| main.rs:208:9:208:44 | SSA phi(a3) | main.rs:208:9:208:44 | a3 | main.rs:208:42:208:43 | a3 | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:9:222:81 | a4 | main.rs:222:28:222:29 | a4 | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:9:222:81 | a4 | main.rs:222:54:222:55 | a4 | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:9:222:81 | a4 | main.rs:222:79:222:80 | a4 | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:9:226:83 | a5 | main.rs:226:10:226:57 | [match(true)] SSA phi(a5) | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:9:226:83 | a5 | main.rs:226:81:226:82 | a5 | +| main.rs:226:10:226:57 | [match(true)] SSA phi(a5) | main.rs:226:9:226:83 | a5 | main.rs:226:29:226:30 | a5 | +| main.rs:226:10:226:57 | [match(true)] SSA phi(a5) | main.rs:226:9:226:83 | a5 | main.rs:226:55:226:56 | a5 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | main.rs:230:28:230:29 | a6 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | main.rs:230:35:230:82 | SSA phi(a6) | +| main.rs:230:35:230:82 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | main.rs:230:55:230:56 | a6 | +| main.rs:230:35:230:82 | SSA phi(a6) | main.rs:230:9:230:83 | a6 | main.rs:230:80:230:81 | a6 | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:9:238:44 | a7 | main.rs:238:22:238:23 | a7 | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:9:238:44 | a7 | main.rs:238:42:238:43 | a7 | +| main.rs:250:14:250:51 | [match(true)] SSA phi(a11) | main.rs:250:14:250:51 | a11 | main.rs:250:27:250:29 | a11 | +| main.rs:250:14:250:51 | [match(true)] SSA phi(a11) | main.rs:250:14:250:51 | a11 | main.rs:250:48:250:50 | a11 | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:9:272:109 | a13 | main.rs:272:27:272:29 | a13 | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:9:272:109 | a13 | main.rs:272:35:272:82 | [match(true)] SSA phi(a13) | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:9:272:109 | a13 | main.rs:272:106:272:108 | a13 | +| main.rs:272:35:272:82 | [match(true)] SSA phi(a13) | main.rs:272:9:272:109 | a13 | main.rs:272:54:272:56 | a13 | +| main.rs:272:35:272:82 | [match(true)] SSA phi(a13) | main.rs:272:9:272:109 | a13 | main.rs:272:79:272:81 | a13 | +| main.rs:373:20:373:55 | SSA phi(a9) | main.rs:373:20:373:55 | a9 | main.rs:373:33:373:34 | a9 | +| main.rs:373:20:373:55 | SSA phi(a9) | main.rs:373:20:373:55 | a9 | main.rs:373:53:373:54 | a9 | +| main.rs:589:13:598:5 | SSA phi(x) | main.rs:585:13:585:13 | x | main.rs:591:9:591:9 | x | +| main.rs:589:13:598:5 | SSA phi(x) | main.rs:585:13:585:13 | x | main.rs:595:9:595:9 | x | +| main.rs:726:17:728:9 | SSA phi(x) | main.rs:723:13:723:13 | x | main.rs:724:19:729:5 | x | +| main.rs:726:17:728:9 | SSA phi(x) | main.rs:723:13:723:13 | x | main.rs:727:13:727:13 | x | phiReadNode -| main.rs:108:11:109:12 | SSA phi read(s1) | main.rs:106:9:106:10 | s1 | -| main.rs:510:13:515:5 | SSA phi read(x) | main.rs:508:9:508:9 | x | +| main.rs:114:11:114:12 | SSA phi read(s1) | main.rs:111:9:111:10 | s1 | +| main.rs:605:13:610:5 | SSA phi read(x) | main.rs:603:9:603:9 | x | phiReadNodeFirstRead -| main.rs:108:11:109:12 | SSA phi read(s1) | main.rs:106:9:106:10 | s1 | main.rs:109:11:109:12 | s1 | -| main.rs:510:13:515:5 | SSA phi read(x) | main.rs:508:9:508:9 | x | main.rs:520:19:520:19 | x | -| main.rs:510:13:515:5 | SSA phi read(x) | main.rs:508:9:508:9 | x | main.rs:522:19:522:19 | x | +| main.rs:114:11:114:12 | SSA phi read(s1) | main.rs:111:9:111:10 | s1 | main.rs:114:11:114:12 | s1 | +| main.rs:605:13:610:5 | SSA phi read(x) | main.rs:603:9:603:9 | x | main.rs:615:19:615:19 | x | +| main.rs:605:13:610:5 | SSA phi read(x) | main.rs:603:9:603:9 | x | main.rs:617:19:617:19 | x | phiReadInput -| main.rs:108:11:109:12 | SSA phi read(s1) | main.rs:106:9:106:10 | s1 | -| main.rs:108:11:109:12 | SSA phi read(s1) | main.rs:109:11:109:12 | SSA read(s1) | -| main.rs:510:13:515:5 | SSA phi read(x) | main.rs:512:19:512:19 | SSA read(x) | -| main.rs:510:13:515:5 | SSA phi read(x) | main.rs:514:19:514:19 | SSA read(x) | +| main.rs:114:11:114:12 | SSA phi read(s1) | main.rs:111:9:111:10 | s1 | +| main.rs:114:11:114:12 | SSA phi read(s1) | main.rs:114:11:114:12 | SSA read(s1) | +| main.rs:605:13:610:5 | SSA phi read(x) | main.rs:607:19:607:19 | SSA read(x) | +| main.rs:605:13:610:5 | SSA phi read(x) | main.rs:609:19:609:19 | SSA read(x) | ultimateDef -| main.rs:203:9:203:44 | SSA phi(a3) | main.rs:203:22:203:23 | a3 | -| main.rs:203:9:203:44 | SSA phi(a3) | main.rs:203:42:203:43 | a3 | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:28:217:29 | a4 | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:54:217:55 | a4 | -| main.rs:217:9:217:81 | SSA phi(a4) | main.rs:217:79:217:80 | a4 | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:29:221:30 | a5 | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:55:221:56 | a5 | -| main.rs:221:9:221:83 | SSA phi(a5) | main.rs:221:81:221:82 | a5 | -| main.rs:221:10:221:57 | [match(true)] SSA phi(a5) | main.rs:221:29:221:30 | a5 | -| main.rs:221:10:221:57 | [match(true)] SSA phi(a5) | main.rs:221:55:221:56 | a5 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:28:225:29 | a6 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:55:225:56 | a6 | -| main.rs:225:9:225:83 | SSA phi(a6) | main.rs:225:80:225:81 | a6 | -| main.rs:225:35:225:82 | SSA phi(a6) | main.rs:225:55:225:56 | a6 | -| main.rs:225:35:225:82 | SSA phi(a6) | main.rs:225:80:225:81 | a6 | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:22:233:23 | a7 | -| main.rs:233:9:233:44 | [match(true)] SSA phi(a7) | main.rs:233:42:233:43 | a7 | -| main.rs:245:14:245:51 | [match(true)] SSA phi(a11) | main.rs:245:27:245:29 | a11 | -| main.rs:245:14:245:51 | [match(true)] SSA phi(a11) | main.rs:245:48:245:50 | a11 | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:27:267:29 | a13 | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:54:267:56 | a13 | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:79:267:81 | a13 | -| main.rs:267:9:267:109 | SSA phi(a13) | main.rs:267:106:267:108 | a13 | -| main.rs:267:35:267:82 | [match(true)] SSA phi(a13) | main.rs:267:54:267:56 | a13 | -| main.rs:267:35:267:82 | [match(true)] SSA phi(a13) | main.rs:267:79:267:81 | a13 | -| main.rs:284:20:284:55 | SSA phi(a9) | main.rs:284:33:284:34 | a9 | -| main.rs:284:20:284:55 | SSA phi(a9) | main.rs:284:53:284:54 | a9 | -| main.rs:494:13:503:5 | SSA phi(x) | main.rs:496:9:496:9 | x | -| main.rs:494:13:503:5 | SSA phi(x) | main.rs:500:9:500:9 | x | -| main.rs:629:17:631:9 | SSA phi(x) | main.rs:627:19:632:5 | x | -| main.rs:629:17:631:9 | SSA phi(x) | main.rs:630:13:630:13 | x | +| main.rs:208:9:208:44 | SSA phi(a3) | main.rs:208:22:208:23 | a3 | +| main.rs:208:9:208:44 | SSA phi(a3) | main.rs:208:42:208:43 | a3 | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:28:222:29 | a4 | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:54:222:55 | a4 | +| main.rs:222:9:222:81 | SSA phi(a4) | main.rs:222:79:222:80 | a4 | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:29:226:30 | a5 | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:55:226:56 | a5 | +| main.rs:226:9:226:83 | SSA phi(a5) | main.rs:226:81:226:82 | a5 | +| main.rs:226:10:226:57 | [match(true)] SSA phi(a5) | main.rs:226:29:226:30 | a5 | +| main.rs:226:10:226:57 | [match(true)] SSA phi(a5) | main.rs:226:55:226:56 | a5 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:28:230:29 | a6 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:55:230:56 | a6 | +| main.rs:230:9:230:83 | SSA phi(a6) | main.rs:230:80:230:81 | a6 | +| main.rs:230:35:230:82 | SSA phi(a6) | main.rs:230:55:230:56 | a6 | +| main.rs:230:35:230:82 | SSA phi(a6) | main.rs:230:80:230:81 | a6 | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:22:238:23 | a7 | +| main.rs:238:9:238:44 | [match(true)] SSA phi(a7) | main.rs:238:42:238:43 | a7 | +| main.rs:250:14:250:51 | [match(true)] SSA phi(a11) | main.rs:250:27:250:29 | a11 | +| main.rs:250:14:250:51 | [match(true)] SSA phi(a11) | main.rs:250:48:250:50 | a11 | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:27:272:29 | a13 | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:54:272:56 | a13 | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:79:272:81 | a13 | +| main.rs:272:9:272:109 | SSA phi(a13) | main.rs:272:106:272:108 | a13 | +| main.rs:272:35:272:82 | [match(true)] SSA phi(a13) | main.rs:272:54:272:56 | a13 | +| main.rs:272:35:272:82 | [match(true)] SSA phi(a13) | main.rs:272:79:272:81 | a13 | +| main.rs:373:20:373:55 | SSA phi(a9) | main.rs:373:33:373:34 | a9 | +| main.rs:373:20:373:55 | SSA phi(a9) | main.rs:373:53:373:54 | a9 | +| main.rs:589:13:598:5 | SSA phi(x) | main.rs:591:9:591:9 | x | +| main.rs:589:13:598:5 | SSA phi(x) | main.rs:595:9:595:9 | x | +| main.rs:726:17:728:9 | SSA phi(x) | main.rs:724:19:729:5 | x | +| main.rs:726:17:728:9 | SSA phi(x) | main.rs:727:13:727:13 | x | assigns -| main.rs:18:9:18:10 | x1 | main.rs:18:14:18:16 | "a" | -| main.rs:23:13:23:14 | x2 | main.rs:23:18:23:18 | 4 | -| main.rs:25:5:25:6 | x2 | main.rs:25:10:25:10 | 5 | -| main.rs:30:13:30:13 | x | main.rs:30:17:30:17 | 1 | -| main.rs:32:5:32:5 | x | main.rs:32:9:32:9 | 2 | -| main.rs:37:9:37:10 | x3 | main.rs:37:14:37:14 | 1 | -| main.rs:39:9:39:10 | x3 | main.rs:40:9:40:14 | ... + ... | -| main.rs:45:9:45:10 | x4 | main.rs:45:14:45:16 | "a" | -| main.rs:48:13:48:14 | x4 | main.rs:48:18:48:20 | "b" | -| main.rs:77:9:77:10 | p1 | main.rs:77:14:77:37 | Point {...} | -| main.rs:87:9:87:10 | s1 | main.rs:87:14:87:41 | Some(...) | -| main.rs:106:9:106:10 | s1 | main.rs:106:14:106:41 | Some(...) | -| main.rs:115:9:115:10 | x6 | main.rs:115:14:115:20 | Some(...) | -| main.rs:116:9:116:10 | y1 | main.rs:116:14:116:15 | 10 | -| main.rs:132:9:132:15 | numbers | main.rs:132:19:132:35 | TupleExpr | -| main.rs:163:9:163:10 | p2 | main.rs:163:14:163:37 | Point {...} | -| main.rs:177:9:177:11 | msg | main.rs:177:15:177:38 | ...::Hello {...} | -| main.rs:201:9:201:14 | either | main.rs:201:18:201:33 | ...::Left(...) | -| main.rs:215:9:215:10 | tv | main.rs:215:14:215:36 | ...::Second(...) | -| main.rs:231:9:231:14 | either | main.rs:231:18:231:33 | ...::Left(...) | -| main.rs:241:9:241:14 | either | main.rs:241:18:241:33 | ...::Left(...) | -| main.rs:265:9:265:10 | fv | main.rs:265:14:265:35 | ...::Second(...) | -| main.rs:327:9:327:23 | example_closure | main.rs:328:9:329:9 | \|...\| x | -| main.rs:330:9:330:10 | n1 | main.rs:331:9:331:26 | example_closure(...) | -| main.rs:335:9:335:26 | immutable_variable | main.rs:336:5:337:9 | \|...\| x | -| main.rs:338:9:338:10 | n2 | main.rs:339:9:339:29 | immutable_variable(...) | -| main.rs:345:9:345:9 | f | main.rs:346:9:347:9 | \|...\| x | -| main.rs:368:13:368:13 | f | main.rs:369:13:370:13 | \|...\| x | -| main.rs:376:9:376:9 | v | main.rs:376:13:376:41 | &... | -| main.rs:385:13:385:13 | a | main.rs:385:17:385:17 | 0 | -| main.rs:393:13:393:13 | i | main.rs:393:17:393:17 | 1 | -| main.rs:394:9:394:13 | ref_i | main.rs:395:9:395:14 | &mut i | -| main.rs:416:13:416:13 | x | main.rs:416:17:416:17 | 2 | -| main.rs:417:9:417:9 | y | main.rs:418:9:418:28 | mutate_param(...) | -| main.rs:423:13:423:13 | z | main.rs:423:17:423:17 | 4 | -| main.rs:424:9:424:9 | w | main.rs:425:9:425:19 | &mut ... | -| main.rs:436:13:436:13 | x | main.rs:436:17:436:17 | 1 | -| main.rs:437:9:437:9 | y | main.rs:438:9:438:14 | &mut x | -| main.rs:444:9:444:9 | x | main.rs:444:13:444:15 | 100 | -| main.rs:446:9:446:11 | cap | main.rs:446:15:448:5 | \|...\| ... | -| main.rs:454:13:454:13 | x | main.rs:454:17:454:17 | 1 | -| main.rs:456:9:456:16 | closure1 | main.rs:456:20:458:5 | \|...\| ... | -| main.rs:462:13:462:13 | y | main.rs:462:17:462:17 | 2 | -| main.rs:464:13:464:20 | closure2 | main.rs:464:24:466:5 | \|...\| ... | -| main.rs:465:9:465:9 | y | main.rs:465:13:465:13 | 3 | -| main.rs:470:13:470:13 | z | main.rs:470:17:470:17 | 2 | -| main.rs:472:13:472:20 | closure3 | main.rs:472:24:474:5 | \|...\| ... | -| main.rs:480:13:480:13 | i | main.rs:480:22:480:22 | 0 | -| main.rs:481:9:481:13 | block | main.rs:481:17:483:5 | { ... } | -| main.rs:482:9:482:9 | i | main.rs:482:13:482:13 | 1 | -| main.rs:490:13:490:13 | x | main.rs:490:17:490:17 | 1 | -| main.rs:496:9:496:9 | x | main.rs:496:13:496:13 | 2 | -| main.rs:500:9:500:9 | x | main.rs:500:13:500:13 | 3 | -| main.rs:508:9:508:9 | x | main.rs:508:13:508:13 | 1 | -| main.rs:540:17:540:17 | f | main.rs:540:21:543:9 | \|...\| ... | -| main.rs:550:13:550:13 | a | main.rs:550:17:550:35 | MyStruct {...} | -| main.rs:554:5:554:5 | a | main.rs:554:9:554:27 | MyStruct {...} | -| main.rs:559:13:559:13 | a | main.rs:559:17:559:25 | [...] | -| main.rs:563:5:563:5 | a | main.rs:563:9:563:17 | [...] | -| main.rs:568:9:568:9 | x | main.rs:568:13:568:14 | 16 | -| main.rs:572:9:572:9 | z | main.rs:572:13:572:14 | 17 | -| main.rs:587:13:587:13 | a | main.rs:587:17:587:35 | MyStruct {...} | -| main.rs:608:9:608:22 | var_from_macro | main.rs:609:9:609:25 | MacroExpr | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:23:609:24 | 37 | -| main.rs:611:9:611:20 | var_in_macro | main.rs:611:24:611:25 | 33 | -| main.rs:615:15:615:42 | var_in_macro | main.rs:615:15:615:42 | 0 | -| main.rs:621:5:621:5 | x | main.rs:621:9:621:9 | 1 | -| main.rs:626:13:626:13 | x | main.rs:626:17:626:19 | 100 | -| main.rs:627:13:627:15 | cap | main.rs:627:19:632:5 | \|...\| ... | -| main.rs:630:13:630:13 | x | main.rs:630:17:630:19 | 200 | +| main.rs:20:9:20:10 | x1 | main.rs:20:14:20:16 | "a" | +| main.rs:25:13:25:14 | x2 | main.rs:25:18:25:18 | 4 | +| main.rs:27:5:27:6 | x2 | main.rs:27:10:27:10 | 5 | +| main.rs:32:13:32:13 | x | main.rs:32:17:32:17 | 1 | +| main.rs:34:5:34:5 | x | main.rs:34:9:34:9 | 2 | +| main.rs:39:9:39:10 | x3 | main.rs:39:14:39:14 | 1 | +| main.rs:41:9:41:10 | x3 | main.rs:42:9:42:14 | ... + ... | +| main.rs:47:9:47:10 | x4 | main.rs:47:14:47:16 | "a" | +| main.rs:50:13:50:14 | x4 | main.rs:50:18:50:20 | "b" | +| main.rs:79:9:79:10 | p1 | main.rs:79:14:79:37 | Point {...} | +| main.rs:89:9:89:10 | s1 | main.rs:89:14:89:41 | Some(...) | +| main.rs:98:9:98:9 | x | main.rs:98:13:98:22 | Some(...) | +| main.rs:102:13:102:13 | x | main.rs:103:13:103:13 | x | +| main.rs:111:9:111:10 | s1 | main.rs:111:14:111:41 | Some(...) | +| main.rs:120:9:120:10 | x6 | main.rs:120:14:120:20 | Some(...) | +| main.rs:121:9:121:10 | y1 | main.rs:121:14:121:15 | 10 | +| main.rs:137:9:137:15 | numbers | main.rs:137:19:137:35 | TupleExpr | +| main.rs:168:9:168:10 | p2 | main.rs:168:14:168:37 | Point {...} | +| main.rs:182:9:182:11 | msg | main.rs:182:15:182:38 | ...::Hello {...} | +| main.rs:206:9:206:14 | either | main.rs:206:18:206:33 | ...::Left(...) | +| main.rs:220:9:220:10 | tv | main.rs:220:14:220:36 | ...::Second(...) | +| main.rs:236:9:236:14 | either | main.rs:236:18:236:33 | ...::Left(...) | +| main.rs:246:9:246:14 | either | main.rs:246:18:246:33 | ...::Left(...) | +| main.rs:270:9:270:10 | fv | main.rs:270:14:270:35 | ...::Second(...) | +| main.rs:279:9:279:9 | x | main.rs:279:12:279:19 | Some(...) | +| main.rs:287:13:287:13 | x | main.rs:288:13:288:13 | x | +| main.rs:295:9:295:9 | x | main.rs:295:13:295:20 | Some(...) | +| main.rs:306:13:306:13 | x | main.rs:307:13:307:13 | x | +| main.rs:314:9:314:9 | x | main.rs:314:13:314:20 | Some(...) | +| main.rs:332:9:332:9 | x | main.rs:332:13:332:20 | Some(...) | +| main.rs:335:20:335:20 | x | main.rs:336:18:336:18 | x | +| main.rs:346:9:346:9 | x | main.rs:346:13:346:18 | Ok(...) | +| main.rs:416:9:416:23 | example_closure | main.rs:417:9:418:9 | \|...\| x | +| main.rs:419:9:419:10 | n1 | main.rs:420:9:420:26 | example_closure(...) | +| main.rs:424:9:424:26 | immutable_variable | main.rs:425:5:426:9 | \|...\| x | +| main.rs:427:9:427:10 | n2 | main.rs:428:9:428:29 | immutable_variable(...) | +| main.rs:434:9:434:9 | f | main.rs:435:9:436:9 | \|...\| x | +| main.rs:457:13:457:13 | f | main.rs:458:13:459:13 | \|...\| x | +| main.rs:465:9:465:9 | v | main.rs:465:13:465:41 | &... | +| main.rs:474:13:474:13 | a | main.rs:474:17:474:17 | 0 | +| main.rs:482:13:482:13 | i | main.rs:482:17:482:17 | 1 | +| main.rs:483:9:483:13 | ref_i | main.rs:484:9:484:14 | &mut i | +| main.rs:505:13:505:13 | x | main.rs:505:17:505:17 | 2 | +| main.rs:506:9:506:9 | y | main.rs:507:9:507:28 | mutate_param(...) | +| main.rs:513:13:513:13 | z | main.rs:513:17:513:17 | 4 | +| main.rs:514:9:514:9 | w | main.rs:515:9:515:19 | &mut ... | +| main.rs:527:13:527:13 | x | main.rs:527:17:527:17 | 1 | +| main.rs:528:9:528:9 | y | main.rs:529:9:529:14 | &mut x | +| main.rs:535:9:535:9 | x | main.rs:535:13:535:15 | 100 | +| main.rs:538:9:538:11 | cap | main.rs:538:15:540:5 | \|...\| ... | +| main.rs:546:13:546:13 | x | main.rs:546:17:546:17 | 1 | +| main.rs:549:9:549:16 | closure1 | main.rs:549:20:551:5 | \|...\| ... | +| main.rs:555:13:555:13 | y | main.rs:555:17:555:17 | 2 | +| main.rs:558:13:558:20 | closure2 | main.rs:558:24:560:5 | \|...\| ... | +| main.rs:559:9:559:9 | y | main.rs:559:13:559:13 | 3 | +| main.rs:564:13:564:13 | z | main.rs:564:17:564:17 | 2 | +| main.rs:567:13:567:20 | closure3 | main.rs:567:24:569:5 | \|...\| ... | +| main.rs:575:13:575:13 | i | main.rs:575:22:575:22 | 0 | +| main.rs:576:9:576:13 | block | main.rs:576:17:578:5 | { ... } | +| main.rs:577:9:577:9 | i | main.rs:577:13:577:13 | 1 | +| main.rs:585:13:585:13 | x | main.rs:585:17:585:17 | 1 | +| main.rs:591:9:591:9 | x | main.rs:591:13:591:13 | 2 | +| main.rs:595:9:595:9 | x | main.rs:595:13:595:13 | 3 | +| main.rs:603:9:603:9 | x | main.rs:603:13:603:13 | 1 | +| main.rs:635:17:635:17 | f | main.rs:635:21:638:9 | \|...\| ... | +| main.rs:645:13:645:13 | a | main.rs:645:17:645:35 | MyStruct {...} | +| main.rs:649:5:649:5 | a | main.rs:649:9:649:27 | MyStruct {...} | +| main.rs:654:13:654:13 | a | main.rs:654:17:654:25 | [...] | +| main.rs:658:5:658:5 | a | main.rs:658:9:658:17 | [...] | +| main.rs:663:9:663:9 | x | main.rs:663:13:663:14 | 16 | +| main.rs:667:9:667:9 | z | main.rs:667:13:667:14 | 17 | +| main.rs:682:13:682:13 | a | main.rs:682:17:682:35 | MyStruct {...} | +| main.rs:704:9:704:22 | var_from_macro | main.rs:705:9:705:25 | MacroExpr | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:23:705:24 | 37 | +| main.rs:707:9:707:20 | var_in_macro | main.rs:707:24:707:25 | 33 | +| main.rs:712:15:712:42 | var_in_macro | main.rs:712:15:712:42 | 0 | +| main.rs:718:5:718:5 | x | main.rs:718:9:718:9 | 1 | +| main.rs:723:13:723:13 | x | main.rs:723:17:723:19 | 100 | +| main.rs:724:13:724:15 | cap | main.rs:724:19:729:5 | \|...\| ... | +| main.rs:727:13:727:13 | x | main.rs:727:17:727:19 | 200 | diff --git a/rust/ql/test/library-tests/variables/main.rs b/rust/ql/test/library-tests/variables/main.rs index 0701bdef3237..97ab183099e7 100644 --- a/rust/ql/test/library-tests/variables/main.rs +++ b/rust/ql/test/library-tests/variables/main.rs @@ -1,3 +1,5 @@ +#![feature(let_chains)] +#![feature(if_let_guard)] use std::ops::AddAssign; fn print_str(s: &str) // s @@ -93,13 +95,16 @@ fn let_pattern3() { } fn let_pattern4() { - let Some(x5): Option<&str> // x5 - = Some("x5") - + let x = Some("x5"); // x1 + let Some(x): Option<&str> // x2 + = x // $ read_access=x1 else { + let x = // x3 + x; // $ read_access=x1 + print_str(x.unwrap()); // $ read_access=x3 todo!() }; - print_str(x5); // $ read_access=x5 + print_str(x); // $ read_access=x2 } fn let_pattern5() { @@ -269,6 +274,90 @@ fn match_pattern9() { } } +#[rustfmt::skip] +fn match_pattern10() { + let x= Some(42); // x1 + if let Some(x) // x2 + = x // $ read_access=x1 + && + x > 0 // $ read_access=x2 + { + print_i64(x); // $ read_access=x2 + } else { + let x = // x3 + x; // $ read_access=x1 + print_i64(x.unwrap()); // $ read_access=x3 + } +} + +#[rustfmt::skip] +fn match_pattern11() { + let x = Some(42); // x1 + if let Some(x) // x2 + = x // $ read_access=x1 + && + let Some(x) // x3 + = Some(x) // $ read_access=x2 + && + x > 0 // $ read_access=x3 + { + print_i64(x); // $ read_access=x3 + } else { + let x = // x4 + x; // $ read_access=x1 + print_i64(x.unwrap()); // $ read_access=x4 + } +} + +#[rustfmt::skip] +fn match_pattern12() { + let x = Some(42); // x1 + while let Some(x) // x2 + = x // $ read_access=x1 + && + let Some(x) // x3 + = Some(x) // $ read_access=x2 + && + x > 0 // $ read_access=x3 + { + print_i64(x); // $ read_access=x3 + break; + } + + print_i64(x.unwrap()); // $ read_access=x1 +} + +#[rustfmt::skip] +fn match_pattern13() { + let x = Some(42); // x1 + match x { // $ read_access=x1 + Some(x) // x2 + if let x // x3 + = x // $ read_access=x2 + && x > 0 => (), // $ read_access=x3 + _ => () + } + + print_i64(x.unwrap()); // $ read_access=x1 +} + +#[rustfmt::skip] +fn match_pattern14() { + let x = Ok(42); // x1 + if let Err(x) // x2 + = x // $ read_access=x1 + { + print_i64(x); // $ read_access=x2 + } + else if let Ok(x) // x3 + = x // $ read_access=x1 + { + print_i64(x); // $ read_access=x3 + } else { + print_i64(x.unwrap()); // $ read_access=x1 + } +} + fn param_pattern1( a8: &str, // a8 ( @@ -417,6 +506,7 @@ fn mutate_arg() { let y = // y mutate_param(&mut x); // $ access=x *y = 10; // $ read_access=y + // prints 10, not 4 print_i64(x); // $ read_access=x @@ -428,6 +518,7 @@ fn mutate_arg() { w, // $ read_access=w ); **w = 11; // $ read_access=w + // prints 11, not 8 print_i64(z); // $ read_access=z } @@ -442,6 +533,7 @@ fn alias() { fn capture_immut() { let x = 100; // x + // Captures immutable value by immutable reference let cap = || { print_i64(x); // $ read_access=x @@ -452,6 +544,7 @@ fn capture_immut() { fn capture_mut() { let mut x = 1; // x + // Captures mutable value by immutable reference let closure1 = || { print_i64(x); // $ read_access=x @@ -460,6 +553,7 @@ fn capture_mut() { print_i64(x); // $ read_access=x let mut y = 2; // y + // Captures mutable value by mutable reference let mut closure2 = || { y = 3; // $ write_access=y @@ -468,6 +562,7 @@ fn capture_mut() { print_i64(y); // $ read_access=y let mut z = 2; // z + // Captures mutable value by mutable reference and calls mutating method let mut closure3 = || { z.add_assign(1); // $ read_access=z @@ -586,6 +681,7 @@ impl MyStruct { fn ref_methodcall_receiver() { let mut a = MyStruct { val: 1 }; // a a.bar(); // $ read_access=a + // prints 3, not 1 print_i64(a.val); // $ read_access=a } @@ -609,6 +705,7 @@ fn macro_invocation() { let_in_macro!(37); // $ read_access=var_in_macro print_i64(var_from_macro); // $ read_access=var_from_macro1 let var_in_macro = 33; // var_in_macro1 + // Our analysis does not currently respect the hygiene rules of Rust macros // (https://veykril.github.io/tlborm/decl-macros/minutiae/hygiene.html), because // all we have access to is the expanded AST @@ -653,6 +750,11 @@ fn main() { match_pattern7(); match_pattern8(); match_pattern9(); + match_pattern10(); + match_pattern11(); + match_pattern12(); + match_pattern13(); + match_pattern14(); param_pattern1("a", ("b", "c")); param_pattern2(Either::Left(45)); destruct_assignment(); diff --git a/rust/ql/test/library-tests/variables/options.yml b/rust/ql/test/library-tests/variables/options.yml new file mode 100644 index 000000000000..a394083e5212 --- /dev/null +++ b/rust/ql/test/library-tests/variables/options.yml @@ -0,0 +1 @@ +qltest_use_nightly: true diff --git a/rust/ql/test/library-tests/variables/variables.expected b/rust/ql/test/library-tests/variables/variables.expected index b77fbe505b6a..d34635b6da31 100644 --- a/rust/ql/test/library-tests/variables/variables.expected +++ b/rust/ql/test/library-tests/variables/variables.expected @@ -1,563 +1,647 @@ testFailures variable -| main.rs:3:14:3:14 | s | -| main.rs:8:14:8:14 | i | -| main.rs:13:18:13:18 | i | -| main.rs:18:9:18:10 | x1 | -| main.rs:23:13:23:14 | x2 | -| main.rs:30:13:30:13 | x | -| main.rs:37:9:37:10 | x3 | +| main.rs:5:14:5:14 | s | +| main.rs:10:14:10:14 | i | +| main.rs:15:18:15:18 | i | +| main.rs:20:9:20:10 | x1 | +| main.rs:25:13:25:14 | x2 | +| main.rs:32:13:32:13 | x | | main.rs:39:9:39:10 | x3 | -| main.rs:45:9:45:10 | x4 | -| main.rs:48:13:48:14 | x4 | -| main.rs:62:13:62:14 | a1 | -| main.rs:63:13:63:14 | b1 | -| main.rs:66:13:66:13 | x | -| main.rs:67:13:67:13 | y | -| main.rs:77:9:77:10 | p1 | -| main.rs:79:12:79:13 | a2 | -| main.rs:80:12:80:13 | b2 | -| main.rs:87:9:87:10 | s1 | -| main.rs:89:21:89:22 | s2 | -| main.rs:96:14:96:15 | x5 | -| main.rs:106:9:106:10 | s1 | -| main.rs:108:24:108:25 | s2 | -| main.rs:115:9:115:10 | x6 | -| main.rs:116:9:116:10 | y1 | -| main.rs:120:14:120:15 | y1 | -| main.rs:132:9:132:15 | numbers | -| main.rs:137:13:137:17 | first | -| main.rs:139:13:139:17 | third | -| main.rs:141:13:141:17 | fifth | -| main.rs:152:13:152:17 | first | -| main.rs:154:13:154:16 | last | -| main.rs:163:9:163:10 | p2 | -| main.rs:167:16:167:17 | x7 | -| main.rs:177:9:177:11 | msg | -| main.rs:182:17:182:27 | id_variable | -| main.rs:187:26:187:27 | id | -| main.rs:201:9:201:14 | either | -| main.rs:203:9:203:44 | a3 | -| main.rs:215:9:215:10 | tv | -| main.rs:217:9:217:81 | a4 | -| main.rs:221:9:221:83 | a5 | -| main.rs:225:9:225:83 | a6 | -| main.rs:231:9:231:14 | either | -| main.rs:233:9:233:44 | a7 | -| main.rs:241:9:241:14 | either | -| main.rs:244:13:244:13 | e | -| main.rs:245:14:245:51 | a11 | -| main.rs:248:33:248:35 | a12 | -| main.rs:265:9:265:10 | fv | -| main.rs:267:9:267:109 | a13 | -| main.rs:273:5:273:6 | a8 | -| main.rs:275:9:275:10 | b3 | -| main.rs:276:9:276:10 | c1 | -| main.rs:284:20:284:55 | a9 | -| main.rs:291:13:291:15 | a10 | -| main.rs:292:13:292:14 | b4 | -| main.rs:293:13:293:14 | c2 | -| main.rs:314:13:314:15 | a10 | -| main.rs:315:13:315:14 | b4 | -| main.rs:327:9:327:23 | example_closure | -| main.rs:328:10:328:10 | x | -| main.rs:330:9:330:10 | n1 | -| main.rs:335:9:335:26 | immutable_variable | -| main.rs:336:6:336:6 | x | -| main.rs:338:9:338:10 | n2 | -| main.rs:345:9:345:9 | f | -| main.rs:346:10:346:10 | x | -| main.rs:350:10:350:10 | x | -| main.rs:359:14:359:14 | x | -| main.rs:368:13:368:13 | f | -| main.rs:369:14:369:14 | x | -| main.rs:376:9:376:9 | v | -| main.rs:378:9:378:12 | text | -| main.rs:385:13:385:13 | a | -| main.rs:393:13:393:13 | i | -| main.rs:394:9:394:13 | ref_i | -| main.rs:400:17:400:17 | x | -| main.rs:407:22:407:22 | x | -| main.rs:407:38:407:38 | y | -| main.rs:416:13:416:13 | x | -| main.rs:417:9:417:9 | y | -| main.rs:423:13:423:13 | z | -| main.rs:424:9:424:9 | w | -| main.rs:436:13:436:13 | x | -| main.rs:437:9:437:9 | y | -| main.rs:444:9:444:9 | x | -| main.rs:446:9:446:11 | cap | -| main.rs:454:13:454:13 | x | -| main.rs:456:9:456:16 | closure1 | -| main.rs:462:13:462:13 | y | -| main.rs:464:13:464:20 | closure2 | -| main.rs:470:13:470:13 | z | -| main.rs:472:13:472:20 | closure3 | -| main.rs:480:13:480:13 | i | -| main.rs:481:9:481:13 | block | -| main.rs:489:8:489:8 | b | -| main.rs:490:13:490:13 | x | -| main.rs:507:13:507:14 | b1 | -| main.rs:507:23:507:24 | b2 | -| main.rs:508:9:508:9 | x | -| main.rs:531:20:531:23 | self | -| main.rs:535:11:535:14 | self | -| main.rs:539:23:539:26 | self | -| main.rs:540:17:540:17 | f | -| main.rs:540:22:540:22 | n | -| main.rs:550:13:550:13 | a | -| main.rs:559:13:559:13 | a | -| main.rs:568:9:568:9 | x | -| main.rs:572:9:572:9 | z | -| main.rs:581:17:581:20 | self | -| main.rs:587:13:587:13 | a | -| main.rs:608:9:608:22 | var_from_macro | -| main.rs:609:9:609:25 | var_in_macro | -| main.rs:611:9:611:20 | var_in_macro | -| main.rs:615:15:615:42 | var_in_macro | -| main.rs:620:9:620:9 | x | -| main.rs:626:13:626:13 | x | -| main.rs:627:13:627:15 | cap | -| main.rs:627:20:627:20 | b | +| main.rs:41:9:41:10 | x3 | +| main.rs:47:9:47:10 | x4 | +| main.rs:50:13:50:14 | x4 | +| main.rs:64:13:64:14 | a1 | +| main.rs:65:13:65:14 | b1 | +| main.rs:68:13:68:13 | x | +| main.rs:69:13:69:13 | y | +| main.rs:79:9:79:10 | p1 | +| main.rs:81:12:81:13 | a2 | +| main.rs:82:12:82:13 | b2 | +| main.rs:89:9:89:10 | s1 | +| main.rs:91:21:91:22 | s2 | +| main.rs:98:9:98:9 | x | +| main.rs:99:14:99:14 | x | +| main.rs:102:13:102:13 | x | +| main.rs:111:9:111:10 | s1 | +| main.rs:113:24:113:25 | s2 | +| main.rs:120:9:120:10 | x6 | +| main.rs:121:9:121:10 | y1 | +| main.rs:125:14:125:15 | y1 | +| main.rs:137:9:137:15 | numbers | +| main.rs:142:13:142:17 | first | +| main.rs:144:13:144:17 | third | +| main.rs:146:13:146:17 | fifth | +| main.rs:157:13:157:17 | first | +| main.rs:159:13:159:16 | last | +| main.rs:168:9:168:10 | p2 | +| main.rs:172:16:172:17 | x7 | +| main.rs:182:9:182:11 | msg | +| main.rs:187:17:187:27 | id_variable | +| main.rs:192:26:192:27 | id | +| main.rs:206:9:206:14 | either | +| main.rs:208:9:208:44 | a3 | +| main.rs:220:9:220:10 | tv | +| main.rs:222:9:222:81 | a4 | +| main.rs:226:9:226:83 | a5 | +| main.rs:230:9:230:83 | a6 | +| main.rs:236:9:236:14 | either | +| main.rs:238:9:238:44 | a7 | +| main.rs:246:9:246:14 | either | +| main.rs:249:13:249:13 | e | +| main.rs:250:14:250:51 | a11 | +| main.rs:253:33:253:35 | a12 | +| main.rs:270:9:270:10 | fv | +| main.rs:272:9:272:109 | a13 | +| main.rs:279:9:279:9 | x | +| main.rs:280:17:280:17 | x | +| main.rs:287:13:287:13 | x | +| main.rs:295:9:295:9 | x | +| main.rs:296:17:296:17 | x | +| main.rs:299:14:299:14 | x | +| main.rs:306:13:306:13 | x | +| main.rs:314:9:314:9 | x | +| main.rs:315:20:315:20 | x | +| main.rs:318:14:318:14 | x | +| main.rs:332:9:332:9 | x | +| main.rs:334:14:334:14 | x | +| main.rs:335:20:335:20 | x | +| main.rs:346:9:346:9 | x | +| main.rs:347:16:347:16 | x | +| main.rs:352:20:352:20 | x | +| main.rs:362:5:362:6 | a8 | +| main.rs:364:9:364:10 | b3 | +| main.rs:365:9:365:10 | c1 | +| main.rs:373:20:373:55 | a9 | +| main.rs:380:13:380:15 | a10 | +| main.rs:381:13:381:14 | b4 | +| main.rs:382:13:382:14 | c2 | +| main.rs:403:13:403:15 | a10 | +| main.rs:404:13:404:14 | b4 | +| main.rs:416:9:416:23 | example_closure | +| main.rs:417:10:417:10 | x | +| main.rs:419:9:419:10 | n1 | +| main.rs:424:9:424:26 | immutable_variable | +| main.rs:425:6:425:6 | x | +| main.rs:427:9:427:10 | n2 | +| main.rs:434:9:434:9 | f | +| main.rs:435:10:435:10 | x | +| main.rs:439:10:439:10 | x | +| main.rs:448:14:448:14 | x | +| main.rs:457:13:457:13 | f | +| main.rs:458:14:458:14 | x | +| main.rs:465:9:465:9 | v | +| main.rs:467:9:467:12 | text | +| main.rs:474:13:474:13 | a | +| main.rs:482:13:482:13 | i | +| main.rs:483:9:483:13 | ref_i | +| main.rs:489:17:489:17 | x | +| main.rs:496:22:496:22 | x | +| main.rs:496:38:496:38 | y | +| main.rs:505:13:505:13 | x | +| main.rs:506:9:506:9 | y | +| main.rs:513:13:513:13 | z | +| main.rs:514:9:514:9 | w | +| main.rs:527:13:527:13 | x | +| main.rs:528:9:528:9 | y | +| main.rs:535:9:535:9 | x | +| main.rs:538:9:538:11 | cap | +| main.rs:546:13:546:13 | x | +| main.rs:549:9:549:16 | closure1 | +| main.rs:555:13:555:13 | y | +| main.rs:558:13:558:20 | closure2 | +| main.rs:564:13:564:13 | z | +| main.rs:567:13:567:20 | closure3 | +| main.rs:575:13:575:13 | i | +| main.rs:576:9:576:13 | block | +| main.rs:584:8:584:8 | b | +| main.rs:585:13:585:13 | x | +| main.rs:602:13:602:14 | b1 | +| main.rs:602:23:602:24 | b2 | +| main.rs:603:9:603:9 | x | +| main.rs:626:20:626:23 | self | +| main.rs:630:11:630:14 | self | +| main.rs:634:23:634:26 | self | +| main.rs:635:17:635:17 | f | +| main.rs:635:22:635:22 | n | +| main.rs:645:13:645:13 | a | +| main.rs:654:13:654:13 | a | +| main.rs:663:9:663:9 | x | +| main.rs:667:9:667:9 | z | +| main.rs:676:17:676:20 | self | +| main.rs:682:13:682:13 | a | +| main.rs:704:9:704:22 | var_from_macro | +| main.rs:705:9:705:25 | var_in_macro | +| main.rs:707:9:707:20 | var_in_macro | +| main.rs:712:15:712:42 | var_in_macro | +| main.rs:717:9:717:9 | x | +| main.rs:723:13:723:13 | x | +| main.rs:724:13:724:15 | cap | +| main.rs:724:20:724:20 | b | variableAccess -| main.rs:5:20:5:20 | s | main.rs:3:14:3:14 | s | -| main.rs:10:20:10:20 | i | main.rs:8:14:8:14 | i | -| main.rs:14:16:14:16 | i | main.rs:13:18:13:18 | i | -| main.rs:19:15:19:16 | x1 | main.rs:18:9:18:10 | x1 | -| main.rs:24:15:24:16 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:25:5:25:6 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:26:15:26:16 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:31:20:31:20 | x | main.rs:30:13:30:13 | x | -| main.rs:32:5:32:5 | x | main.rs:30:13:30:13 | x | -| main.rs:33:20:33:20 | x | main.rs:30:13:30:13 | x | -| main.rs:38:15:38:16 | x3 | main.rs:37:9:37:10 | x3 | -| main.rs:40:9:40:10 | x3 | main.rs:37:9:37:10 | x3 | -| main.rs:41:15:41:16 | x3 | main.rs:39:9:39:10 | x3 | -| main.rs:46:15:46:16 | x4 | main.rs:45:9:45:10 | x4 | -| main.rs:49:19:49:20 | x4 | main.rs:48:13:48:14 | x4 | -| main.rs:51:15:51:16 | x4 | main.rs:45:9:45:10 | x4 | -| main.rs:70:15:70:16 | a1 | main.rs:62:13:62:14 | a1 | -| main.rs:71:15:71:16 | b1 | main.rs:63:13:63:14 | b1 | -| main.rs:72:15:72:15 | x | main.rs:66:13:66:13 | x | -| main.rs:73:15:73:15 | y | main.rs:67:13:67:13 | y | -| main.rs:81:9:81:10 | p1 | main.rs:77:9:77:10 | p1 | -| main.rs:82:15:82:16 | a2 | main.rs:79:12:79:13 | a2 | -| main.rs:83:15:83:16 | b2 | main.rs:80:12:80:13 | b2 | -| main.rs:90:11:90:12 | s1 | main.rs:87:9:87:10 | s1 | -| main.rs:91:19:91:20 | s2 | main.rs:89:21:89:22 | s2 | -| main.rs:102:15:102:16 | x5 | main.rs:96:14:96:15 | x5 | -| main.rs:109:11:109:12 | s1 | main.rs:106:9:106:10 | s1 | -| main.rs:110:19:110:20 | s2 | main.rs:108:24:108:25 | s2 | -| main.rs:118:11:118:12 | x6 | main.rs:115:9:115:10 | x6 | -| main.rs:123:23:123:24 | y1 | main.rs:120:14:120:15 | y1 | -| main.rs:128:15:128:16 | y1 | main.rs:116:9:116:10 | y1 | -| main.rs:134:11:134:17 | numbers | main.rs:132:9:132:15 | numbers | -| main.rs:143:23:143:27 | first | main.rs:137:13:137:17 | first | -| main.rs:144:23:144:27 | third | main.rs:139:13:139:17 | third | -| main.rs:145:23:145:27 | fifth | main.rs:141:13:141:17 | fifth | -| main.rs:149:11:149:17 | numbers | main.rs:132:9:132:15 | numbers | -| main.rs:156:23:156:27 | first | main.rs:152:13:152:17 | first | -| main.rs:157:23:157:26 | last | main.rs:154:13:154:16 | last | -| main.rs:165:11:165:12 | p2 | main.rs:163:9:163:10 | p2 | -| main.rs:168:24:168:25 | x7 | main.rs:167:16:167:17 | x7 | -| main.rs:179:11:179:13 | msg | main.rs:177:9:177:11 | msg | -| main.rs:183:24:183:34 | id_variable | main.rs:182:17:182:27 | id_variable | -| main.rs:190:23:190:24 | id | main.rs:187:26:187:27 | id | -| main.rs:202:11:202:16 | either | main.rs:201:9:201:14 | either | -| main.rs:204:26:204:27 | a3 | main.rs:203:9:203:44 | a3 | -| main.rs:216:11:216:12 | tv | main.rs:215:9:215:10 | tv | -| main.rs:218:26:218:27 | a4 | main.rs:217:9:217:81 | a4 | -| main.rs:220:11:220:12 | tv | main.rs:215:9:215:10 | tv | -| main.rs:222:26:222:27 | a5 | main.rs:221:9:221:83 | a5 | -| main.rs:224:11:224:12 | tv | main.rs:215:9:215:10 | tv | -| main.rs:226:26:226:27 | a6 | main.rs:225:9:225:83 | a6 | -| main.rs:232:11:232:16 | either | main.rs:231:9:231:14 | either | -| main.rs:234:16:234:17 | a7 | main.rs:233:9:233:44 | a7 | -| main.rs:235:26:235:27 | a7 | main.rs:233:9:233:44 | a7 | -| main.rs:243:11:243:16 | either | main.rs:241:9:241:14 | either | -| main.rs:247:23:247:25 | a11 | main.rs:245:14:245:51 | a11 | -| main.rs:249:15:249:15 | e | main.rs:244:13:244:13 | e | -| main.rs:250:28:250:30 | a12 | main.rs:248:33:248:35 | a12 | -| main.rs:266:11:266:12 | fv | main.rs:265:9:265:10 | fv | -| main.rs:268:26:268:28 | a13 | main.rs:267:9:267:109 | a13 | -| main.rs:279:15:279:16 | a8 | main.rs:273:5:273:6 | a8 | -| main.rs:280:15:280:16 | b3 | main.rs:275:9:275:10 | b3 | -| main.rs:281:15:281:16 | c1 | main.rs:276:9:276:10 | c1 | -| main.rs:286:15:286:16 | a9 | main.rs:284:20:284:55 | a9 | -| main.rs:295:15:295:17 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:296:15:296:16 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:297:15:297:16 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:300:9:300:10 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:304:9:304:11 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:305:9:305:10 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:306:9:306:10 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:308:15:308:17 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:309:15:309:16 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:310:15:310:16 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:317:23:317:25 | a10 | main.rs:314:13:314:15 | a10 | -| main.rs:318:23:318:24 | b4 | main.rs:315:13:315:14 | b4 | -| main.rs:322:15:322:17 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:323:15:323:16 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:329:9:329:9 | x | main.rs:328:10:328:10 | x | -| main.rs:331:9:331:23 | example_closure | main.rs:327:9:327:23 | example_closure | -| main.rs:332:15:332:16 | n1 | main.rs:330:9:330:10 | n1 | -| main.rs:337:9:337:9 | x | main.rs:336:6:336:6 | x | -| main.rs:339:9:339:26 | immutable_variable | main.rs:335:9:335:26 | immutable_variable | -| main.rs:340:15:340:16 | n2 | main.rs:338:9:338:10 | n2 | -| main.rs:347:9:347:9 | x | main.rs:346:10:346:10 | x | -| main.rs:348:15:348:15 | f | main.rs:345:9:345:9 | f | -| main.rs:352:9:352:9 | x | main.rs:350:10:350:10 | x | -| main.rs:355:15:355:15 | f | main.rs:345:9:345:9 | f | -| main.rs:361:17:361:17 | x | main.rs:359:14:359:14 | x | -| main.rs:370:13:370:13 | x | main.rs:369:14:369:14 | x | -| main.rs:371:19:371:19 | f | main.rs:368:13:368:13 | f | -| main.rs:379:12:379:12 | v | main.rs:376:9:376:9 | v | -| main.rs:380:19:380:22 | text | main.rs:378:9:378:12 | text | -| main.rs:386:5:386:5 | a | main.rs:385:13:385:13 | a | -| main.rs:387:15:387:15 | a | main.rs:385:13:385:13 | a | -| main.rs:388:11:388:11 | a | main.rs:385:13:385:13 | a | -| main.rs:389:15:389:15 | a | main.rs:385:13:385:13 | a | -| main.rs:395:14:395:14 | i | main.rs:393:13:393:13 | i | -| main.rs:396:6:396:10 | ref_i | main.rs:394:9:394:13 | ref_i | -| main.rs:397:15:397:15 | i | main.rs:393:13:393:13 | i | -| main.rs:401:6:401:6 | x | main.rs:400:17:400:17 | x | -| main.rs:402:10:402:10 | x | main.rs:400:17:400:17 | x | -| main.rs:403:10:403:10 | x | main.rs:400:17:400:17 | x | -| main.rs:404:12:404:12 | x | main.rs:400:17:400:17 | x | -| main.rs:408:6:408:6 | x | main.rs:407:22:407:22 | x | -| main.rs:409:10:409:10 | x | main.rs:407:22:407:22 | x | -| main.rs:410:10:410:10 | x | main.rs:407:22:407:22 | x | -| main.rs:411:6:411:6 | y | main.rs:407:38:407:38 | y | -| main.rs:412:9:412:9 | x | main.rs:407:22:407:22 | x | -| main.rs:418:27:418:27 | x | main.rs:416:13:416:13 | x | -| main.rs:419:6:419:6 | y | main.rs:417:9:417:9 | y | -| main.rs:421:15:421:15 | x | main.rs:416:13:416:13 | x | -| main.rs:425:19:425:19 | x | main.rs:416:13:416:13 | x | -| main.rs:427:14:427:14 | z | main.rs:423:13:423:13 | z | -| main.rs:428:9:428:9 | w | main.rs:424:9:424:9 | w | -| main.rs:430:7:430:7 | w | main.rs:424:9:424:9 | w | -| main.rs:432:15:432:15 | z | main.rs:423:13:423:13 | z | -| main.rs:438:14:438:14 | x | main.rs:436:13:436:13 | x | -| main.rs:439:6:439:6 | y | main.rs:437:9:437:9 | y | -| main.rs:440:15:440:15 | x | main.rs:436:13:436:13 | x | -| main.rs:447:19:447:19 | x | main.rs:444:9:444:9 | x | -| main.rs:449:5:449:7 | cap | main.rs:446:9:446:11 | cap | -| main.rs:450:15:450:15 | x | main.rs:444:9:444:9 | x | -| main.rs:457:19:457:19 | x | main.rs:454:13:454:13 | x | -| main.rs:459:5:459:12 | closure1 | main.rs:456:9:456:16 | closure1 | -| main.rs:460:15:460:15 | x | main.rs:454:13:454:13 | x | -| main.rs:465:9:465:9 | y | main.rs:462:13:462:13 | y | -| main.rs:467:5:467:12 | closure2 | main.rs:464:13:464:20 | closure2 | -| main.rs:468:15:468:15 | y | main.rs:462:13:462:13 | y | -| main.rs:473:9:473:9 | z | main.rs:470:13:470:13 | z | -| main.rs:475:5:475:12 | closure3 | main.rs:472:13:472:20 | closure3 | -| main.rs:476:15:476:15 | z | main.rs:470:13:470:13 | z | -| main.rs:482:9:482:9 | i | main.rs:480:13:480:13 | i | -| main.rs:485:5:485:9 | block | main.rs:481:9:481:13 | block | -| main.rs:486:15:486:15 | i | main.rs:480:13:480:13 | i | -| main.rs:491:15:491:15 | x | main.rs:490:13:490:13 | x | -| main.rs:492:15:492:15 | x | main.rs:490:13:490:13 | x | -| main.rs:494:16:494:16 | b | main.rs:489:8:489:8 | b | -| main.rs:496:9:496:9 | x | main.rs:490:13:490:13 | x | -| main.rs:497:19:497:19 | x | main.rs:490:13:490:13 | x | -| main.rs:498:19:498:19 | x | main.rs:490:13:490:13 | x | -| main.rs:500:9:500:9 | x | main.rs:490:13:490:13 | x | -| main.rs:501:19:501:19 | x | main.rs:490:13:490:13 | x | -| main.rs:502:19:502:19 | x | main.rs:490:13:490:13 | x | -| main.rs:504:15:504:15 | x | main.rs:490:13:490:13 | x | -| main.rs:510:16:510:17 | b1 | main.rs:507:13:507:14 | b1 | -| main.rs:512:19:512:19 | x | main.rs:508:9:508:9 | x | -| main.rs:514:19:514:19 | x | main.rs:508:9:508:9 | x | -| main.rs:518:16:518:17 | b2 | main.rs:507:23:507:24 | b2 | -| main.rs:520:19:520:19 | x | main.rs:508:9:508:9 | x | -| main.rs:522:19:522:19 | x | main.rs:508:9:508:9 | x | -| main.rs:532:16:532:19 | self | main.rs:531:20:531:23 | self | -| main.rs:536:9:536:12 | self | main.rs:535:11:535:14 | self | -| main.rs:542:13:542:16 | self | main.rs:539:23:539:26 | self | -| main.rs:542:25:542:25 | n | main.rs:540:22:540:22 | n | -| main.rs:544:9:544:9 | f | main.rs:540:17:540:17 | f | -| main.rs:545:9:545:9 | f | main.rs:540:17:540:17 | f | -| main.rs:551:15:551:15 | a | main.rs:550:13:550:13 | a | -| main.rs:552:5:552:5 | a | main.rs:550:13:550:13 | a | -| main.rs:553:15:553:15 | a | main.rs:550:13:550:13 | a | -| main.rs:554:5:554:5 | a | main.rs:550:13:550:13 | a | -| main.rs:555:15:555:15 | a | main.rs:550:13:550:13 | a | -| main.rs:560:15:560:15 | a | main.rs:559:13:559:13 | a | -| main.rs:561:5:561:5 | a | main.rs:559:13:559:13 | a | -| main.rs:562:15:562:15 | a | main.rs:559:13:559:13 | a | -| main.rs:563:5:563:5 | a | main.rs:559:13:559:13 | a | -| main.rs:564:15:564:15 | a | main.rs:559:13:559:13 | a | -| main.rs:569:20:569:20 | x | main.rs:568:9:568:9 | x | -| main.rs:570:15:570:15 | x | main.rs:568:9:568:9 | x | -| main.rs:573:20:573:20 | z | main.rs:572:9:572:9 | z | -| main.rs:582:10:582:13 | self | main.rs:581:17:581:20 | self | -| main.rs:588:5:588:5 | a | main.rs:587:13:587:13 | a | -| main.rs:590:15:590:15 | a | main.rs:587:13:587:13 | a | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | -| main.rs:610:15:610:28 | var_from_macro | main.rs:608:9:608:22 | var_from_macro | -| main.rs:615:30:615:41 | var_in_macro | main.rs:615:15:615:42 | var_in_macro | -| main.rs:616:15:616:26 | var_in_macro | main.rs:611:9:611:20 | var_in_macro | -| main.rs:621:5:621:5 | x | main.rs:620:9:620:9 | x | -| main.rs:622:15:622:15 | x | main.rs:620:9:620:9 | x | -| main.rs:629:20:629:20 | b | main.rs:627:20:627:20 | b | -| main.rs:630:13:630:13 | x | main.rs:626:13:626:13 | x | -| main.rs:633:5:633:7 | cap | main.rs:627:13:627:15 | cap | -| main.rs:634:15:634:15 | x | main.rs:626:13:626:13 | x | +| main.rs:7:20:7:20 | s | main.rs:5:14:5:14 | s | +| main.rs:12:20:12:20 | i | main.rs:10:14:10:14 | i | +| main.rs:16:16:16:16 | i | main.rs:15:18:15:18 | i | +| main.rs:21:15:21:16 | x1 | main.rs:20:9:20:10 | x1 | +| main.rs:26:15:26:16 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:27:5:27:6 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:28:15:28:16 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:33:20:33:20 | x | main.rs:32:13:32:13 | x | +| main.rs:34:5:34:5 | x | main.rs:32:13:32:13 | x | +| main.rs:35:20:35:20 | x | main.rs:32:13:32:13 | x | +| main.rs:40:15:40:16 | x3 | main.rs:39:9:39:10 | x3 | +| main.rs:42:9:42:10 | x3 | main.rs:39:9:39:10 | x3 | +| main.rs:43:15:43:16 | x3 | main.rs:41:9:41:10 | x3 | +| main.rs:48:15:48:16 | x4 | main.rs:47:9:47:10 | x4 | +| main.rs:51:19:51:20 | x4 | main.rs:50:13:50:14 | x4 | +| main.rs:53:15:53:16 | x4 | main.rs:47:9:47:10 | x4 | +| main.rs:72:15:72:16 | a1 | main.rs:64:13:64:14 | a1 | +| main.rs:73:15:73:16 | b1 | main.rs:65:13:65:14 | b1 | +| main.rs:74:15:74:15 | x | main.rs:68:13:68:13 | x | +| main.rs:75:15:75:15 | y | main.rs:69:13:69:13 | y | +| main.rs:83:9:83:10 | p1 | main.rs:79:9:79:10 | p1 | +| main.rs:84:15:84:16 | a2 | main.rs:81:12:81:13 | a2 | +| main.rs:85:15:85:16 | b2 | main.rs:82:12:82:13 | b2 | +| main.rs:92:11:92:12 | s1 | main.rs:89:9:89:10 | s1 | +| main.rs:93:19:93:20 | s2 | main.rs:91:21:91:22 | s2 | +| main.rs:100:7:100:7 | x | main.rs:98:9:98:9 | x | +| main.rs:103:13:103:13 | x | main.rs:98:9:98:9 | x | +| main.rs:104:19:104:19 | x | main.rs:102:13:102:13 | x | +| main.rs:107:15:107:15 | x | main.rs:99:14:99:14 | x | +| main.rs:114:11:114:12 | s1 | main.rs:111:9:111:10 | s1 | +| main.rs:115:19:115:20 | s2 | main.rs:113:24:113:25 | s2 | +| main.rs:123:11:123:12 | x6 | main.rs:120:9:120:10 | x6 | +| main.rs:128:23:128:24 | y1 | main.rs:125:14:125:15 | y1 | +| main.rs:133:15:133:16 | y1 | main.rs:121:9:121:10 | y1 | +| main.rs:139:11:139:17 | numbers | main.rs:137:9:137:15 | numbers | +| main.rs:148:23:148:27 | first | main.rs:142:13:142:17 | first | +| main.rs:149:23:149:27 | third | main.rs:144:13:144:17 | third | +| main.rs:150:23:150:27 | fifth | main.rs:146:13:146:17 | fifth | +| main.rs:154:11:154:17 | numbers | main.rs:137:9:137:15 | numbers | +| main.rs:161:23:161:27 | first | main.rs:157:13:157:17 | first | +| main.rs:162:23:162:26 | last | main.rs:159:13:159:16 | last | +| main.rs:170:11:170:12 | p2 | main.rs:168:9:168:10 | p2 | +| main.rs:173:24:173:25 | x7 | main.rs:172:16:172:17 | x7 | +| main.rs:184:11:184:13 | msg | main.rs:182:9:182:11 | msg | +| main.rs:188:24:188:34 | id_variable | main.rs:187:17:187:27 | id_variable | +| main.rs:195:23:195:24 | id | main.rs:192:26:192:27 | id | +| main.rs:207:11:207:16 | either | main.rs:206:9:206:14 | either | +| main.rs:209:26:209:27 | a3 | main.rs:208:9:208:44 | a3 | +| main.rs:221:11:221:12 | tv | main.rs:220:9:220:10 | tv | +| main.rs:223:26:223:27 | a4 | main.rs:222:9:222:81 | a4 | +| main.rs:225:11:225:12 | tv | main.rs:220:9:220:10 | tv | +| main.rs:227:26:227:27 | a5 | main.rs:226:9:226:83 | a5 | +| main.rs:229:11:229:12 | tv | main.rs:220:9:220:10 | tv | +| main.rs:231:26:231:27 | a6 | main.rs:230:9:230:83 | a6 | +| main.rs:237:11:237:16 | either | main.rs:236:9:236:14 | either | +| main.rs:239:16:239:17 | a7 | main.rs:238:9:238:44 | a7 | +| main.rs:240:26:240:27 | a7 | main.rs:238:9:238:44 | a7 | +| main.rs:248:11:248:16 | either | main.rs:246:9:246:14 | either | +| main.rs:252:23:252:25 | a11 | main.rs:250:14:250:51 | a11 | +| main.rs:254:15:254:15 | e | main.rs:249:13:249:13 | e | +| main.rs:255:28:255:30 | a12 | main.rs:253:33:253:35 | a12 | +| main.rs:271:11:271:12 | fv | main.rs:270:9:270:10 | fv | +| main.rs:273:26:273:28 | a13 | main.rs:272:9:272:109 | a13 | +| main.rs:281:7:281:7 | x | main.rs:279:9:279:9 | x | +| main.rs:283:5:283:5 | x | main.rs:280:17:280:17 | x | +| main.rs:285:19:285:19 | x | main.rs:280:17:280:17 | x | +| main.rs:288:13:288:13 | x | main.rs:279:9:279:9 | x | +| main.rs:289:19:289:19 | x | main.rs:287:13:287:13 | x | +| main.rs:297:7:297:7 | x | main.rs:295:9:295:9 | x | +| main.rs:300:12:300:12 | x | main.rs:296:17:296:17 | x | +| main.rs:302:5:302:5 | x | main.rs:299:14:299:14 | x | +| main.rs:304:19:304:19 | x | main.rs:299:14:299:14 | x | +| main.rs:307:13:307:13 | x | main.rs:295:9:295:9 | x | +| main.rs:308:19:308:19 | x | main.rs:306:13:306:13 | x | +| main.rs:316:7:316:7 | x | main.rs:314:9:314:9 | x | +| main.rs:319:12:319:12 | x | main.rs:315:20:315:20 | x | +| main.rs:321:5:321:5 | x | main.rs:318:14:318:14 | x | +| main.rs:323:19:323:19 | x | main.rs:318:14:318:14 | x | +| main.rs:327:15:327:15 | x | main.rs:314:9:314:9 | x | +| main.rs:333:11:333:11 | x | main.rs:332:9:332:9 | x | +| main.rs:336:18:336:18 | x | main.rs:334:14:334:14 | x | +| main.rs:337:19:337:19 | x | main.rs:335:20:335:20 | x | +| main.rs:341:15:341:15 | x | main.rs:332:9:332:9 | x | +| main.rs:348:7:348:7 | x | main.rs:346:9:346:9 | x | +| main.rs:350:19:350:19 | x | main.rs:347:16:347:16 | x | +| main.rs:353:7:353:7 | x | main.rs:346:9:346:9 | x | +| main.rs:355:19:355:19 | x | main.rs:352:20:352:20 | x | +| main.rs:357:19:357:19 | x | main.rs:346:9:346:9 | x | +| main.rs:368:15:368:16 | a8 | main.rs:362:5:362:6 | a8 | +| main.rs:369:15:369:16 | b3 | main.rs:364:9:364:10 | b3 | +| main.rs:370:15:370:16 | c1 | main.rs:365:9:365:10 | c1 | +| main.rs:375:15:375:16 | a9 | main.rs:373:20:373:55 | a9 | +| main.rs:384:15:384:17 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:385:15:385:16 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:386:15:386:16 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:389:9:389:10 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:393:9:393:11 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:394:9:394:10 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:395:9:395:10 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:397:15:397:17 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:398:15:398:16 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:399:15:399:16 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:406:23:406:25 | a10 | main.rs:403:13:403:15 | a10 | +| main.rs:407:23:407:24 | b4 | main.rs:404:13:404:14 | b4 | +| main.rs:411:15:411:17 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:412:15:412:16 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:418:9:418:9 | x | main.rs:417:10:417:10 | x | +| main.rs:420:9:420:23 | example_closure | main.rs:416:9:416:23 | example_closure | +| main.rs:421:15:421:16 | n1 | main.rs:419:9:419:10 | n1 | +| main.rs:426:9:426:9 | x | main.rs:425:6:425:6 | x | +| main.rs:428:9:428:26 | immutable_variable | main.rs:424:9:424:26 | immutable_variable | +| main.rs:429:15:429:16 | n2 | main.rs:427:9:427:10 | n2 | +| main.rs:436:9:436:9 | x | main.rs:435:10:435:10 | x | +| main.rs:437:15:437:15 | f | main.rs:434:9:434:9 | f | +| main.rs:441:9:441:9 | x | main.rs:439:10:439:10 | x | +| main.rs:444:15:444:15 | f | main.rs:434:9:434:9 | f | +| main.rs:450:17:450:17 | x | main.rs:448:14:448:14 | x | +| main.rs:459:13:459:13 | x | main.rs:458:14:458:14 | x | +| main.rs:460:19:460:19 | f | main.rs:457:13:457:13 | f | +| main.rs:468:12:468:12 | v | main.rs:465:9:465:9 | v | +| main.rs:469:19:469:22 | text | main.rs:467:9:467:12 | text | +| main.rs:475:5:475:5 | a | main.rs:474:13:474:13 | a | +| main.rs:476:15:476:15 | a | main.rs:474:13:474:13 | a | +| main.rs:477:11:477:11 | a | main.rs:474:13:474:13 | a | +| main.rs:478:15:478:15 | a | main.rs:474:13:474:13 | a | +| main.rs:484:14:484:14 | i | main.rs:482:13:482:13 | i | +| main.rs:485:6:485:10 | ref_i | main.rs:483:9:483:13 | ref_i | +| main.rs:486:15:486:15 | i | main.rs:482:13:482:13 | i | +| main.rs:490:6:490:6 | x | main.rs:489:17:489:17 | x | +| main.rs:491:10:491:10 | x | main.rs:489:17:489:17 | x | +| main.rs:492:10:492:10 | x | main.rs:489:17:489:17 | x | +| main.rs:493:12:493:12 | x | main.rs:489:17:489:17 | x | +| main.rs:497:6:497:6 | x | main.rs:496:22:496:22 | x | +| main.rs:498:10:498:10 | x | main.rs:496:22:496:22 | x | +| main.rs:499:10:499:10 | x | main.rs:496:22:496:22 | x | +| main.rs:500:6:500:6 | y | main.rs:496:38:496:38 | y | +| main.rs:501:9:501:9 | x | main.rs:496:22:496:22 | x | +| main.rs:507:27:507:27 | x | main.rs:505:13:505:13 | x | +| main.rs:508:6:508:6 | y | main.rs:506:9:506:9 | y | +| main.rs:511:15:511:15 | x | main.rs:505:13:505:13 | x | +| main.rs:515:19:515:19 | x | main.rs:505:13:505:13 | x | +| main.rs:517:14:517:14 | z | main.rs:513:13:513:13 | z | +| main.rs:518:9:518:9 | w | main.rs:514:9:514:9 | w | +| main.rs:520:7:520:7 | w | main.rs:514:9:514:9 | w | +| main.rs:523:15:523:15 | z | main.rs:513:13:513:13 | z | +| main.rs:529:14:529:14 | x | main.rs:527:13:527:13 | x | +| main.rs:530:6:530:6 | y | main.rs:528:9:528:9 | y | +| main.rs:531:15:531:15 | x | main.rs:527:13:527:13 | x | +| main.rs:539:19:539:19 | x | main.rs:535:9:535:9 | x | +| main.rs:541:5:541:7 | cap | main.rs:538:9:538:11 | cap | +| main.rs:542:15:542:15 | x | main.rs:535:9:535:9 | x | +| main.rs:550:19:550:19 | x | main.rs:546:13:546:13 | x | +| main.rs:552:5:552:12 | closure1 | main.rs:549:9:549:16 | closure1 | +| main.rs:553:15:553:15 | x | main.rs:546:13:546:13 | x | +| main.rs:559:9:559:9 | y | main.rs:555:13:555:13 | y | +| main.rs:561:5:561:12 | closure2 | main.rs:558:13:558:20 | closure2 | +| main.rs:562:15:562:15 | y | main.rs:555:13:555:13 | y | +| main.rs:568:9:568:9 | z | main.rs:564:13:564:13 | z | +| main.rs:570:5:570:12 | closure3 | main.rs:567:13:567:20 | closure3 | +| main.rs:571:15:571:15 | z | main.rs:564:13:564:13 | z | +| main.rs:577:9:577:9 | i | main.rs:575:13:575:13 | i | +| main.rs:580:5:580:9 | block | main.rs:576:9:576:13 | block | +| main.rs:581:15:581:15 | i | main.rs:575:13:575:13 | i | +| main.rs:586:15:586:15 | x | main.rs:585:13:585:13 | x | +| main.rs:587:15:587:15 | x | main.rs:585:13:585:13 | x | +| main.rs:589:16:589:16 | b | main.rs:584:8:584:8 | b | +| main.rs:591:9:591:9 | x | main.rs:585:13:585:13 | x | +| main.rs:592:19:592:19 | x | main.rs:585:13:585:13 | x | +| main.rs:593:19:593:19 | x | main.rs:585:13:585:13 | x | +| main.rs:595:9:595:9 | x | main.rs:585:13:585:13 | x | +| main.rs:596:19:596:19 | x | main.rs:585:13:585:13 | x | +| main.rs:597:19:597:19 | x | main.rs:585:13:585:13 | x | +| main.rs:599:15:599:15 | x | main.rs:585:13:585:13 | x | +| main.rs:605:16:605:17 | b1 | main.rs:602:13:602:14 | b1 | +| main.rs:607:19:607:19 | x | main.rs:603:9:603:9 | x | +| main.rs:609:19:609:19 | x | main.rs:603:9:603:9 | x | +| main.rs:613:16:613:17 | b2 | main.rs:602:23:602:24 | b2 | +| main.rs:615:19:615:19 | x | main.rs:603:9:603:9 | x | +| main.rs:617:19:617:19 | x | main.rs:603:9:603:9 | x | +| main.rs:627:16:627:19 | self | main.rs:626:20:626:23 | self | +| main.rs:631:9:631:12 | self | main.rs:630:11:630:14 | self | +| main.rs:637:13:637:16 | self | main.rs:634:23:634:26 | self | +| main.rs:637:25:637:25 | n | main.rs:635:22:635:22 | n | +| main.rs:639:9:639:9 | f | main.rs:635:17:635:17 | f | +| main.rs:640:9:640:9 | f | main.rs:635:17:635:17 | f | +| main.rs:646:15:646:15 | a | main.rs:645:13:645:13 | a | +| main.rs:647:5:647:5 | a | main.rs:645:13:645:13 | a | +| main.rs:648:15:648:15 | a | main.rs:645:13:645:13 | a | +| main.rs:649:5:649:5 | a | main.rs:645:13:645:13 | a | +| main.rs:650:15:650:15 | a | main.rs:645:13:645:13 | a | +| main.rs:655:15:655:15 | a | main.rs:654:13:654:13 | a | +| main.rs:656:5:656:5 | a | main.rs:654:13:654:13 | a | +| main.rs:657:15:657:15 | a | main.rs:654:13:654:13 | a | +| main.rs:658:5:658:5 | a | main.rs:654:13:654:13 | a | +| main.rs:659:15:659:15 | a | main.rs:654:13:654:13 | a | +| main.rs:664:20:664:20 | x | main.rs:663:9:663:9 | x | +| main.rs:665:15:665:15 | x | main.rs:663:9:663:9 | x | +| main.rs:668:20:668:20 | z | main.rs:667:9:667:9 | z | +| main.rs:677:10:677:13 | self | main.rs:676:17:676:20 | self | +| main.rs:683:5:683:5 | a | main.rs:682:13:682:13 | a | +| main.rs:686:15:686:15 | a | main.rs:682:13:682:13 | a | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | +| main.rs:706:15:706:28 | var_from_macro | main.rs:704:9:704:22 | var_from_macro | +| main.rs:712:30:712:41 | var_in_macro | main.rs:712:15:712:42 | var_in_macro | +| main.rs:713:15:713:26 | var_in_macro | main.rs:707:9:707:20 | var_in_macro | +| main.rs:718:5:718:5 | x | main.rs:717:9:717:9 | x | +| main.rs:719:15:719:15 | x | main.rs:717:9:717:9 | x | +| main.rs:726:20:726:20 | b | main.rs:724:20:724:20 | b | +| main.rs:727:13:727:13 | x | main.rs:723:13:723:13 | x | +| main.rs:730:5:730:7 | cap | main.rs:724:13:724:15 | cap | +| main.rs:731:15:731:15 | x | main.rs:723:13:723:13 | x | variableWriteAccess -| main.rs:25:5:25:6 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:32:5:32:5 | x | main.rs:30:13:30:13 | x | -| main.rs:300:9:300:10 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:301:9:301:10 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:302:9:302:11 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:465:9:465:9 | y | main.rs:462:13:462:13 | y | -| main.rs:482:9:482:9 | i | main.rs:480:13:480:13 | i | -| main.rs:496:9:496:9 | x | main.rs:490:13:490:13 | x | -| main.rs:500:9:500:9 | x | main.rs:490:13:490:13 | x | -| main.rs:554:5:554:5 | a | main.rs:550:13:550:13 | a | -| main.rs:563:5:563:5 | a | main.rs:559:13:559:13 | a | -| main.rs:621:5:621:5 | x | main.rs:620:9:620:9 | x | -| main.rs:630:13:630:13 | x | main.rs:626:13:626:13 | x | +| main.rs:27:5:27:6 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:34:5:34:5 | x | main.rs:32:13:32:13 | x | +| main.rs:389:9:389:10 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:390:9:390:10 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:391:9:391:11 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:559:9:559:9 | y | main.rs:555:13:555:13 | y | +| main.rs:577:9:577:9 | i | main.rs:575:13:575:13 | i | +| main.rs:591:9:591:9 | x | main.rs:585:13:585:13 | x | +| main.rs:595:9:595:9 | x | main.rs:585:13:585:13 | x | +| main.rs:649:5:649:5 | a | main.rs:645:13:645:13 | a | +| main.rs:658:5:658:5 | a | main.rs:654:13:654:13 | a | +| main.rs:718:5:718:5 | x | main.rs:717:9:717:9 | x | +| main.rs:727:13:727:13 | x | main.rs:723:13:723:13 | x | variableReadAccess -| main.rs:5:20:5:20 | s | main.rs:3:14:3:14 | s | -| main.rs:10:20:10:20 | i | main.rs:8:14:8:14 | i | -| main.rs:14:16:14:16 | i | main.rs:13:18:13:18 | i | -| main.rs:19:15:19:16 | x1 | main.rs:18:9:18:10 | x1 | -| main.rs:24:15:24:16 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:26:15:26:16 | x2 | main.rs:23:13:23:14 | x2 | -| main.rs:38:15:38:16 | x3 | main.rs:37:9:37:10 | x3 | -| main.rs:40:9:40:10 | x3 | main.rs:37:9:37:10 | x3 | -| main.rs:41:15:41:16 | x3 | main.rs:39:9:39:10 | x3 | -| main.rs:46:15:46:16 | x4 | main.rs:45:9:45:10 | x4 | -| main.rs:49:19:49:20 | x4 | main.rs:48:13:48:14 | x4 | -| main.rs:51:15:51:16 | x4 | main.rs:45:9:45:10 | x4 | -| main.rs:70:15:70:16 | a1 | main.rs:62:13:62:14 | a1 | -| main.rs:71:15:71:16 | b1 | main.rs:63:13:63:14 | b1 | -| main.rs:72:15:72:15 | x | main.rs:66:13:66:13 | x | -| main.rs:73:15:73:15 | y | main.rs:67:13:67:13 | y | -| main.rs:81:9:81:10 | p1 | main.rs:77:9:77:10 | p1 | -| main.rs:82:15:82:16 | a2 | main.rs:79:12:79:13 | a2 | -| main.rs:83:15:83:16 | b2 | main.rs:80:12:80:13 | b2 | -| main.rs:90:11:90:12 | s1 | main.rs:87:9:87:10 | s1 | -| main.rs:91:19:91:20 | s2 | main.rs:89:21:89:22 | s2 | -| main.rs:102:15:102:16 | x5 | main.rs:96:14:96:15 | x5 | -| main.rs:109:11:109:12 | s1 | main.rs:106:9:106:10 | s1 | -| main.rs:110:19:110:20 | s2 | main.rs:108:24:108:25 | s2 | -| main.rs:118:11:118:12 | x6 | main.rs:115:9:115:10 | x6 | -| main.rs:123:23:123:24 | y1 | main.rs:120:14:120:15 | y1 | -| main.rs:128:15:128:16 | y1 | main.rs:116:9:116:10 | y1 | -| main.rs:134:11:134:17 | numbers | main.rs:132:9:132:15 | numbers | -| main.rs:143:23:143:27 | first | main.rs:137:13:137:17 | first | -| main.rs:144:23:144:27 | third | main.rs:139:13:139:17 | third | -| main.rs:145:23:145:27 | fifth | main.rs:141:13:141:17 | fifth | -| main.rs:149:11:149:17 | numbers | main.rs:132:9:132:15 | numbers | -| main.rs:156:23:156:27 | first | main.rs:152:13:152:17 | first | -| main.rs:157:23:157:26 | last | main.rs:154:13:154:16 | last | -| main.rs:165:11:165:12 | p2 | main.rs:163:9:163:10 | p2 | -| main.rs:168:24:168:25 | x7 | main.rs:167:16:167:17 | x7 | -| main.rs:179:11:179:13 | msg | main.rs:177:9:177:11 | msg | -| main.rs:183:24:183:34 | id_variable | main.rs:182:17:182:27 | id_variable | -| main.rs:190:23:190:24 | id | main.rs:187:26:187:27 | id | -| main.rs:202:11:202:16 | either | main.rs:201:9:201:14 | either | -| main.rs:204:26:204:27 | a3 | main.rs:203:9:203:44 | a3 | -| main.rs:216:11:216:12 | tv | main.rs:215:9:215:10 | tv | -| main.rs:218:26:218:27 | a4 | main.rs:217:9:217:81 | a4 | -| main.rs:220:11:220:12 | tv | main.rs:215:9:215:10 | tv | -| main.rs:222:26:222:27 | a5 | main.rs:221:9:221:83 | a5 | -| main.rs:224:11:224:12 | tv | main.rs:215:9:215:10 | tv | -| main.rs:226:26:226:27 | a6 | main.rs:225:9:225:83 | a6 | -| main.rs:232:11:232:16 | either | main.rs:231:9:231:14 | either | -| main.rs:234:16:234:17 | a7 | main.rs:233:9:233:44 | a7 | -| main.rs:235:26:235:27 | a7 | main.rs:233:9:233:44 | a7 | -| main.rs:243:11:243:16 | either | main.rs:241:9:241:14 | either | -| main.rs:247:23:247:25 | a11 | main.rs:245:14:245:51 | a11 | -| main.rs:249:15:249:15 | e | main.rs:244:13:244:13 | e | -| main.rs:250:28:250:30 | a12 | main.rs:248:33:248:35 | a12 | -| main.rs:266:11:266:12 | fv | main.rs:265:9:265:10 | fv | -| main.rs:268:26:268:28 | a13 | main.rs:267:9:267:109 | a13 | -| main.rs:279:15:279:16 | a8 | main.rs:273:5:273:6 | a8 | -| main.rs:280:15:280:16 | b3 | main.rs:275:9:275:10 | b3 | -| main.rs:281:15:281:16 | c1 | main.rs:276:9:276:10 | c1 | -| main.rs:286:15:286:16 | a9 | main.rs:284:20:284:55 | a9 | -| main.rs:295:15:295:17 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:296:15:296:16 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:297:15:297:16 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:304:9:304:11 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:305:9:305:10 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:306:9:306:10 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:308:15:308:17 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:309:15:309:16 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:310:15:310:16 | c2 | main.rs:293:13:293:14 | c2 | -| main.rs:317:23:317:25 | a10 | main.rs:314:13:314:15 | a10 | -| main.rs:318:23:318:24 | b4 | main.rs:315:13:315:14 | b4 | -| main.rs:322:15:322:17 | a10 | main.rs:291:13:291:15 | a10 | -| main.rs:323:15:323:16 | b4 | main.rs:292:13:292:14 | b4 | -| main.rs:329:9:329:9 | x | main.rs:328:10:328:10 | x | -| main.rs:331:9:331:23 | example_closure | main.rs:327:9:327:23 | example_closure | -| main.rs:332:15:332:16 | n1 | main.rs:330:9:330:10 | n1 | -| main.rs:337:9:337:9 | x | main.rs:336:6:336:6 | x | -| main.rs:339:9:339:26 | immutable_variable | main.rs:335:9:335:26 | immutable_variable | -| main.rs:340:15:340:16 | n2 | main.rs:338:9:338:10 | n2 | -| main.rs:347:9:347:9 | x | main.rs:346:10:346:10 | x | -| main.rs:348:15:348:15 | f | main.rs:345:9:345:9 | f | -| main.rs:352:9:352:9 | x | main.rs:350:10:350:10 | x | -| main.rs:355:15:355:15 | f | main.rs:345:9:345:9 | f | -| main.rs:361:17:361:17 | x | main.rs:359:14:359:14 | x | -| main.rs:370:13:370:13 | x | main.rs:369:14:369:14 | x | -| main.rs:371:19:371:19 | f | main.rs:368:13:368:13 | f | -| main.rs:379:12:379:12 | v | main.rs:376:9:376:9 | v | -| main.rs:380:19:380:22 | text | main.rs:378:9:378:12 | text | -| main.rs:387:15:387:15 | a | main.rs:385:13:385:13 | a | -| main.rs:389:15:389:15 | a | main.rs:385:13:385:13 | a | -| main.rs:396:6:396:10 | ref_i | main.rs:394:9:394:13 | ref_i | -| main.rs:397:15:397:15 | i | main.rs:393:13:393:13 | i | -| main.rs:401:6:401:6 | x | main.rs:400:17:400:17 | x | -| main.rs:402:10:402:10 | x | main.rs:400:17:400:17 | x | -| main.rs:403:10:403:10 | x | main.rs:400:17:400:17 | x | -| main.rs:404:12:404:12 | x | main.rs:400:17:400:17 | x | -| main.rs:408:6:408:6 | x | main.rs:407:22:407:22 | x | -| main.rs:409:10:409:10 | x | main.rs:407:22:407:22 | x | -| main.rs:410:10:410:10 | x | main.rs:407:22:407:22 | x | -| main.rs:411:6:411:6 | y | main.rs:407:38:407:38 | y | -| main.rs:412:9:412:9 | x | main.rs:407:22:407:22 | x | -| main.rs:419:6:419:6 | y | main.rs:417:9:417:9 | y | -| main.rs:421:15:421:15 | x | main.rs:416:13:416:13 | x | -| main.rs:428:9:428:9 | w | main.rs:424:9:424:9 | w | -| main.rs:430:7:430:7 | w | main.rs:424:9:424:9 | w | -| main.rs:432:15:432:15 | z | main.rs:423:13:423:13 | z | -| main.rs:439:6:439:6 | y | main.rs:437:9:437:9 | y | -| main.rs:440:15:440:15 | x | main.rs:436:13:436:13 | x | -| main.rs:447:19:447:19 | x | main.rs:444:9:444:9 | x | -| main.rs:449:5:449:7 | cap | main.rs:446:9:446:11 | cap | -| main.rs:450:15:450:15 | x | main.rs:444:9:444:9 | x | -| main.rs:457:19:457:19 | x | main.rs:454:13:454:13 | x | -| main.rs:459:5:459:12 | closure1 | main.rs:456:9:456:16 | closure1 | -| main.rs:460:15:460:15 | x | main.rs:454:13:454:13 | x | -| main.rs:467:5:467:12 | closure2 | main.rs:464:13:464:20 | closure2 | -| main.rs:468:15:468:15 | y | main.rs:462:13:462:13 | y | -| main.rs:473:9:473:9 | z | main.rs:470:13:470:13 | z | -| main.rs:475:5:475:12 | closure3 | main.rs:472:13:472:20 | closure3 | -| main.rs:476:15:476:15 | z | main.rs:470:13:470:13 | z | -| main.rs:485:5:485:9 | block | main.rs:481:9:481:13 | block | -| main.rs:486:15:486:15 | i | main.rs:480:13:480:13 | i | -| main.rs:491:15:491:15 | x | main.rs:490:13:490:13 | x | -| main.rs:492:15:492:15 | x | main.rs:490:13:490:13 | x | -| main.rs:494:16:494:16 | b | main.rs:489:8:489:8 | b | -| main.rs:497:19:497:19 | x | main.rs:490:13:490:13 | x | -| main.rs:498:19:498:19 | x | main.rs:490:13:490:13 | x | -| main.rs:501:19:501:19 | x | main.rs:490:13:490:13 | x | -| main.rs:502:19:502:19 | x | main.rs:490:13:490:13 | x | -| main.rs:504:15:504:15 | x | main.rs:490:13:490:13 | x | -| main.rs:510:16:510:17 | b1 | main.rs:507:13:507:14 | b1 | -| main.rs:512:19:512:19 | x | main.rs:508:9:508:9 | x | -| main.rs:514:19:514:19 | x | main.rs:508:9:508:9 | x | -| main.rs:518:16:518:17 | b2 | main.rs:507:23:507:24 | b2 | -| main.rs:520:19:520:19 | x | main.rs:508:9:508:9 | x | -| main.rs:522:19:522:19 | x | main.rs:508:9:508:9 | x | -| main.rs:532:16:532:19 | self | main.rs:531:20:531:23 | self | -| main.rs:536:9:536:12 | self | main.rs:535:11:535:14 | self | -| main.rs:542:13:542:16 | self | main.rs:539:23:539:26 | self | -| main.rs:542:25:542:25 | n | main.rs:540:22:540:22 | n | -| main.rs:544:9:544:9 | f | main.rs:540:17:540:17 | f | -| main.rs:545:9:545:9 | f | main.rs:540:17:540:17 | f | -| main.rs:551:15:551:15 | a | main.rs:550:13:550:13 | a | -| main.rs:552:5:552:5 | a | main.rs:550:13:550:13 | a | -| main.rs:553:15:553:15 | a | main.rs:550:13:550:13 | a | -| main.rs:555:15:555:15 | a | main.rs:550:13:550:13 | a | -| main.rs:560:15:560:15 | a | main.rs:559:13:559:13 | a | -| main.rs:561:5:561:5 | a | main.rs:559:13:559:13 | a | -| main.rs:562:15:562:15 | a | main.rs:559:13:559:13 | a | -| main.rs:564:15:564:15 | a | main.rs:559:13:559:13 | a | -| main.rs:570:15:570:15 | x | main.rs:568:9:568:9 | x | -| main.rs:582:10:582:13 | self | main.rs:581:17:581:20 | self | -| main.rs:588:5:588:5 | a | main.rs:587:13:587:13 | a | -| main.rs:590:15:590:15 | a | main.rs:587:13:587:13 | a | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:9:609:25 | var_in_macro | -| main.rs:610:15:610:28 | var_from_macro | main.rs:608:9:608:22 | var_from_macro | -| main.rs:615:30:615:41 | var_in_macro | main.rs:615:15:615:42 | var_in_macro | -| main.rs:616:15:616:26 | var_in_macro | main.rs:611:9:611:20 | var_in_macro | -| main.rs:622:15:622:15 | x | main.rs:620:9:620:9 | x | -| main.rs:629:20:629:20 | b | main.rs:627:20:627:20 | b | -| main.rs:633:5:633:7 | cap | main.rs:627:13:627:15 | cap | -| main.rs:634:15:634:15 | x | main.rs:626:13:626:13 | x | +| main.rs:7:20:7:20 | s | main.rs:5:14:5:14 | s | +| main.rs:12:20:12:20 | i | main.rs:10:14:10:14 | i | +| main.rs:16:16:16:16 | i | main.rs:15:18:15:18 | i | +| main.rs:21:15:21:16 | x1 | main.rs:20:9:20:10 | x1 | +| main.rs:26:15:26:16 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:28:15:28:16 | x2 | main.rs:25:13:25:14 | x2 | +| main.rs:40:15:40:16 | x3 | main.rs:39:9:39:10 | x3 | +| main.rs:42:9:42:10 | x3 | main.rs:39:9:39:10 | x3 | +| main.rs:43:15:43:16 | x3 | main.rs:41:9:41:10 | x3 | +| main.rs:48:15:48:16 | x4 | main.rs:47:9:47:10 | x4 | +| main.rs:51:19:51:20 | x4 | main.rs:50:13:50:14 | x4 | +| main.rs:53:15:53:16 | x4 | main.rs:47:9:47:10 | x4 | +| main.rs:72:15:72:16 | a1 | main.rs:64:13:64:14 | a1 | +| main.rs:73:15:73:16 | b1 | main.rs:65:13:65:14 | b1 | +| main.rs:74:15:74:15 | x | main.rs:68:13:68:13 | x | +| main.rs:75:15:75:15 | y | main.rs:69:13:69:13 | y | +| main.rs:83:9:83:10 | p1 | main.rs:79:9:79:10 | p1 | +| main.rs:84:15:84:16 | a2 | main.rs:81:12:81:13 | a2 | +| main.rs:85:15:85:16 | b2 | main.rs:82:12:82:13 | b2 | +| main.rs:92:11:92:12 | s1 | main.rs:89:9:89:10 | s1 | +| main.rs:93:19:93:20 | s2 | main.rs:91:21:91:22 | s2 | +| main.rs:100:7:100:7 | x | main.rs:98:9:98:9 | x | +| main.rs:103:13:103:13 | x | main.rs:98:9:98:9 | x | +| main.rs:104:19:104:19 | x | main.rs:102:13:102:13 | x | +| main.rs:107:15:107:15 | x | main.rs:99:14:99:14 | x | +| main.rs:114:11:114:12 | s1 | main.rs:111:9:111:10 | s1 | +| main.rs:115:19:115:20 | s2 | main.rs:113:24:113:25 | s2 | +| main.rs:123:11:123:12 | x6 | main.rs:120:9:120:10 | x6 | +| main.rs:128:23:128:24 | y1 | main.rs:125:14:125:15 | y1 | +| main.rs:133:15:133:16 | y1 | main.rs:121:9:121:10 | y1 | +| main.rs:139:11:139:17 | numbers | main.rs:137:9:137:15 | numbers | +| main.rs:148:23:148:27 | first | main.rs:142:13:142:17 | first | +| main.rs:149:23:149:27 | third | main.rs:144:13:144:17 | third | +| main.rs:150:23:150:27 | fifth | main.rs:146:13:146:17 | fifth | +| main.rs:154:11:154:17 | numbers | main.rs:137:9:137:15 | numbers | +| main.rs:161:23:161:27 | first | main.rs:157:13:157:17 | first | +| main.rs:162:23:162:26 | last | main.rs:159:13:159:16 | last | +| main.rs:170:11:170:12 | p2 | main.rs:168:9:168:10 | p2 | +| main.rs:173:24:173:25 | x7 | main.rs:172:16:172:17 | x7 | +| main.rs:184:11:184:13 | msg | main.rs:182:9:182:11 | msg | +| main.rs:188:24:188:34 | id_variable | main.rs:187:17:187:27 | id_variable | +| main.rs:195:23:195:24 | id | main.rs:192:26:192:27 | id | +| main.rs:207:11:207:16 | either | main.rs:206:9:206:14 | either | +| main.rs:209:26:209:27 | a3 | main.rs:208:9:208:44 | a3 | +| main.rs:221:11:221:12 | tv | main.rs:220:9:220:10 | tv | +| main.rs:223:26:223:27 | a4 | main.rs:222:9:222:81 | a4 | +| main.rs:225:11:225:12 | tv | main.rs:220:9:220:10 | tv | +| main.rs:227:26:227:27 | a5 | main.rs:226:9:226:83 | a5 | +| main.rs:229:11:229:12 | tv | main.rs:220:9:220:10 | tv | +| main.rs:231:26:231:27 | a6 | main.rs:230:9:230:83 | a6 | +| main.rs:237:11:237:16 | either | main.rs:236:9:236:14 | either | +| main.rs:239:16:239:17 | a7 | main.rs:238:9:238:44 | a7 | +| main.rs:240:26:240:27 | a7 | main.rs:238:9:238:44 | a7 | +| main.rs:248:11:248:16 | either | main.rs:246:9:246:14 | either | +| main.rs:252:23:252:25 | a11 | main.rs:250:14:250:51 | a11 | +| main.rs:254:15:254:15 | e | main.rs:249:13:249:13 | e | +| main.rs:255:28:255:30 | a12 | main.rs:253:33:253:35 | a12 | +| main.rs:271:11:271:12 | fv | main.rs:270:9:270:10 | fv | +| main.rs:273:26:273:28 | a13 | main.rs:272:9:272:109 | a13 | +| main.rs:281:7:281:7 | x | main.rs:279:9:279:9 | x | +| main.rs:283:5:283:5 | x | main.rs:280:17:280:17 | x | +| main.rs:285:19:285:19 | x | main.rs:280:17:280:17 | x | +| main.rs:288:13:288:13 | x | main.rs:279:9:279:9 | x | +| main.rs:289:19:289:19 | x | main.rs:287:13:287:13 | x | +| main.rs:297:7:297:7 | x | main.rs:295:9:295:9 | x | +| main.rs:300:12:300:12 | x | main.rs:296:17:296:17 | x | +| main.rs:302:5:302:5 | x | main.rs:299:14:299:14 | x | +| main.rs:304:19:304:19 | x | main.rs:299:14:299:14 | x | +| main.rs:307:13:307:13 | x | main.rs:295:9:295:9 | x | +| main.rs:308:19:308:19 | x | main.rs:306:13:306:13 | x | +| main.rs:316:7:316:7 | x | main.rs:314:9:314:9 | x | +| main.rs:319:12:319:12 | x | main.rs:315:20:315:20 | x | +| main.rs:321:5:321:5 | x | main.rs:318:14:318:14 | x | +| main.rs:323:19:323:19 | x | main.rs:318:14:318:14 | x | +| main.rs:327:15:327:15 | x | main.rs:314:9:314:9 | x | +| main.rs:333:11:333:11 | x | main.rs:332:9:332:9 | x | +| main.rs:336:18:336:18 | x | main.rs:334:14:334:14 | x | +| main.rs:337:19:337:19 | x | main.rs:335:20:335:20 | x | +| main.rs:341:15:341:15 | x | main.rs:332:9:332:9 | x | +| main.rs:348:7:348:7 | x | main.rs:346:9:346:9 | x | +| main.rs:350:19:350:19 | x | main.rs:347:16:347:16 | x | +| main.rs:353:7:353:7 | x | main.rs:346:9:346:9 | x | +| main.rs:355:19:355:19 | x | main.rs:352:20:352:20 | x | +| main.rs:357:19:357:19 | x | main.rs:346:9:346:9 | x | +| main.rs:368:15:368:16 | a8 | main.rs:362:5:362:6 | a8 | +| main.rs:369:15:369:16 | b3 | main.rs:364:9:364:10 | b3 | +| main.rs:370:15:370:16 | c1 | main.rs:365:9:365:10 | c1 | +| main.rs:375:15:375:16 | a9 | main.rs:373:20:373:55 | a9 | +| main.rs:384:15:384:17 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:385:15:385:16 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:386:15:386:16 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:393:9:393:11 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:394:9:394:10 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:395:9:395:10 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:397:15:397:17 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:398:15:398:16 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:399:15:399:16 | c2 | main.rs:382:13:382:14 | c2 | +| main.rs:406:23:406:25 | a10 | main.rs:403:13:403:15 | a10 | +| main.rs:407:23:407:24 | b4 | main.rs:404:13:404:14 | b4 | +| main.rs:411:15:411:17 | a10 | main.rs:380:13:380:15 | a10 | +| main.rs:412:15:412:16 | b4 | main.rs:381:13:381:14 | b4 | +| main.rs:418:9:418:9 | x | main.rs:417:10:417:10 | x | +| main.rs:420:9:420:23 | example_closure | main.rs:416:9:416:23 | example_closure | +| main.rs:421:15:421:16 | n1 | main.rs:419:9:419:10 | n1 | +| main.rs:426:9:426:9 | x | main.rs:425:6:425:6 | x | +| main.rs:428:9:428:26 | immutable_variable | main.rs:424:9:424:26 | immutable_variable | +| main.rs:429:15:429:16 | n2 | main.rs:427:9:427:10 | n2 | +| main.rs:436:9:436:9 | x | main.rs:435:10:435:10 | x | +| main.rs:437:15:437:15 | f | main.rs:434:9:434:9 | f | +| main.rs:441:9:441:9 | x | main.rs:439:10:439:10 | x | +| main.rs:444:15:444:15 | f | main.rs:434:9:434:9 | f | +| main.rs:450:17:450:17 | x | main.rs:448:14:448:14 | x | +| main.rs:459:13:459:13 | x | main.rs:458:14:458:14 | x | +| main.rs:460:19:460:19 | f | main.rs:457:13:457:13 | f | +| main.rs:468:12:468:12 | v | main.rs:465:9:465:9 | v | +| main.rs:469:19:469:22 | text | main.rs:467:9:467:12 | text | +| main.rs:476:15:476:15 | a | main.rs:474:13:474:13 | a | +| main.rs:478:15:478:15 | a | main.rs:474:13:474:13 | a | +| main.rs:485:6:485:10 | ref_i | main.rs:483:9:483:13 | ref_i | +| main.rs:486:15:486:15 | i | main.rs:482:13:482:13 | i | +| main.rs:490:6:490:6 | x | main.rs:489:17:489:17 | x | +| main.rs:491:10:491:10 | x | main.rs:489:17:489:17 | x | +| main.rs:492:10:492:10 | x | main.rs:489:17:489:17 | x | +| main.rs:493:12:493:12 | x | main.rs:489:17:489:17 | x | +| main.rs:497:6:497:6 | x | main.rs:496:22:496:22 | x | +| main.rs:498:10:498:10 | x | main.rs:496:22:496:22 | x | +| main.rs:499:10:499:10 | x | main.rs:496:22:496:22 | x | +| main.rs:500:6:500:6 | y | main.rs:496:38:496:38 | y | +| main.rs:501:9:501:9 | x | main.rs:496:22:496:22 | x | +| main.rs:508:6:508:6 | y | main.rs:506:9:506:9 | y | +| main.rs:511:15:511:15 | x | main.rs:505:13:505:13 | x | +| main.rs:518:9:518:9 | w | main.rs:514:9:514:9 | w | +| main.rs:520:7:520:7 | w | main.rs:514:9:514:9 | w | +| main.rs:523:15:523:15 | z | main.rs:513:13:513:13 | z | +| main.rs:530:6:530:6 | y | main.rs:528:9:528:9 | y | +| main.rs:531:15:531:15 | x | main.rs:527:13:527:13 | x | +| main.rs:539:19:539:19 | x | main.rs:535:9:535:9 | x | +| main.rs:541:5:541:7 | cap | main.rs:538:9:538:11 | cap | +| main.rs:542:15:542:15 | x | main.rs:535:9:535:9 | x | +| main.rs:550:19:550:19 | x | main.rs:546:13:546:13 | x | +| main.rs:552:5:552:12 | closure1 | main.rs:549:9:549:16 | closure1 | +| main.rs:553:15:553:15 | x | main.rs:546:13:546:13 | x | +| main.rs:561:5:561:12 | closure2 | main.rs:558:13:558:20 | closure2 | +| main.rs:562:15:562:15 | y | main.rs:555:13:555:13 | y | +| main.rs:568:9:568:9 | z | main.rs:564:13:564:13 | z | +| main.rs:570:5:570:12 | closure3 | main.rs:567:13:567:20 | closure3 | +| main.rs:571:15:571:15 | z | main.rs:564:13:564:13 | z | +| main.rs:580:5:580:9 | block | main.rs:576:9:576:13 | block | +| main.rs:581:15:581:15 | i | main.rs:575:13:575:13 | i | +| main.rs:586:15:586:15 | x | main.rs:585:13:585:13 | x | +| main.rs:587:15:587:15 | x | main.rs:585:13:585:13 | x | +| main.rs:589:16:589:16 | b | main.rs:584:8:584:8 | b | +| main.rs:592:19:592:19 | x | main.rs:585:13:585:13 | x | +| main.rs:593:19:593:19 | x | main.rs:585:13:585:13 | x | +| main.rs:596:19:596:19 | x | main.rs:585:13:585:13 | x | +| main.rs:597:19:597:19 | x | main.rs:585:13:585:13 | x | +| main.rs:599:15:599:15 | x | main.rs:585:13:585:13 | x | +| main.rs:605:16:605:17 | b1 | main.rs:602:13:602:14 | b1 | +| main.rs:607:19:607:19 | x | main.rs:603:9:603:9 | x | +| main.rs:609:19:609:19 | x | main.rs:603:9:603:9 | x | +| main.rs:613:16:613:17 | b2 | main.rs:602:23:602:24 | b2 | +| main.rs:615:19:615:19 | x | main.rs:603:9:603:9 | x | +| main.rs:617:19:617:19 | x | main.rs:603:9:603:9 | x | +| main.rs:627:16:627:19 | self | main.rs:626:20:626:23 | self | +| main.rs:631:9:631:12 | self | main.rs:630:11:630:14 | self | +| main.rs:637:13:637:16 | self | main.rs:634:23:634:26 | self | +| main.rs:637:25:637:25 | n | main.rs:635:22:635:22 | n | +| main.rs:639:9:639:9 | f | main.rs:635:17:635:17 | f | +| main.rs:640:9:640:9 | f | main.rs:635:17:635:17 | f | +| main.rs:646:15:646:15 | a | main.rs:645:13:645:13 | a | +| main.rs:647:5:647:5 | a | main.rs:645:13:645:13 | a | +| main.rs:648:15:648:15 | a | main.rs:645:13:645:13 | a | +| main.rs:650:15:650:15 | a | main.rs:645:13:645:13 | a | +| main.rs:655:15:655:15 | a | main.rs:654:13:654:13 | a | +| main.rs:656:5:656:5 | a | main.rs:654:13:654:13 | a | +| main.rs:657:15:657:15 | a | main.rs:654:13:654:13 | a | +| main.rs:659:15:659:15 | a | main.rs:654:13:654:13 | a | +| main.rs:665:15:665:15 | x | main.rs:663:9:663:9 | x | +| main.rs:677:10:677:13 | self | main.rs:676:17:676:20 | self | +| main.rs:683:5:683:5 | a | main.rs:682:13:682:13 | a | +| main.rs:686:15:686:15 | a | main.rs:682:13:682:13 | a | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:9:705:25 | var_in_macro | +| main.rs:706:15:706:28 | var_from_macro | main.rs:704:9:704:22 | var_from_macro | +| main.rs:712:30:712:41 | var_in_macro | main.rs:712:15:712:42 | var_in_macro | +| main.rs:713:15:713:26 | var_in_macro | main.rs:707:9:707:20 | var_in_macro | +| main.rs:719:15:719:15 | x | main.rs:717:9:717:9 | x | +| main.rs:726:20:726:20 | b | main.rs:724:20:724:20 | b | +| main.rs:730:5:730:7 | cap | main.rs:724:13:724:15 | cap | +| main.rs:731:15:731:15 | x | main.rs:723:13:723:13 | x | variableInitializer -| main.rs:18:9:18:10 | x1 | main.rs:18:14:18:16 | "a" | -| main.rs:23:13:23:14 | x2 | main.rs:23:18:23:18 | 4 | -| main.rs:30:13:30:13 | x | main.rs:30:17:30:17 | 1 | -| main.rs:37:9:37:10 | x3 | main.rs:37:14:37:14 | 1 | -| main.rs:39:9:39:10 | x3 | main.rs:40:9:40:14 | ... + ... | -| main.rs:45:9:45:10 | x4 | main.rs:45:14:45:16 | "a" | -| main.rs:48:13:48:14 | x4 | main.rs:48:18:48:20 | "b" | -| main.rs:77:9:77:10 | p1 | main.rs:77:14:77:37 | Point {...} | -| main.rs:87:9:87:10 | s1 | main.rs:87:14:87:41 | Some(...) | -| main.rs:106:9:106:10 | s1 | main.rs:106:14:106:41 | Some(...) | -| main.rs:115:9:115:10 | x6 | main.rs:115:14:115:20 | Some(...) | -| main.rs:116:9:116:10 | y1 | main.rs:116:14:116:15 | 10 | -| main.rs:132:9:132:15 | numbers | main.rs:132:19:132:35 | TupleExpr | -| main.rs:163:9:163:10 | p2 | main.rs:163:14:163:37 | Point {...} | -| main.rs:177:9:177:11 | msg | main.rs:177:15:177:38 | ...::Hello {...} | -| main.rs:201:9:201:14 | either | main.rs:201:18:201:33 | ...::Left(...) | -| main.rs:215:9:215:10 | tv | main.rs:215:14:215:36 | ...::Second(...) | -| main.rs:231:9:231:14 | either | main.rs:231:18:231:33 | ...::Left(...) | -| main.rs:241:9:241:14 | either | main.rs:241:18:241:33 | ...::Left(...) | -| main.rs:265:9:265:10 | fv | main.rs:265:14:265:35 | ...::Second(...) | -| main.rs:327:9:327:23 | example_closure | main.rs:328:9:329:9 | \|...\| x | -| main.rs:330:9:330:10 | n1 | main.rs:331:9:331:26 | example_closure(...) | -| main.rs:335:9:335:26 | immutable_variable | main.rs:336:5:337:9 | \|...\| x | -| main.rs:338:9:338:10 | n2 | main.rs:339:9:339:29 | immutable_variable(...) | -| main.rs:345:9:345:9 | f | main.rs:346:9:347:9 | \|...\| x | -| main.rs:368:13:368:13 | f | main.rs:369:13:370:13 | \|...\| x | -| main.rs:376:9:376:9 | v | main.rs:376:13:376:41 | &... | -| main.rs:385:13:385:13 | a | main.rs:385:17:385:17 | 0 | -| main.rs:393:13:393:13 | i | main.rs:393:17:393:17 | 1 | -| main.rs:394:9:394:13 | ref_i | main.rs:395:9:395:14 | &mut i | -| main.rs:416:13:416:13 | x | main.rs:416:17:416:17 | 2 | -| main.rs:417:9:417:9 | y | main.rs:418:9:418:28 | mutate_param(...) | -| main.rs:423:13:423:13 | z | main.rs:423:17:423:17 | 4 | -| main.rs:424:9:424:9 | w | main.rs:425:9:425:19 | &mut ... | -| main.rs:436:13:436:13 | x | main.rs:436:17:436:17 | 1 | -| main.rs:437:9:437:9 | y | main.rs:438:9:438:14 | &mut x | -| main.rs:444:9:444:9 | x | main.rs:444:13:444:15 | 100 | -| main.rs:446:9:446:11 | cap | main.rs:446:15:448:5 | \|...\| ... | -| main.rs:454:13:454:13 | x | main.rs:454:17:454:17 | 1 | -| main.rs:456:9:456:16 | closure1 | main.rs:456:20:458:5 | \|...\| ... | -| main.rs:462:13:462:13 | y | main.rs:462:17:462:17 | 2 | -| main.rs:464:13:464:20 | closure2 | main.rs:464:24:466:5 | \|...\| ... | -| main.rs:470:13:470:13 | z | main.rs:470:17:470:17 | 2 | -| main.rs:472:13:472:20 | closure3 | main.rs:472:24:474:5 | \|...\| ... | -| main.rs:480:13:480:13 | i | main.rs:480:22:480:22 | 0 | -| main.rs:481:9:481:13 | block | main.rs:481:17:483:5 | { ... } | -| main.rs:490:13:490:13 | x | main.rs:490:17:490:17 | 1 | -| main.rs:508:9:508:9 | x | main.rs:508:13:508:13 | 1 | -| main.rs:540:17:540:17 | f | main.rs:540:21:543:9 | \|...\| ... | -| main.rs:550:13:550:13 | a | main.rs:550:17:550:35 | MyStruct {...} | -| main.rs:559:13:559:13 | a | main.rs:559:17:559:25 | [...] | -| main.rs:568:9:568:9 | x | main.rs:568:13:568:14 | 16 | -| main.rs:572:9:572:9 | z | main.rs:572:13:572:14 | 17 | -| main.rs:587:13:587:13 | a | main.rs:587:17:587:35 | MyStruct {...} | -| main.rs:608:9:608:22 | var_from_macro | main.rs:609:9:609:25 | MacroExpr | -| main.rs:609:9:609:25 | var_in_macro | main.rs:609:23:609:24 | 37 | -| main.rs:611:9:611:20 | var_in_macro | main.rs:611:24:611:25 | 33 | -| main.rs:615:15:615:42 | var_in_macro | main.rs:615:15:615:42 | 0 | -| main.rs:626:13:626:13 | x | main.rs:626:17:626:19 | 100 | -| main.rs:627:13:627:15 | cap | main.rs:627:19:632:5 | \|...\| ... | +| main.rs:20:9:20:10 | x1 | main.rs:20:14:20:16 | "a" | +| main.rs:25:13:25:14 | x2 | main.rs:25:18:25:18 | 4 | +| main.rs:32:13:32:13 | x | main.rs:32:17:32:17 | 1 | +| main.rs:39:9:39:10 | x3 | main.rs:39:14:39:14 | 1 | +| main.rs:41:9:41:10 | x3 | main.rs:42:9:42:14 | ... + ... | +| main.rs:47:9:47:10 | x4 | main.rs:47:14:47:16 | "a" | +| main.rs:50:13:50:14 | x4 | main.rs:50:18:50:20 | "b" | +| main.rs:79:9:79:10 | p1 | main.rs:79:14:79:37 | Point {...} | +| main.rs:89:9:89:10 | s1 | main.rs:89:14:89:41 | Some(...) | +| main.rs:98:9:98:9 | x | main.rs:98:13:98:22 | Some(...) | +| main.rs:102:13:102:13 | x | main.rs:103:13:103:13 | x | +| main.rs:111:9:111:10 | s1 | main.rs:111:14:111:41 | Some(...) | +| main.rs:120:9:120:10 | x6 | main.rs:120:14:120:20 | Some(...) | +| main.rs:121:9:121:10 | y1 | main.rs:121:14:121:15 | 10 | +| main.rs:137:9:137:15 | numbers | main.rs:137:19:137:35 | TupleExpr | +| main.rs:168:9:168:10 | p2 | main.rs:168:14:168:37 | Point {...} | +| main.rs:182:9:182:11 | msg | main.rs:182:15:182:38 | ...::Hello {...} | +| main.rs:206:9:206:14 | either | main.rs:206:18:206:33 | ...::Left(...) | +| main.rs:220:9:220:10 | tv | main.rs:220:14:220:36 | ...::Second(...) | +| main.rs:236:9:236:14 | either | main.rs:236:18:236:33 | ...::Left(...) | +| main.rs:246:9:246:14 | either | main.rs:246:18:246:33 | ...::Left(...) | +| main.rs:270:9:270:10 | fv | main.rs:270:14:270:35 | ...::Second(...) | +| main.rs:279:9:279:9 | x | main.rs:279:12:279:19 | Some(...) | +| main.rs:287:13:287:13 | x | main.rs:288:13:288:13 | x | +| main.rs:295:9:295:9 | x | main.rs:295:13:295:20 | Some(...) | +| main.rs:306:13:306:13 | x | main.rs:307:13:307:13 | x | +| main.rs:314:9:314:9 | x | main.rs:314:13:314:20 | Some(...) | +| main.rs:332:9:332:9 | x | main.rs:332:13:332:20 | Some(...) | +| main.rs:335:20:335:20 | x | main.rs:336:18:336:18 | x | +| main.rs:346:9:346:9 | x | main.rs:346:13:346:18 | Ok(...) | +| main.rs:416:9:416:23 | example_closure | main.rs:417:9:418:9 | \|...\| x | +| main.rs:419:9:419:10 | n1 | main.rs:420:9:420:26 | example_closure(...) | +| main.rs:424:9:424:26 | immutable_variable | main.rs:425:5:426:9 | \|...\| x | +| main.rs:427:9:427:10 | n2 | main.rs:428:9:428:29 | immutable_variable(...) | +| main.rs:434:9:434:9 | f | main.rs:435:9:436:9 | \|...\| x | +| main.rs:457:13:457:13 | f | main.rs:458:13:459:13 | \|...\| x | +| main.rs:465:9:465:9 | v | main.rs:465:13:465:41 | &... | +| main.rs:474:13:474:13 | a | main.rs:474:17:474:17 | 0 | +| main.rs:482:13:482:13 | i | main.rs:482:17:482:17 | 1 | +| main.rs:483:9:483:13 | ref_i | main.rs:484:9:484:14 | &mut i | +| main.rs:505:13:505:13 | x | main.rs:505:17:505:17 | 2 | +| main.rs:506:9:506:9 | y | main.rs:507:9:507:28 | mutate_param(...) | +| main.rs:513:13:513:13 | z | main.rs:513:17:513:17 | 4 | +| main.rs:514:9:514:9 | w | main.rs:515:9:515:19 | &mut ... | +| main.rs:527:13:527:13 | x | main.rs:527:17:527:17 | 1 | +| main.rs:528:9:528:9 | y | main.rs:529:9:529:14 | &mut x | +| main.rs:535:9:535:9 | x | main.rs:535:13:535:15 | 100 | +| main.rs:538:9:538:11 | cap | main.rs:538:15:540:5 | \|...\| ... | +| main.rs:546:13:546:13 | x | main.rs:546:17:546:17 | 1 | +| main.rs:549:9:549:16 | closure1 | main.rs:549:20:551:5 | \|...\| ... | +| main.rs:555:13:555:13 | y | main.rs:555:17:555:17 | 2 | +| main.rs:558:13:558:20 | closure2 | main.rs:558:24:560:5 | \|...\| ... | +| main.rs:564:13:564:13 | z | main.rs:564:17:564:17 | 2 | +| main.rs:567:13:567:20 | closure3 | main.rs:567:24:569:5 | \|...\| ... | +| main.rs:575:13:575:13 | i | main.rs:575:22:575:22 | 0 | +| main.rs:576:9:576:13 | block | main.rs:576:17:578:5 | { ... } | +| main.rs:585:13:585:13 | x | main.rs:585:17:585:17 | 1 | +| main.rs:603:9:603:9 | x | main.rs:603:13:603:13 | 1 | +| main.rs:635:17:635:17 | f | main.rs:635:21:638:9 | \|...\| ... | +| main.rs:645:13:645:13 | a | main.rs:645:17:645:35 | MyStruct {...} | +| main.rs:654:13:654:13 | a | main.rs:654:17:654:25 | [...] | +| main.rs:663:9:663:9 | x | main.rs:663:13:663:14 | 16 | +| main.rs:667:9:667:9 | z | main.rs:667:13:667:14 | 17 | +| main.rs:682:13:682:13 | a | main.rs:682:17:682:35 | MyStruct {...} | +| main.rs:704:9:704:22 | var_from_macro | main.rs:705:9:705:25 | MacroExpr | +| main.rs:705:9:705:25 | var_in_macro | main.rs:705:23:705:24 | 37 | +| main.rs:707:9:707:20 | var_in_macro | main.rs:707:24:707:25 | 33 | +| main.rs:712:15:712:42 | var_in_macro | main.rs:712:15:712:42 | 0 | +| main.rs:723:13:723:13 | x | main.rs:723:17:723:19 | 100 | +| main.rs:724:13:724:15 | cap | main.rs:724:19:729:5 | \|...\| ... | capturedVariable -| main.rs:444:9:444:9 | x | -| main.rs:454:13:454:13 | x | -| main.rs:462:13:462:13 | y | -| main.rs:470:13:470:13 | z | -| main.rs:480:13:480:13 | i | -| main.rs:539:23:539:26 | self | -| main.rs:626:13:626:13 | x | +| main.rs:535:9:535:9 | x | +| main.rs:546:13:546:13 | x | +| main.rs:555:13:555:13 | y | +| main.rs:564:13:564:13 | z | +| main.rs:575:13:575:13 | i | +| main.rs:634:23:634:26 | self | +| main.rs:723:13:723:13 | x | capturedAccess -| main.rs:447:19:447:19 | x | -| main.rs:457:19:457:19 | x | -| main.rs:465:9:465:9 | y | -| main.rs:473:9:473:9 | z | -| main.rs:482:9:482:9 | i | -| main.rs:542:13:542:16 | self | -| main.rs:630:13:630:13 | x | +| main.rs:539:19:539:19 | x | +| main.rs:550:19:550:19 | x | +| main.rs:559:9:559:9 | y | +| main.rs:568:9:568:9 | z | +| main.rs:577:9:577:9 | i | +| main.rs:637:13:637:16 | self | +| main.rs:727:13:727:13 | x | nestedFunctionAccess -| main.rs:358:19:358:19 | f | main.rs:359:9:362:9 | fn f | -| main.rs:365:23:365:23 | f | main.rs:359:9:362:9 | fn f | +| main.rs:447:19:447:19 | f | main.rs:448:9:451:9 | fn f | +| main.rs:454:23:454:23 | f | main.rs:448:9:451:9 | fn f | diff --git a/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected b/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected index c7e132bce89a..bae744c08869 100644 --- a/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected +++ b/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected @@ -11,6 +11,7 @@ | lifetime.rs:172:13:172:15 | ptr | lifetime.rs:187:12:187:21 | &my_local1 | lifetime.rs:172:13:172:15 | ptr | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:186:6:186:14 | my_local1 | my_local1 | | lifetime.rs:255:14:255:17 | prev | lifetime.rs:251:10:251:19 | &my_local2 | lifetime.rs:255:14:255:17 | prev | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:242:7:242:15 | my_local2 | my_local2 | | lifetime.rs:310:31:310:32 | e1 | lifetime.rs:272:30:272:32 | &e1 | lifetime.rs:310:31:310:32 | e1 | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:271:6:271:7 | e1 | e1 | +| lifetime.rs:314:23:314:24 | p2 | lifetime.rs:279:28:279:30 | &v2 | lifetime.rs:314:23:314:24 | p2 | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:278:6:278:7 | v2 | v2 | | lifetime.rs:317:13:317:18 | result | lifetime.rs:289:25:289:26 | &x | lifetime.rs:317:13:317:18 | result | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:289:17:289:17 | x | x | | lifetime.rs:411:16:411:17 | p1 | lifetime.rs:383:31:383:37 | &raw mut my_pair | lifetime.rs:411:16:411:17 | p1 | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:382:11:382:17 | my_pair | my_pair | | lifetime.rs:416:16:416:17 | p1 | lifetime.rs:383:31:383:37 | &raw mut my_pair | lifetime.rs:416:16:416:17 | p1 | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:382:11:382:17 | my_pair | my_pair | @@ -123,14 +124,22 @@ edges | lifetime.rs:270:47:275:1 | { ... } | lifetime.rs:303:11:303:31 | get_pointer_to_enum(...) | provenance | | | lifetime.rs:272:6:272:11 | result | lifetime.rs:270:47:275:1 | { ... } | provenance | | | lifetime.rs:272:30:272:32 | &e1 | lifetime.rs:272:6:272:11 | result | provenance | | +| lifetime.rs:277:41:282:1 | { ... } [Pointer] | lifetime.rs:304:11:304:31 | get_pointer_in_enum(...) [Pointer] | provenance | | +| lifetime.rs:279:6:279:7 | e2 [Pointer] | lifetime.rs:277:41:282:1 | { ... } [Pointer] | provenance | | +| lifetime.rs:279:11:279:31 | ...::Pointer(...) [Pointer] | lifetime.rs:279:6:279:7 | e2 [Pointer] | provenance | | +| lifetime.rs:279:28:279:30 | &v2 | lifetime.rs:279:11:279:31 | ...::Pointer(...) [Pointer] | provenance | | | lifetime.rs:284:46:300:1 | { ... } | lifetime.rs:305:15:305:37 | get_pointer_from_enum(...) | provenance | | | lifetime.rs:288:2:288:7 | result | lifetime.rs:284:46:300:1 | { ... } | provenance | | | lifetime.rs:288:2:288:7 | result | lifetime.rs:295:13:295:18 | result | provenance | | | lifetime.rs:289:25:289:26 | &x | lifetime.rs:288:2:288:7 | result | provenance | | | lifetime.rs:303:6:303:7 | e1 | lifetime.rs:310:31:310:32 | e1 | provenance | | | lifetime.rs:303:11:303:31 | get_pointer_to_enum(...) | lifetime.rs:303:6:303:7 | e1 | provenance | | +| lifetime.rs:304:6:304:7 | e2 [Pointer] | lifetime.rs:313:10:313:29 | ...::Pointer(...) [Pointer] | provenance | | +| lifetime.rs:304:11:304:31 | get_pointer_in_enum(...) [Pointer] | lifetime.rs:304:6:304:7 | e2 [Pointer] | provenance | | | lifetime.rs:305:6:305:11 | result | lifetime.rs:317:13:317:18 | result | provenance | | | lifetime.rs:305:15:305:37 | get_pointer_from_enum(...) | lifetime.rs:305:6:305:11 | result | provenance | | +| lifetime.rs:313:10:313:29 | ...::Pointer(...) [Pointer] | lifetime.rs:313:27:313:28 | p2 | provenance | | +| lifetime.rs:313:27:313:28 | p2 | lifetime.rs:314:23:314:24 | p2 | provenance | | | lifetime.rs:383:3:383:4 | p1 | lifetime.rs:388:15:388:16 | p1 | provenance | | | lifetime.rs:383:3:383:4 | p1 | lifetime.rs:391:15:391:16 | p1 | provenance | | | lifetime.rs:383:3:383:4 | p1 | lifetime.rs:399:6:399:7 | p1 | provenance | | @@ -323,15 +332,24 @@ nodes | lifetime.rs:270:47:275:1 | { ... } | semmle.label | { ... } | | lifetime.rs:272:6:272:11 | result | semmle.label | result | | lifetime.rs:272:30:272:32 | &e1 | semmle.label | &e1 | +| lifetime.rs:277:41:282:1 | { ... } [Pointer] | semmle.label | { ... } [Pointer] | +| lifetime.rs:279:6:279:7 | e2 [Pointer] | semmle.label | e2 [Pointer] | +| lifetime.rs:279:11:279:31 | ...::Pointer(...) [Pointer] | semmle.label | ...::Pointer(...) [Pointer] | +| lifetime.rs:279:28:279:30 | &v2 | semmle.label | &v2 | | lifetime.rs:284:46:300:1 | { ... } | semmle.label | { ... } | | lifetime.rs:288:2:288:7 | result | semmle.label | result | | lifetime.rs:289:25:289:26 | &x | semmle.label | &x | | lifetime.rs:295:13:295:18 | result | semmle.label | result | | lifetime.rs:303:6:303:7 | e1 | semmle.label | e1 | | lifetime.rs:303:11:303:31 | get_pointer_to_enum(...) | semmle.label | get_pointer_to_enum(...) | +| lifetime.rs:304:6:304:7 | e2 [Pointer] | semmle.label | e2 [Pointer] | +| lifetime.rs:304:11:304:31 | get_pointer_in_enum(...) [Pointer] | semmle.label | get_pointer_in_enum(...) [Pointer] | | lifetime.rs:305:6:305:11 | result | semmle.label | result | | lifetime.rs:305:15:305:37 | get_pointer_from_enum(...) | semmle.label | get_pointer_from_enum(...) | | lifetime.rs:310:31:310:32 | e1 | semmle.label | e1 | +| lifetime.rs:313:10:313:29 | ...::Pointer(...) [Pointer] | semmle.label | ...::Pointer(...) [Pointer] | +| lifetime.rs:313:27:313:28 | p2 | semmle.label | p2 | +| lifetime.rs:314:23:314:24 | p2 | semmle.label | p2 | | lifetime.rs:317:13:317:18 | result | semmle.label | result | | lifetime.rs:383:3:383:4 | p1 | semmle.label | p1 | | lifetime.rs:383:31:383:37 | &raw mut my_pair | semmle.label | &raw mut my_pair | diff --git a/rust/ql/test/query-tests/security/CWE-825/lifetime.rs b/rust/ql/test/query-tests/security/CWE-825/lifetime.rs index ab03252b699c..83317aa13d1f 100644 --- a/rust/ql/test/query-tests/security/CWE-825/lifetime.rs +++ b/rust/ql/test/query-tests/security/CWE-825/lifetime.rs @@ -276,7 +276,7 @@ pub fn get_pointer_to_enum() -> *const MyEnum { pub fn get_pointer_in_enum() -> MyEnum2 { let v2 = 2; - let e2 = MyEnum2::Pointer(&v2); // $ MISSING: Source[rust/access-after-lifetime-ended]=v2 + let e2 = MyEnum2::Pointer(&v2); // $ Source[rust/access-after-lifetime-ended]=v2 e2 } // (v2 goes out of scope, so the contained pointer is dangling) @@ -311,7 +311,7 @@ pub fn test_enums() { println!(" v1 = {v1} (!)"); // corrupt in practice } if let MyEnum2::Pointer(p2) = e2 { - let v2 = unsafe { *p2 }; // $ MISSING: Alert[rust/access-after-lifetime-ended]=v2 + let v2 = unsafe { *p2 }; // $ Alert[rust/access-after-lifetime-ended]=v2 println!(" v2 = {v2} (!)"); // corrupt in practice } let v3 = *result; // $ Alert[rust/access-after-lifetime-ended]=match_x diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected index 6f977f067dbb..1d3672a258a9 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected @@ -1,6 +1,6 @@ multipleCallTargets -| main.rs:13:13:13:29 | ...::from(...) | | main.rs:14:13:14:29 | ...::from(...) | +| main.rs:15:13:15:29 | ...::from(...) | | unreachable.rs:165:20:165:42 | ...::from(...) | | unreachable.rs:171:9:171:17 | ...::from(...) | | unreachable.rs:177:17:177:25 | ...::from(...) | diff --git a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected index 4ef8ae416250..c5f0f59966cb 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedValue.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedValue.expected @@ -1,21 +1,22 @@ -| main.rs:10:9:10:9 | a | Variable $@ is assigned a value that is never used. | main.rs:10:9:10:9 | a | a | -| main.rs:13:9:13:9 | d | Variable $@ is assigned a value that is never used. | main.rs:13:9:13:9 | d | d | -| main.rs:39:5:39:5 | b | Variable $@ is assigned a value that is never used. | main.rs:30:9:30:9 | b | b | -| main.rs:41:5:41:5 | c | Variable $@ is assigned a value that is never used. | main.rs:31:13:31:13 | c | c | -| main.rs:44:5:44:5 | c | Variable $@ is assigned a value that is never used. | main.rs:31:13:31:13 | c | c | -| main.rs:48:9:48:9 | d | Variable $@ is assigned a value that is never used. | main.rs:32:13:32:13 | d | d | -| main.rs:54:5:54:5 | e | Variable $@ is assigned a value that is never used. | main.rs:33:13:33:13 | e | e | -| main.rs:65:5:65:5 | f | Variable $@ is assigned a value that is never used. | main.rs:34:13:34:13 | f | f | -| main.rs:67:5:67:5 | f | Variable $@ is assigned a value that is never used. | main.rs:34:13:34:13 | f | f | -| main.rs:69:5:69:5 | g | Variable $@ is assigned a value that is never used. | main.rs:35:9:35:9 | g | g | -| main.rs:95:9:95:9 | a | Variable $@ is assigned a value that is never used. | main.rs:95:9:95:9 | a | a | -| main.rs:116:9:116:10 | is | Variable $@ is assigned a value that is never used. | main.rs:116:9:116:10 | is | is | -| main.rs:139:13:139:17 | total | Variable $@ is assigned a value that is never used. | main.rs:139:13:139:17 | total | total | -| main.rs:284:13:284:17 | total | Variable $@ is assigned a value that is never used. | main.rs:252:13:252:17 | total | total | -| main.rs:377:9:377:9 | x | Variable $@ is assigned a value that is never used. | main.rs:377:9:377:9 | x | x | -| main.rs:385:17:385:17 | x | Variable $@ is assigned a value that is never used. | main.rs:385:17:385:17 | x | x | -| main.rs:531:9:531:20 | var_in_macro | Variable $@ is assigned a value that is never used. | main.rs:531:9:531:20 | var_in_macro | var_in_macro | -| main.rs:540:9:540:9 | c | Variable $@ is assigned a value that is never used. | main.rs:540:9:540:9 | c | c | +| main.rs:11:9:11:9 | a | Variable $@ is assigned a value that is never used. | main.rs:11:9:11:9 | a | a | +| main.rs:14:9:14:9 | d | Variable $@ is assigned a value that is never used. | main.rs:14:9:14:9 | d | d | +| main.rs:40:5:40:5 | b | Variable $@ is assigned a value that is never used. | main.rs:31:9:31:9 | b | b | +| main.rs:42:5:42:5 | c | Variable $@ is assigned a value that is never used. | main.rs:32:13:32:13 | c | c | +| main.rs:45:5:45:5 | c | Variable $@ is assigned a value that is never used. | main.rs:32:13:32:13 | c | c | +| main.rs:49:9:49:9 | d | Variable $@ is assigned a value that is never used. | main.rs:33:13:33:13 | d | d | +| main.rs:55:5:55:5 | e | Variable $@ is assigned a value that is never used. | main.rs:34:13:34:13 | e | e | +| main.rs:66:5:66:5 | f | Variable $@ is assigned a value that is never used. | main.rs:35:13:35:13 | f | f | +| main.rs:68:5:68:5 | f | Variable $@ is assigned a value that is never used. | main.rs:35:13:35:13 | f | f | +| main.rs:70:5:70:5 | g | Variable $@ is assigned a value that is never used. | main.rs:36:9:36:9 | g | g | +| main.rs:96:9:96:9 | a | Variable $@ is assigned a value that is never used. | main.rs:96:9:96:9 | a | a | +| main.rs:117:9:117:10 | is | Variable $@ is assigned a value that is never used. | main.rs:117:9:117:10 | is | is | +| main.rs:140:13:140:17 | total | Variable $@ is assigned a value that is never used. | main.rs:140:13:140:17 | total | total | +| main.rs:285:13:285:17 | total | Variable $@ is assigned a value that is never used. | main.rs:253:13:253:17 | total | total | +| main.rs:322:12:322:12 | j | Variable $@ is assigned a value that is never used. | main.rs:322:12:322:12 | j | j | +| main.rs:382:9:382:9 | x | Variable $@ is assigned a value that is never used. | main.rs:382:9:382:9 | x | x | +| main.rs:390:17:390:17 | x | Variable $@ is assigned a value that is never used. | main.rs:390:17:390:17 | x | x | +| main.rs:536:9:536:20 | var_in_macro | Variable $@ is assigned a value that is never used. | main.rs:536:9:536:20 | var_in_macro | var_in_macro | +| main.rs:545:9:545:9 | c | Variable $@ is assigned a value that is never used. | main.rs:545:9:545:9 | c | c | | more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 | | more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr | | more.rs:65:13:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr | diff --git a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected index 203824f4a4b6..583587b8a139 100644 --- a/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected +++ b/rust/ql/test/query-tests/unusedentities/UnusedVariable.expected @@ -1,22 +1,21 @@ -| main.rs:29:9:29:9 | a | Variable 'a' is not used. | -| main.rs:98:13:98:13 | d | Variable 'd' is not used. | -| main.rs:147:5:147:5 | y | Variable 'y' is not used. | -| main.rs:174:9:174:9 | x | Variable 'x' is not used. | -| main.rs:254:17:254:17 | a | Variable 'a' is not used. | -| main.rs:262:20:262:22 | val | Variable 'val' is not used. | -| main.rs:276:14:276:16 | val | Variable 'val' is not used. | -| main.rs:291:22:291:24 | val | Variable 'val' is not used. | -| main.rs:298:24:298:26 | val | Variable 'val' is not used. | -| main.rs:306:13:306:15 | num | Variable 'num' is not used. | -| main.rs:321:12:321:12 | j | Variable 'j' is not used. | -| main.rs:341:25:341:25 | y | Variable 'y' is not used. | -| main.rs:344:28:344:28 | a | Variable 'a' is not used. | -| main.rs:347:9:347:9 | p | Variable 'p' is not used. | -| main.rs:365:9:365:13 | right | Variable 'right' is not used. | -| main.rs:371:9:371:14 | right2 | Variable 'right2' is not used. | -| main.rs:378:13:378:13 | y | Variable 'y' is not used. | -| main.rs:386:21:386:21 | y | Variable 'y' is not used. | -| main.rs:431:26:431:28 | val | Variable 'val' is not used. | -| main.rs:434:21:434:23 | acc | Variable 'acc' is not used. | -| main.rs:455:9:455:14 | unused | Variable 'unused' is not used. | +| main.rs:30:9:30:9 | a | Variable 'a' is not used. | +| main.rs:99:13:99:13 | d | Variable 'd' is not used. | +| main.rs:148:5:148:5 | y | Variable 'y' is not used. | +| main.rs:175:9:175:9 | x | Variable 'x' is not used. | +| main.rs:255:17:255:17 | a | Variable 'a' is not used. | +| main.rs:263:20:263:22 | val | Variable 'val' is not used. | +| main.rs:277:14:277:16 | val | Variable 'val' is not used. | +| main.rs:292:22:292:24 | val | Variable 'val' is not used. | +| main.rs:299:24:299:26 | val | Variable 'val' is not used. | +| main.rs:307:13:307:15 | num | Variable 'num' is not used. | +| main.rs:342:25:342:25 | y | Variable 'y' is not used. | +| main.rs:345:28:345:28 | a | Variable 'a' is not used. | +| main.rs:348:9:348:9 | p | Variable 'p' is not used. | +| main.rs:366:9:366:13 | right | Variable 'right' is not used. | +| main.rs:372:9:372:14 | right2 | Variable 'right2' is not used. | +| main.rs:383:13:383:13 | y | Variable 'y' is not used. | +| main.rs:391:21:391:21 | y | Variable 'y' is not used. | +| main.rs:436:26:436:28 | val | Variable 'val' is not used. | +| main.rs:439:21:439:23 | acc | Variable 'acc' is not used. | +| main.rs:460:9:460:14 | unused | Variable 'unused' is not used. | | more.rs:24:9:24:11 | val | Variable 'val' is not used. | diff --git a/rust/ql/test/query-tests/unusedentities/main.rs b/rust/ql/test/query-tests/unusedentities/main.rs index 6da7b55fe5cd..01b7cc14bc8c 100644 --- a/rust/ql/test/query-tests/unusedentities/main.rs +++ b/rust/ql/test/query-tests/unusedentities/main.rs @@ -1,3 +1,4 @@ +#![feature(let_chains)] mod more; mod unreachable; @@ -318,7 +319,7 @@ fn if_lets_matches() { No => {} } - if let j = Yes { // $ Alert[rust/unused-variable] + if let j = Yes { // $ Alert[rust/unused-value] } if let k = Yes { @@ -371,6 +372,10 @@ fn if_lets_matches() { right2) = // $ MISSING: Alert[rust/unused-value] $ SPURIOUS: Alert[rust/unused-variable] pair; _ = left2; + + if let Some(m) = Some(10) + && m > 0 + {} } fn shadowing() -> i32 { diff --git a/rust/ql/test/query-tests/unusedentities/options.yml b/rust/ql/test/query-tests/unusedentities/options.yml new file mode 100644 index 000000000000..a394083e5212 --- /dev/null +++ b/rust/ql/test/query-tests/unusedentities/options.yml @@ -0,0 +1 @@ +qltest_use_nightly: true diff --git a/rust/ql/test/utils-tests/modelgenerator/option.rs b/rust/ql/test/utils-tests/modelgenerator/option.rs index 13e49806f93a..9af029791351 100644 --- a/rust/ql/test/utils-tests/modelgenerator/option.rs +++ b/rust/ql/test/utils-tests/modelgenerator/option.rs @@ -160,7 +160,7 @@ impl MyOption { } // summary=::inspect;Argument[self];ReturnValue;value;dfc-generated - // MISSING: Due to `ref` pattern. + // summary=::inspect;Argument[self].Field[test::option::MyOption::MySome(0)];Argument[0].Parameter[0].Reference;value;dfc-generated pub fn inspect(self, f: F) -> Self { if let MySome(ref x) = self { f(x); @@ -253,7 +253,8 @@ impl MyOption { } } - // MISSING: Reference passed to predicate + // summary=::filter;Argument[self].Field[test::option::MyOption::MySome(0)];Argument[0].Parameter[0].Reference;value;dfc-generated + // summary=::filter;Argument[self].Field[test::option::MyOption::MySome(0)];ReturnValue.Field[test::option::MyOption::MySome(0)];value;dfc-generated pub fn filter

(self, predicate: P) -> Self where P: FnOnce(&T) -> bool,