From 3c422a2ef1dfaf8879017bd2baf090515ddb7ab7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Aug 2026 13:56:21 +0000 Subject: [PATCH] Rust: remove CFG splitting; model logical operations in pre-order Co-authored-by: aschackmull <28296824+aschackmull@users.noreply.github.com> --- .../2026-08-11-cfg-no-splitting.md | 4 + .../controlflow/internal/CfgConsistency.qll | 27 +- .../rust/controlflow/internal/CfgNodes.qll | 4 +- .../internal/ControlFlowGraphImpl.qll | 109 +- .../rust/controlflow/internal/Splitting.qll | 125 -- rust/ql/lib/codeql/rust/dataflow/Ssa.qll | 16 +- .../dataflow/internal/DataFlowConsistency.qll | 1 - .../lib/codeql/rust/internal/CachedStages.qll | 3 - .../controlflow/BasicBlocks.expected | 1101 +++++++---------- .../library-tests/controlflow/Cfg.expected | 247 ++-- 10 files changed, 618 insertions(+), 1019 deletions(-) create mode 100644 rust/ql/lib/change-notes/2026-08-11-cfg-no-splitting.md delete mode 100644 rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll diff --git a/rust/ql/lib/change-notes/2026-08-11-cfg-no-splitting.md b/rust/ql/lib/change-notes/2026-08-11-cfg-no-splitting.md new file mode 100644 index 000000000000..77da22b1f3d7 --- /dev/null +++ b/rust/ql/lib/change-notes/2026-08-11-cfg-no-splitting.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The control flow graph no longer uses splitting. As a consequence, the logical operations `&&`, `||`, and `!` are now modeled in pre-order, meaning that the Boolean value of such an expression is reflected in the outgoing edges of the operands instead of the operation itself. diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll index 02393cb98c26..40c677b0087b 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgConsistency.qll @@ -14,6 +14,8 @@ private import codeql.rust.Diagnostics private predicate nonPostOrderExpr(Expr e) { not e instanceof LetExpr and not e instanceof ParenExpr and + // logical operations are `PreOrderTree`s + not e instanceof LogicalOperation and exists(AstNode last, Completion c | CfgImpl::last(e, last, c) and last != e and @@ -65,8 +67,8 @@ query predicate missingCfgChild(CfgNode parent, string pred, int i, AstNode chil CfgNodes::missingCfgChild(parent, pred, i, child) and successfullyExtractedFile(child.getLocation().getFile()) and not exists(AstNode last, CfgImpl::Completion c | CfgImpl::last(child, last, c) | - // In for example `if (a && true) ...`, there is no edge from the CFG node - // for `true` into the `[false] a && true` node. + // In for example `if (a && true) ...`, there is no false edge out of the + // CFG node for `true`. strictcount(ConditionalSuccessor cs | exists(last.getACfgNode().getASuccessor(cs)) | cs) = 1 or // In for example `x && return`, there is no edge from the node for @@ -82,21 +84,6 @@ int getCfgInconsistencyCounts(string type) { // total results from all the CFG consistency query predicates in: // - `codeql.rust.controlflow.internal.CfgConsistency` (this file) // - `shared.controlflow.codeql.controlflow.Cfg` - type = "Non-unique set representation" and - result = count(CfgImpl::Splits ss | nonUniqueSetRepresentation(ss, _) | ss) - or - type = "Splitting invariant 2" and - result = count(AstNode n | breakInvariant2(n, _, _, _, _, _) | n) - or - type = "Splitting invariant 3" and - result = count(AstNode n | breakInvariant3(n, _, _, _, _, _) | n) - or - type = "Splitting invariant 4" and - result = count(AstNode n | breakInvariant4(n, _, _, _, _, _) | n) - or - type = "Splitting invariant 5" and - result = count(AstNode n | breakInvariant5(n, _, _, _, _, _) | n) - or type = "Multiple successors of the same type" and result = count(CfgNode n | multipleSuccessors(n, _, _) | n) or @@ -106,12 +93,6 @@ int getCfgInconsistencyCounts(string type) { type = "Dead end" and result = count(CfgNode n | deadEnd(n) | n) or - type = "Non-unique split kind" and - result = count(CfgImpl::SplitImpl si | nonUniqueSplitKind(si, _) | si) - or - type = "Non-unique list order" and - result = count(CfgImpl::SplitKind sk | nonUniqueListOrder(sk, _) | sk) - or type = "Multiple toStrings" and result = count(CfgNode n | multipleToString(n) | n) or diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll index ee1c0e6ab6b2..0ead5b321497 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/CfgNodes.qll @@ -7,7 +7,9 @@ private import codeql.rust.controlflow.CfgNodes private import codeql.rust.internal.CachedStages private predicate isPostOrder(AstNode n) { - n instanceof Expr + n instanceof Expr and + // logical operations are modeled in pre-order + not n instanceof LogicalOperation 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 f8a182685b64..8f6c0c8afc33 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -53,22 +53,7 @@ private module CfgInput implements InputSig { int idOfCfgScope(CfgScope node) { result = idOfAstNode(node) } } -private module CfgSplittingInput implements SplittingInputSig { - private import Splitting as S - - class SplitKindBase = S::TSplitKind; - - class Split = S::Split; -} - -private module ConditionalCompletionSplittingInput implements - ConditionalCompletionSplittingInputSig -{ - import Splitting::ConditionalCompletionSplitting::ConditionalCompletionSplittingInput -} - -private module CfgImpl = - MakeWithSplitting; +private module CfgImpl = Make; import CfgImpl @@ -206,7 +191,7 @@ module ExprTrees { class InvocationExprTree extends StandardPostOrderTree instanceof InvocationExpr { InvocationExprTree() { not this instanceof CallExpr and - not this instanceof BinaryLogicalOperation + not this instanceof LogicalOperation } override AstNode getChildNode(int i) { @@ -217,49 +202,75 @@ module ExprTrees { } } - class LogicalOrExprTree extends PostOrderTree, LogicalOrExpr { - final override predicate propagatesAbnormal(AstNode child) { child = this.getAnOperand() } + /** + * A binary logical operation, `&&` or `||`. + * + * Since the value of such an operation is the value of one of its operands, + * it is modeled in pre-order, and the last nodes are the last nodes of the + * operands. This means that the Boolean value of the operation is reflected + * directly in the completions of the operands, and hence no splitting is + * needed in order to get precise conditional successors. + */ + abstract private class BinaryLogicalOperationTree extends PreOrderTree instanceof BinaryLogicalOperation + { + /** + * Gets the Boolean value of the left-hand side for which the right-hand + * side is evaluated. + */ + abstract boolean getContinueValue(); - override predicate first(AstNode node) { first(this.getLhs(), node) } + final override predicate propagatesAbnormal(AstNode child) { child = super.getAnOperand() } - override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Edge from lhs to rhs - last(this.getLhs(), pred, c) and - c.(BooleanCompletion).failed() and - first(this.getRhs(), succ) + final override predicate succ(AstNode pred, AstNode succ, Completion c) { + // Edge from this to lhs + pred = this and first(super.getLhs(), succ) and completionIsSimple(c) or - // Edge from lhs to this - last(this.getLhs(), pred, c) and - c.(BooleanCompletion).succeeded() and - succ = this + // Edge from lhs to rhs + last(super.getLhs(), pred, c) and + c.(ConditionalCompletion).getValue() = this.getContinueValue() and + first(super.getRhs(), succ) + } + + final override predicate last(AstNode node, Completion c) { + // The lhs short-circuits the operation + last(super.getLhs(), node, c) and + c.(ConditionalCompletion).getValue() = this.getContinueValue().booleanNot() or - // Edge from rhs to this - last(this.getRhs(), pred, c) and - succ = this and + // The rhs determines the value of the operation + last(super.getRhs(), node, c) and completionIsNormal(c) } } - class LogicalAndExprTree extends PostOrderTree, LogicalAndExpr { - final override predicate propagatesAbnormal(AstNode child) { child = this.getAnOperand() } + private class LogicalOrExprTree extends BinaryLogicalOperationTree instanceof LogicalOrExpr { + override boolean getContinueValue() { result = false } + } + + private class LogicalAndExprTree extends BinaryLogicalOperationTree instanceof LogicalAndExpr { + override boolean getContinueValue() { result = true } + } - override predicate first(AstNode node) { first(this.getLhs(), node) } + /** + * A logical negation, `!`. + * + * Like the binary logical operations, this is modeled in pre-order, with the + * last nodes being the last nodes of the operand. Any conditional completion + * of the operand is dualized, which means that no splitting is needed in + * order to get precise conditional successors. + */ + private class LogicalNotExprTree extends PreOrderTree, LogicalNotExpr { + final override predicate propagatesAbnormal(AstNode child) { child = this.getExpr() } override predicate succ(AstNode pred, AstNode succ, Completion c) { - // Edge from lhs to rhs - last(this.getLhs(), pred, c) and - c.(BooleanCompletion).succeeded() and - first(this.getRhs(), succ) - or - // Edge from lhs to this - last(this.getLhs(), pred, c) and - c.(BooleanCompletion).failed() and - succ = this - or - // Edge from rhs to this - last(this.getRhs(), pred, c) and - succ = this and - completionIsNormal(c) + pred = this and first(this.getExpr(), succ) and completionIsSimple(c) + } + + override predicate last(AstNode node, Completion c) { + exists(Completion c0 | last(this.getExpr(), node, c0) and completionIsNormal(c0) | + c = c0.(ConditionalCompletion).getDual() + or + not c0 instanceof ConditionalCompletion and c = c0 + ) } } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll b/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll deleted file mode 100644 index a91bdeb44528..000000000000 --- a/rust/ql/lib/codeql/rust/controlflow/internal/Splitting.qll +++ /dev/null @@ -1,125 +0,0 @@ -private import rust -private import ControlFlowGraphImpl -private import Scope - -cached -private module Cached { - private import codeql.rust.internal.CachedStages - - cached - newtype TSplitKind = TConditionalCompletionSplitKind() { Stages::CfgStage::ref() } - - cached - newtype TSplit = TConditionalCompletionSplit(ConditionalCompletion c) -} - -import Cached - -/** A split for a control flow node. */ -abstract private class Split_ extends TSplit { - /** Gets a textual representation of this split. */ - abstract string toString(); -} - -final class Split = Split_; - -module ConditionalCompletionSplitting { - /** - * A split for conditional completions. For example, in - * - * ```rust - * if x && !y { - * // ... - * } - * ``` - * - * we record whether `x`, `y`, and `!y` evaluate to `true` or `false`, and restrict - * the edges out of `!y` and `x && !y` accordingly. - */ - class ConditionalCompletionSplit extends Split_, TConditionalCompletionSplit { - ConditionalCompletion completion; - - ConditionalCompletionSplit() { this = TConditionalCompletionSplit(completion) } - - ConditionalCompletion getCompletion() { result = completion } - - override string toString() { result = completion.toString() } - } - - private class ConditionalCompletionSplitKind_ extends SplitKind, TConditionalCompletionSplitKind { - override int getListOrder() { result = 0 } - - override predicate isEnabled(AstNode cfe) { this.appliesTo(cfe) } - - override string toString() { result = "ConditionalCompletion" } - } - - module ConditionalCompletionSplittingInput { - private import Completion as Comp - - class ConditionalCompletion = Comp::ConditionalCompletion; - - class ConditionalCompletionSplitKind extends ConditionalCompletionSplitKind_, TSplitKind { } - - class ConditionalCompletionSplit = ConditionalCompletionSplitting::ConditionalCompletionSplit; - - bindingset[parent, parentCompletion] - predicate condPropagateExpr( - AstNode parent, ConditionalCompletion parentCompletion, AstNode child, - ConditionalCompletion childCompletion - ) { - child = parent.(LogicalNotExpr).getExpr() and - childCompletion.getDual() = parentCompletion - or - childCompletion = parentCompletion and - ( - child = parent.(BinaryLogicalOperation).getAnOperand() - or - child = parent.(IfExpr).getABranch() - or - child = parent.(MatchExpr).getAnArm().getExpr() - or - child = parent.(BlockExpr).getStmtList().getTailExpr() - or - child = parent.(PatternTrees::PreOrderPatTree).getPat(_) and - childCompletion.(MatchCompletion).failed() - or - child = parent.(PatternTrees::PostOrderPatTree).getPat(_) - ) - or - child = parent.(LetExpr).getPat() and - childCompletion.(MatchCompletion).getValue() = parentCompletion.(BooleanCompletion).getValue() - } - } - - private class ConditionalCompletionSplitImpl extends SplitImplementations::ConditionalCompletionSplitting::ConditionalCompletionSplitImpl - { - /** - * Gets a `break` expression whose target can have a Boolean completion that - * matches this split. - */ - private BreakExpr getABreakExpr(Expr target) { - target = result.getTarget() and - last(target, _, this.getCompletion()) - } - - override predicate hasEntry(AstNode pred, AstNode succ, Completion c) { - super.hasEntry(pred, succ, c) - or - succ(pred, succ, c) and - last(succ.(BreakExpr).getExpr(), pred, c) and - succ = this.getABreakExpr(_) and - c = this.getCompletion() - } - - override predicate hasSuccessor(AstNode pred, AstNode succ, Completion c) { - super.hasSuccessor(pred, succ, c) - or - this.appliesTo(pred) and - succ(pred, succ, c) and - pred = this.getABreakExpr(succ) - } - } - - int getNextListOrder() { result = 1 } -} diff --git a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll index 52e7d35e3b48..83001bf9f4b1 100644 --- a/rust/ql/lib/codeql/rust/dataflow/Ssa.qll +++ b/rust/ql/lib/codeql/rust/dataflow/Ssa.qll @@ -9,7 +9,6 @@ module Ssa { private import rust private import codeql.rust.controlflow.BasicBlocks private import codeql.rust.controlflow.ControlFlowGraph - private import codeql.rust.controlflow.internal.ControlFlowGraphImpl as CfgImpl private import internal.SsaImpl as SsaImpl class Variable = SsaImpl::SsaInput::SourceVariable; @@ -269,20 +268,7 @@ module Ssa { inp = SsaImpl::phiHasInputFromBlock(this, bb) } - private string getSplitString() { - result = this.getBasicBlock().getFirstNode().(CfgImpl::AstCfgNode).getSplitsString() - } - - override string toString() { - exists(string prefix | - prefix = "[" + this.getSplitString() + "] " - or - not exists(this.getSplitString()) and - prefix = "" - | - result = prefix + SsaImpl::PhiDefinition.super.toString() - ) - } + override string toString() { result = SsaImpl::PhiDefinition.super.toString() } /* * The location of a phi definition is the same as the location of the first node diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowConsistency.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowConsistency.qll index ca6c0747ba3a..5f5dac48a5c2 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowConsistency.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowConsistency.qll @@ -1,7 +1,6 @@ import codeql.rust.dataflow.DataFlow::DataFlow as DataFlow private import rust private import codeql.rust.controlflow.ControlFlowGraph -private import codeql.rust.controlflow.internal.Splitting private import codeql.rust.controlflow.CfgNodes as CfgNodes private import codeql.rust.dataflow.internal.DataFlowImpl private import codeql.rust.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl diff --git a/rust/ql/lib/codeql/rust/internal/CachedStages.qll b/rust/ql/lib/codeql/rust/internal/CachedStages.qll index 4e3874a9282a..bb0d82fa4733 100644 --- a/rust/ql/lib/codeql/rust/internal/CachedStages.qll +++ b/rust/ql/lib/codeql/rust/internal/CachedStages.qll @@ -64,7 +64,6 @@ module Stages { */ cached module CfgStage { - private import codeql.rust.controlflow.internal.Splitting private import codeql.rust.controlflow.internal.ControlFlowGraphImpl private import codeql.rust.controlflow.CfgNodes @@ -84,8 +83,6 @@ module Stages { predicate backref() { 1 = 1 or - exists(TConditionalCompletionSplitKind()) - or exists(AstCfgNode n) or exists(CallExprCfgNode n | exists(n.getFunction())) diff --git a/rust/ql/test/library-tests/controlflow/BasicBlocks.expected b/rust/ql/test/library-tests/controlflow/BasicBlocks.expected index 80357ae29f86..0815853f9115 100644 --- a/rust/ql/test/library-tests/controlflow/BasicBlocks.expected +++ b/rust/ql/test/library-tests/controlflow/BasicBlocks.expected @@ -118,20 +118,21 @@ 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 | [boolean(false)] let ... = ... | +| 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: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 | [boolean(false)] let ... = ... | test.rs:99:15:99:39 | [boolean(false)] let ... = ... | +| 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:100:13:102:13 | if ... {...} | +| test.rs:99:15:99:39 | let ... = ... | test.rs:100:17:100:17 | x | +| test.rs:99:15:99:39 | let ... = ... | test.rs:101:17:101:22 | ExprStmt | | 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:15:99:39 | 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 ... {...} | @@ -176,56 +177,51 @@ 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:12:146:26 | 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:12:146:26 | let ... = a | test.rs:146:9:150:9 | if ... {...} else {...} | +| test.rs:146:12:146:26 | let ... = a | test.rs:146:12:146:26 | let ... = a | +| test.rs:146:12:146:26 | let ... = a | test.rs:147:13:147:13 | n | +| test.rs:146:12:146:26 | 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:12:154:26 | 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:12:154:26 | let ... = a | test.rs:153:5:158:5 | exit fn test_if_let (normal) | +| test.rs:154:12:154:26 | let ... = a | test.rs:154:9:156:9 | if ... {...} | +| test.rs:154:12:154:26 | let ... = a | test.rs:154:12:154:26 | let ... = a | +| test.rs:154:12:154:26 | let ... = a | test.rs:155:13:155:21 | ExprStmt | | 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 {...} | -| 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 | test.rs:161:22:161:32 | [boolean(false)] { ... } | -| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:22:161:32 | [boolean(true)] { ... } | +| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:13:161:48 | if ... {...} else {...} | +| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:22:161:32 | { ... } | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:24:161:24 | a | -| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:39:161:48 | [boolean(false)] { ... } | -| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:39:161:48 | [boolean(true)] { ... } | +| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:39:161:48 | { ... } | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:41:161:41 | a | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:162:13:162:13 | 1 | | test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:164:13:164:13 | 0 | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:9:165:9 | if ... {...} else {...} | -| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | -| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:164:13:164:13 | 0 | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:162:13:162:13 | 1 | -| test.rs:161:22:161:32 | [boolean(false)] { ... } | test.rs:161:22:161:32 | [boolean(false)] { ... } | -| test.rs:161:22:161:32 | [boolean(true)] { ... } | test.rs:161:22:161:32 | [boolean(true)] { ... } | -| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | [boolean(false)] { ... } | -| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | [boolean(true)] { ... } | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:9:165:9 | if ... {...} else {...} | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:13:161:48 | if ... {...} else {...} | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:162:13:162:13 | 1 | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:164:13:164:13 | 0 | +| test.rs:161:22:161:32 | { ... } | test.rs:161:22:161:32 | { ... } | +| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | { ... } | | test.rs:161:24:161:24 | a | test.rs:161:24:161:24 | a | -| test.rs:161:39:161:48 | [boolean(false)] { ... } | test.rs:161:39:161:48 | [boolean(false)] { ... } | -| test.rs:161:39:161:48 | [boolean(true)] { ... } | test.rs:161:39:161:48 | [boolean(true)] { ... } | -| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | [boolean(false)] { ... } | -| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | [boolean(true)] { ... } | +| test.rs:161:39:161:48 | { ... } | test.rs:161:39:161:48 | { ... } | +| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | { ... } | | test.rs:161:41:161:41 | a | test.rs:161:41:161:41 | a | | test.rs:162:13:162:13 | 1 | test.rs:162:13:162:13 | 1 | | test.rs:164:13:164:13 | 0 | test.rs:164:13:164:13 | 0 | @@ -245,57 +241,49 @@ dominates | test.rs:173:17:173:30 | ExprStmt | test.rs:173:17:173:30 | ExprStmt | | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:179:5:188:5 | enter fn test_nested_if_match | | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:180:9:187:9 | if ... {...} else {...} | -| test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | -| test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | +| test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:180:13:183:9 | match a { ... } | | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:181:18:181:21 | true | | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:182:13:182:13 | _ | | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:184:13:184:13 | 1 | | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:186:13:186:13 | 0 | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:180:9:187:9 | if ... {...} else {...} | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:186:13:186:13 | 0 | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:184:13:184:13 | 1 | -| test.rs:181:18:181:21 | true | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | +| test.rs:180:13:183:9 | match a { ... } | test.rs:180:9:187:9 | if ... {...} else {...} | +| test.rs:180:13:183:9 | match a { ... } | test.rs:180:13:183:9 | match a { ... } | +| test.rs:180:13:183:9 | match a { ... } | test.rs:184:13:184:13 | 1 | +| test.rs:180:13:183:9 | match a { ... } | test.rs:186:13:186:13 | 0 | | test.rs:181:18:181:21 | true | test.rs:181:18:181:21 | true | -| test.rs:181:18:181:21 | true | test.rs:184:13:184:13 | 1 | -| test.rs:182:13:182:13 | _ | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | | test.rs:182:13:182:13 | _ | test.rs:182:13:182:13 | _ | -| test.rs:182:13:182:13 | _ | test.rs:186:13:186:13 | 0 | | test.rs:184:13:184:13 | 1 | test.rs:184:13:184:13 | 1 | | test.rs:186:13:186:13 | 0 | test.rs:186:13:186:13 | 0 | | test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:190:5:199:5 | enter fn test_nested_if_block | | test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:9:198:9 | if ... {...} else {...} | -| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | [boolean(false)] { ... } | -| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | [boolean(true)] { ... } | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | { ... } | | test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:195:13:195:13 | 1 | | test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:197:13:197:13 | 0 | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:191:9:198:9 | if ... {...} else {...} | -| test.rs:191:12:194:9 | [boolean(false)] { ... } | test.rs:191:12:194:9 | [boolean(false)] { ... } | -| test.rs:191:12:194:9 | [boolean(false)] { ... } | test.rs:197:13:197:13 | 0 | -| test.rs:191:12:194:9 | [boolean(true)] { ... } | test.rs:191:12:194:9 | [boolean(true)] { ... } | -| test.rs:191:12:194:9 | [boolean(true)] { ... } | test.rs:195:13:195:13 | 1 | +| test.rs:191:12:194:9 | { ... } | test.rs:191:9:198:9 | if ... {...} else {...} | +| test.rs:191:12:194:9 | { ... } | test.rs:191:12:194:9 | { ... } | +| test.rs:191:12:194:9 | { ... } | test.rs:195:13:195:13 | 1 | +| test.rs:191:12:194:9 | { ... } | test.rs:197:13:197:13 | 0 | | test.rs:195:13:195:13 | 1 | test.rs:195:13:195:13 | 1 | | test.rs:197:13:197:13 | 0 | test.rs:197:13:197:13 | 0 | | test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:201:5:211:5 | enter fn test_if_assignment | | test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:9:210:9 | if ... {...} else {...} | -| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | [boolean(false)] { ... } | -| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | [boolean(true)] { ... } | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | { ... } | | test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:207:13:207:13 | 1 | | test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:209:13:209:13 | 0 | | test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:203:9:210:9 | if ... {...} else {...} | -| test.rs:203:12:206:9 | [boolean(false)] { ... } | test.rs:203:12:206:9 | [boolean(false)] { ... } | -| test.rs:203:12:206:9 | [boolean(false)] { ... } | test.rs:209:13:209:13 | 0 | -| test.rs:203:12:206:9 | [boolean(true)] { ... } | test.rs:203:12:206:9 | [boolean(true)] { ... } | -| test.rs:203:12:206:9 | [boolean(true)] { ... } | test.rs:207:13:207:13 | 1 | +| test.rs:203:12:206:9 | { ... } | test.rs:203:9:210:9 | if ... {...} else {...} | +| test.rs:203:12:206:9 | { ... } | test.rs:203:12:206:9 | { ... } | +| test.rs:203:12:206:9 | { ... } | test.rs:207:13:207:13 | 1 | +| test.rs:203:12:206:9 | { ... } | test.rs:209:13:209:13 | 0 | | test.rs:207:13:207:13 | 1 | test.rs:207:13:207:13 | 1 | | test.rs:209:13:209:13 | 0 | test.rs:209:13:209:13 | 0 | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:213:5:224:5 | enter fn test_if_loop1 | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:214:9:223:9 | if ... {...} else {...} | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:215:13:217:13 | if ... {...} | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:215:13:217:14 | ExprStmt | -| test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:216:17:216:28 | [boolean(false)] break ... | -| test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:216:17:216:28 | [boolean(true)] break ... | +| test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:216:17:216:28 | break ... | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:216:17:216:29 | ExprStmt | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:220:13:220:13 | 1 | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:222:13:222:13 | 0 | @@ -304,18 +292,16 @@ dominates | test.rs:215:13:217:14 | ExprStmt | test.rs:214:9:223:9 | if ... {...} else {...} | | test.rs:215:13:217:14 | ExprStmt | test.rs:215:13:217:13 | if ... {...} | | test.rs:215:13:217:14 | ExprStmt | test.rs:215:13:217:14 | ExprStmt | -| test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:28 | [boolean(false)] break ... | -| test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:28 | [boolean(true)] break ... | +| test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:28 | break ... | | test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:29 | ExprStmt | | test.rs:215:13:217:14 | ExprStmt | test.rs:220:13:220:13 | 1 | | test.rs:215:13:217:14 | ExprStmt | test.rs:222:13:222:13 | 0 | -| test.rs:216:17:216:28 | [boolean(false)] break ... | test.rs:216:17:216:28 | [boolean(false)] break ... | -| test.rs:216:17:216:28 | [boolean(false)] break ... | test.rs:222:13:222:13 | 0 | -| test.rs:216:17:216:28 | [boolean(true)] break ... | test.rs:216:17:216:28 | [boolean(true)] break ... | -| test.rs:216:17:216:28 | [boolean(true)] break ... | test.rs:220:13:220:13 | 1 | +| test.rs:216:17:216:28 | break ... | test.rs:214:9:223:9 | if ... {...} else {...} | +| test.rs:216:17:216:28 | break ... | test.rs:216:17:216:28 | break ... | +| test.rs:216:17:216:28 | break ... | test.rs:220:13:220:13 | 1 | +| test.rs:216:17:216:28 | break ... | test.rs:222:13:222:13 | 0 | | test.rs:216:17:216:29 | ExprStmt | test.rs:214:9:223:9 | if ... {...} else {...} | -| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | [boolean(false)] break ... | -| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | [boolean(true)] break ... | +| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | break ... | | test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:29 | ExprStmt | | test.rs:216:17:216:29 | ExprStmt | test.rs:220:13:220:13 | 1 | | test.rs:216:17:216:29 | ExprStmt | test.rs:222:13:222:13 | 0 | @@ -325,8 +311,7 @@ dominates | test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:227:9:236:9 | if ... {...} else {...} | | test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:228:13:230:13 | if ... {...} | | test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:228:13:230:14 | ExprStmt | -| test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | -| test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | +| test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:229:17:229:35 | break 'label ... | | test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:229:17:229:36 | ExprStmt | | test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:233:13:233:13 | 1 | | test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:235:13:235:13 | 0 | @@ -335,18 +320,16 @@ dominates | test.rs:228:13:230:14 | ExprStmt | test.rs:227:9:236:9 | if ... {...} else {...} | | test.rs:228:13:230:14 | ExprStmt | test.rs:228:13:230:13 | if ... {...} | | test.rs:228:13:230:14 | ExprStmt | test.rs:228:13:230:14 | ExprStmt | -| test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | -| test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | +| test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:35 | break 'label ... | | test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:36 | ExprStmt | | test.rs:228:13:230:14 | ExprStmt | test.rs:233:13:233:13 | 1 | | test.rs:228:13:230:14 | ExprStmt | test.rs:235:13:235:13 | 0 | -| test.rs:229:17:229:35 | [boolean(false)] break 'label ... | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | -| test.rs:229:17:229:35 | [boolean(false)] break 'label ... | test.rs:235:13:235:13 | 0 | -| test.rs:229:17:229:35 | [boolean(true)] break 'label ... | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | -| test.rs:229:17:229:35 | [boolean(true)] break 'label ... | test.rs:233:13:233:13 | 1 | +| test.rs:229:17:229:35 | break 'label ... | test.rs:227:9:236:9 | if ... {...} else {...} | +| test.rs:229:17:229:35 | break 'label ... | test.rs:229:17:229:35 | break 'label ... | +| test.rs:229:17:229:35 | break 'label ... | test.rs:233:13:233:13 | 1 | +| test.rs:229:17:229:35 | break 'label ... | test.rs:235:13:235:13 | 0 | | test.rs:229:17:229:36 | ExprStmt | test.rs:227:9:236:9 | if ... {...} else {...} | -| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | -| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | +| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | break 'label ... | | test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:36 | ExprStmt | | test.rs:229:17:229:36 | ExprStmt | test.rs:233:13:233:13 | 1 | | test.rs:229:17:229:36 | ExprStmt | test.rs:235:13:235:13 | 0 | @@ -354,154 +337,90 @@ dominates | test.rs:235:13:235:13 | 0 | test.rs:235:13:235:13 | 0 | | test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:239:5:247:5 | enter fn test_labelled_block | | test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:240:9:246:9 | if ... {...} else {...} | -| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | -| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | break 'block ... | | test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:243:13:243:13 | 1 | | test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:245:13:245:13 | 0 | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:240:9:246:9 | if ... {...} else {...} | -| test.rs:241:13:241:30 | [boolean(false)] break 'block ... | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | -| test.rs:241:13:241:30 | [boolean(false)] break 'block ... | test.rs:245:13:245:13 | 0 | -| test.rs:241:13:241:30 | [boolean(true)] break 'block ... | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | -| test.rs:241:13:241:30 | [boolean(true)] break 'block ... | test.rs:243:13:243:13 | 1 | +| test.rs:241:13:241:30 | break 'block ... | test.rs:240:9:246:9 | if ... {...} else {...} | +| test.rs:241:13:241:30 | break 'block ... | test.rs:241:13:241:30 | break 'block ... | +| test.rs:241:13:241:30 | break 'block ... | test.rs:243:13:243:13 | 1 | +| test.rs:241:13:241:30 | break 'block ... | test.rs:245:13:245:13 | 0 | | test.rs:243:13:243:13 | 1 | test.rs:243:13:243:13 | 1 | | test.rs:245:13:245:13 | 0 | test.rs:245:13:245:13 | 0 | | test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:252:5:255:5 | enter fn test_and_operator | -| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:17:253:22 | [boolean(false)] ... && ... | -| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:17:253:22 | [boolean(true)] ... && ... | -| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:17:253:27 | ... && ... | +| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:13:253:13 | d | | test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:22:253:22 | b | | test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:27:253:27 | c | -| test.rs:253:17:253:22 | [boolean(false)] ... && ... | test.rs:253:17:253:22 | [boolean(false)] ... && ... | -| test.rs:253:17:253:22 | [boolean(true)] ... && ... | test.rs:253:17:253:22 | [boolean(true)] ... && ... | -| test.rs:253:17:253:22 | [boolean(true)] ... && ... | test.rs:253:27:253:27 | c | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:17:253:27 | ... && ... | -| test.rs:253:22:253:22 | b | test.rs:253:17:253:22 | [boolean(true)] ... && ... | +| test.rs:253:13:253:13 | d | test.rs:253:13:253:13 | d | | test.rs:253:22:253:22 | b | test.rs:253:22:253:22 | b | | test.rs:253:22:253:22 | b | test.rs:253:27:253:27 | c | | test.rs:253:27:253:27 | c | test.rs:253:27:253:27 | c | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:257:5:260:5 | enter fn test_or_operator | -| test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | -| test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | -| test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:17:258:27 | ... \|\| ... | +| test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:13:258:13 | d | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:22:258:22 | b | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:27:258:27 | c | -| test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | -| test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | test.rs:258:27:258:27 | c | -| test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:17:258:27 | ... \|\| ... | -| test.rs:258:22:258:22 | b | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | +| test.rs:258:13:258:13 | d | test.rs:258:13:258:13 | d | | test.rs:258:22:258:22 | b | test.rs:258:22:258:22 | b | | test.rs:258:22:258:22 | b | test.rs:258:27:258:27 | c | | test.rs:258:27:258:27 | c | test.rs:258:27:258:27 | c | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:262:5:265:5 | enter fn test_or_operator_2 | -| test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | -| test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | -| test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:17:263:35 | ... \|\| ... | +| test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:13:263:13 | d | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:23:263:23 | b | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:35:263:35 | c | -| test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | -| test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | test.rs:263:35:263:35 | c | -| test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:17:263:35 | ... \|\| ... | -| test.rs:263:23:263:23 | b | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | +| test.rs:263:13:263:13 | d | test.rs:263:13:263:13 | d | | test.rs:263:23:263:23 | b | test.rs:263:23:263:23 | b | | test.rs:263:23:263:23 | b | test.rs:263:35:263:35 | c | | test.rs:263:35:263:35 | c | test.rs:263:35:263:35 | c | | test.rs:267:5:270:5 | enter fn test_not_operator | test.rs:267:5:270:5 | enter fn test_not_operator | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:272:5:278:5 | enter fn test_if_and_operator | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:9:277:9 | if ... {...} else {...} | -| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:12:273:17 | [boolean(false)] ... && ... | -| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:12:273:17 | [boolean(true)] ... && ... | -| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:12:273:22 | [boolean(false)] ... && ... | -| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:12:273:22 | [boolean(true)] ... && ... | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:17:273:17 | b | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:22:273:22 | c | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:274:13:274:16 | true | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:276:13:276:17 | false | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:9:277:9 | if ... {...} else {...} | -| test.rs:273:12:273:17 | [boolean(false)] ... && ... | test.rs:273:12:273:17 | [boolean(false)] ... && ... | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:12:273:17 | [boolean(true)] ... && ... | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:12:273:22 | [boolean(true)] ... && ... | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:22:273:22 | c | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:274:13:274:16 | true | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:273:12:273:22 | [boolean(false)] ... && ... | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:276:13:276:17 | false | -| test.rs:273:12:273:22 | [boolean(true)] ... && ... | test.rs:273:12:273:22 | [boolean(true)] ... && ... | -| test.rs:273:12:273:22 | [boolean(true)] ... && ... | test.rs:274:13:274:16 | true | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:17 | [boolean(true)] ... && ... | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:22 | [boolean(true)] ... && ... | | test.rs:273:17:273:17 | b | test.rs:273:17:273:17 | b | | test.rs:273:17:273:17 | b | test.rs:273:22:273:22 | c | | test.rs:273:17:273:17 | b | test.rs:274:13:274:16 | true | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:22 | [boolean(true)] ... && ... | | test.rs:273:22:273:22 | c | test.rs:273:22:273:22 | c | | test.rs:273:22:273:22 | c | test.rs:274:13:274:16 | true | | test.rs:274:13:274:16 | true | test.rs:274:13:274:16 | true | | test.rs:276:13:276:17 | false | test.rs:276:13:276:17 | false | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:280:5:286:5 | enter fn test_if_or_operator | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:9:285:9 | if ... {...} else {...} | -| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | -| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | -| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | -| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:17:281:17 | b | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:22:281:22 | c | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:282:13:282:16 | true | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:284:13:284:17 | false | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:9:285:9 | if ... {...} else {...} | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:22:281:22 | c | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:284:13:284:17 | false | -| test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | -| test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | -| test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | test.rs:284:13:284:17 | false | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:282:13:282:16 | true | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | | test.rs:281:17:281:17 | b | test.rs:281:17:281:17 | b | | test.rs:281:17:281:17 | b | test.rs:281:22:281:22 | c | | test.rs:281:17:281:17 | b | test.rs:284:13:284:17 | false | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | | test.rs:281:22:281:22 | c | test.rs:281:22:281:22 | c | | test.rs:281:22:281:22 | c | test.rs:284:13:284:17 | false | | test.rs:282:13:282:16 | true | test.rs:282:13:282:16 | true | | test.rs:284:13:284:17 | false | test.rs:284:13:284:17 | false | | test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:288:5:294:5 | enter fn test_if_not_operator | | test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:289:9:293:9 | if ... {...} else {...} | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:289:12:289:13 | [boolean(false)] ! ... | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:289:12:289:13 | [boolean(true)] ! ... | | test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:290:13:290:16 | true | | test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:292:13:292:17 | false | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:289:9:293:9 | if ... {...} else {...} | -| test.rs:289:12:289:13 | [boolean(false)] ! ... | test.rs:289:12:289:13 | [boolean(false)] ! ... | -| test.rs:289:12:289:13 | [boolean(false)] ! ... | test.rs:292:13:292:17 | false | -| test.rs:289:12:289:13 | [boolean(true)] ! ... | test.rs:289:12:289:13 | [boolean(true)] ! ... | -| test.rs:289:12:289:13 | [boolean(true)] ! ... | test.rs:290:13:290:16 | true | | test.rs:290:13:290:16 | true | test.rs:290:13:290:16 | true | | test.rs:292:13:292:17 | false | test.rs:292:13:292:17 | false | | test.rs:296:5:298:5 | enter fn test_and_return | test.rs:296:5:298:5 | enter fn test_and_return | | test.rs:296:5:298:5 | enter fn test_and_return | test.rs:296:5:298:5 | exit fn test_and_return (normal) | -| test.rs:296:5:298:5 | enter fn test_and_return | test.rs:297:9:297:19 | ... && ... | +| test.rs:296:5:298:5 | enter fn test_and_return | test.rs:296:33:298:5 | { ... } | | test.rs:296:5:298:5 | enter fn test_and_return | test.rs:297:14:297:19 | return | | test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:296:5:298:5 | exit fn test_and_return (normal) | -| test.rs:297:9:297:19 | ... && ... | test.rs:297:9:297:19 | ... && ... | +| test.rs:296:33:298:5 | { ... } | test.rs:296:33:298:5 | { ... } | | test.rs:297:14:297:19 | return | test.rs:297:14:297:19 | return | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:300:5:305:5 | enter fn test_and_true | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:300:5:305:5 | exit fn test_and_true (normal) | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:9:303:9 | if ... {...} | -| test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:13:301:21 | [boolean(false)] ... && ... | -| test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:18:301:21 | true | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:302:13:302:21 | ExprStmt | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:300:5:305:5 | exit fn test_and_true (normal) | | test.rs:301:9:303:9 | if ... {...} | test.rs:301:9:303:9 | if ... {...} | -| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:301:9:303:9 | if ... {...} | -| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:301:13:301:21 | [boolean(false)] ... && ... | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:301:13:301:21 | [boolean(true)] ... && ... | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:302:13:302:21 | ExprStmt | -| test.rs:301:18:301:21 | true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | | test.rs:301:18:301:21 | true | test.rs:301:18:301:21 | true | | test.rs:301:18:301:21 | true | test.rs:302:13:302:21 | ExprStmt | | test.rs:302:13:302:21 | ExprStmt | test.rs:302:13:302:21 | ExprStmt | @@ -557,19 +476,16 @@ dominates | test.rs:340:26:340:26 | x | test.rs:340:26:340:26 | x | | test.rs:341:13:341:24 | ...::None | test.rs:341:13:341:24 | ...::None | | test.rs:345:5:350:5 | enter fn test_match_and | test.rs:345:5:350:5 | enter fn test_match_and | -| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:346:9:349:18 | ... && ... | -| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | -| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | +| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:345:60:350:5 | { ... } | +| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:346:10:349:9 | match r { ... } | | test.rs:345:5:350:5 | enter fn test_match_and | test.rs:347:18:347:18 | a | | test.rs:345:5:350:5 | enter fn test_match_and | test.rs:348:13:348:13 | _ | | test.rs:345:5:350:5 | enter fn test_match_and | test.rs:349:15:349:18 | cond | -| test.rs:346:9:349:18 | ... && ... | test.rs:346:9:349:18 | ... && ... | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | -| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | -| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:349:15:349:18 | cond | -| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | +| test.rs:345:60:350:5 | { ... } | test.rs:345:60:350:5 | { ... } | +| test.rs:346:10:349:9 | match r { ... } | test.rs:345:60:350:5 | { ... } | +| test.rs:346:10:349:9 | match r { ... } | test.rs:346:10:349:9 | match r { ... } | +| test.rs:346:10:349:9 | match r { ... } | test.rs:349:15:349:18 | cond | | test.rs:347:18:347:18 | a | test.rs:347:18:347:18 | a | -| test.rs:347:18:347:18 | a | test.rs:349:15:349:18 | cond | | test.rs:348:13:348:13 | _ | test.rs:348:13:348:13 | _ | | test.rs:349:15:349:18 | cond | test.rs:349:15:349:18 | cond | | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | @@ -663,18 +579,21 @@ dominates | test.rs:429:13:429:16 | TuplePat | test.rs:429:13:429:16 | TuplePat | | test.rs:433:5:438:5 | enter fn or_pattern | test.rs:433:5:438:5 | enter fn or_pattern | | test.rs:433:5:438:5 | enter fn or_pattern | test.rs:434:9:437:9 | match a { ... } | -| test.rs:433:5:438:5 | enter fn or_pattern | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | -| test.rs:433:5:438:5 | enter fn or_pattern | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | +| test.rs:433:5:438:5 | enter fn or_pattern | test.rs:435:13:435:21 | 0 \| 1 \| 2 | | test.rs:433:5:438:5 | enter fn or_pattern | test.rs:435:17:435:17 | 1 | | test.rs:433:5:438:5 | enter fn or_pattern | test.rs:435:21:435:21 | 2 | +| test.rs:433:5:438:5 | enter fn or_pattern | test.rs:435:26:435:26 | 3 | +| test.rs:433:5:438:5 | enter fn or_pattern | test.rs:436:13:436:13 | _ | | test.rs:434:9:437:9 | match a { ... } | test.rs:434:9:437:9 | match a { ... } | -| test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | -| test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | -| test.rs:435:17:435:17 | 1 | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:434:9:437:9 | match a { ... } | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:13:435:21 | 0 \| 1 \| 2 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:26:435:26 | 3 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:436:13:436:13 | _ | | test.rs:435:17:435:17 | 1 | test.rs:435:17:435:17 | 1 | | test.rs:435:17:435:17 | 1 | test.rs:435:21:435:21 | 2 | -| test.rs:435:21:435:21 | 2 | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | | test.rs:435:21:435:21 | 2 | test.rs:435:21:435:21 | 2 | +| test.rs:435:26:435:26 | 3 | test.rs:435:26:435:26 | 3 | +| test.rs:436:13:436:13 | _ | test.rs:436:13:436:13 | _ | | test.rs:440:5:445:5 | enter fn or_pattern_2 | test.rs:440:5:445:5 | enter fn or_pattern_2 | | test.rs:440:5:445:5 | enter fn or_pattern_2 | test.rs:441:9:444:9 | match a { ... } | | test.rs:440:5:445:5 | enter fn or_pattern_2 | test.rs:442:21:442:21 | 3 | @@ -693,14 +612,18 @@ dominates | test.rs:443:26:443:36 | Some(...) | test.rs:443:26:443:36 | Some(...) | | test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:453:5:458:5 | enter fn or_pattern_3 | | test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:454:9:457:9 | match a { ... } | +| test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:455:13:455:23 | 1 \| 2 | | test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:455:13:455:23 | 2 | -| test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:455:13:455:23 | [match(false)] 1 \| 2 | -| test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:455:13:455:23 | [match(true)] 1 \| 2 | +| test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:455:30:455:30 | 3 | +| test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:456:13:456:13 | _ | | test.rs:454:9:457:9 | match a { ... } | test.rs:454:9:457:9 | match a { ... } | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:454:9:457:9 | match a { ... } | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:455:13:455:23 | 1 \| 2 | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:455:30:455:30 | 3 | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:456:13:456:13 | _ | | test.rs:455:13:455:23 | 2 | test.rs:455:13:455:23 | 2 | -| test.rs:455:13:455:23 | 2 | test.rs:455:13:455:23 | [match(false)] 1 \| 2 | -| test.rs:455:13:455:23 | [match(false)] 1 \| 2 | test.rs:455:13:455:23 | [match(false)] 1 \| 2 | -| test.rs:455:13:455:23 | [match(true)] 1 \| 2 | test.rs:455:13:455:23 | [match(true)] 1 \| 2 | +| test.rs:455:30:455:30 | 3 | test.rs:455:30:455:30 | 3 | +| test.rs:456:13:456:13 | _ | test.rs:456:13:456:13 | _ | | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:461:9:464:9 | match pair { ... } | | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:462:32:462:32 | _ | @@ -739,14 +662,9 @@ dominates | test.rs:523:5:525:5 | enter fn add_two | test.rs:523:5:525:5 | enter fn add_two | | test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:529:5:537:5 | enter fn const_block_assert | | test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:13:533:19 | ExprStmt | -| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | [boolean(false)] ! ... | -| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | [boolean(true)] ! ... | | test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | if ... {...} | | test.rs:533:13:533:19 | ExprStmt | test.rs:533:13:533:19 | ExprStmt | | test.rs:533:13:533:19 | enter fn panic_cold_explicit | test.rs:533:13:533:19 | enter fn panic_cold_explicit | -| test.rs:533:21:533:48 | [boolean(false)] ! ... | test.rs:533:21:533:48 | [boolean(false)] ! ... | -| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:13:533:19 | ExprStmt | -| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:21:533:48 | [boolean(true)] ! ... | | test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | if ... {...} | | test.rs:539:5:548:5 | enter fn const_block_panic | test.rs:539:5:548:5 | enter fn const_block_panic | | test.rs:539:5:548:5 | enter fn const_block_panic | test.rs:541:9:546:9 | if false {...} | @@ -868,19 +786,22 @@ 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 | [boolean(false)] let ... = ... | +| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | 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 | [boolean(false)] let ... = ... | test.rs:99:15:99:39 | [boolean(false)] 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 | 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:99:29:99:32 | iter | +| test.rs:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} | | 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 | @@ -914,61 +835,52 @@ 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:12:146:26 | 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:12:146:26 | let ... = a | test.rs:145:5:151:5 | enter fn test_if_let_else | +| test.rs:146:12:146:26 | let ... = a | test.rs:146:12:146:26 | let ... = a | +| test.rs:146:12:146:26 | let ... = a | 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: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:12:154:26 | 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:12:154:26 | let ... = a | test.rs:153:5:158:5 | enter fn test_if_let | +| test.rs:154:12:154:26 | let ... = a | test.rs:154:12:154:26 | let ... = a | +| test.rs:154:12:154:26 | 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: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 {...} | -| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | -| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | -| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:22:161:32 | [boolean(false)] { ... } | -| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:22:161:32 | [boolean(true)] { ... } | +| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:13:161:48 | if ... {...} else {...} | +| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:22:161:32 | { ... } | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:24:161:24 | a | -| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:39:161:48 | [boolean(false)] { ... } | -| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:39:161:48 | [boolean(true)] { ... } | +| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:39:161:48 | { ... } | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:41:161:41 | a | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:162:13:162:13 | 1 | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:164:13:164:13 | 0 | -| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | -| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:161:22:161:32 | [boolean(false)] { ... } | -| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:161:39:161:48 | [boolean(false)] { ... } | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:161:22:161:32 | [boolean(true)] { ... } | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:161:39:161:48 | [boolean(true)] { ... } | -| test.rs:161:22:161:32 | [boolean(false)] { ... } | test.rs:161:22:161:32 | [boolean(false)] { ... } | -| test.rs:161:22:161:32 | [boolean(true)] { ... } | test.rs:161:22:161:32 | [boolean(true)] { ... } | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:13:161:48 | if ... {...} else {...} | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:22:161:32 | { ... } | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:24:161:24 | a | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:39:161:48 | { ... } | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:41:161:41 | a | +| test.rs:161:22:161:32 | { ... } | test.rs:161:22:161:32 | { ... } | +| test.rs:161:22:161:32 | { ... } | test.rs:161:24:161:24 | a | | test.rs:161:24:161:24 | a | test.rs:161:24:161:24 | a | -| test.rs:161:39:161:48 | [boolean(false)] { ... } | test.rs:161:39:161:48 | [boolean(false)] { ... } | -| test.rs:161:39:161:48 | [boolean(true)] { ... } | test.rs:161:39:161:48 | [boolean(true)] { ... } | +| test.rs:161:39:161:48 | { ... } | test.rs:161:39:161:48 | { ... } | +| test.rs:161:39:161:48 | { ... } | test.rs:161:41:161:41 | a | | test.rs:161:41:161:41 | a | test.rs:161:41:161:41 | a | -| test.rs:162:13:162:13 | 1 | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | -| test.rs:162:13:162:13 | 1 | test.rs:161:22:161:32 | [boolean(true)] { ... } | -| test.rs:162:13:162:13 | 1 | test.rs:161:39:161:48 | [boolean(true)] { ... } | | test.rs:162:13:162:13 | 1 | test.rs:162:13:162:13 | 1 | -| test.rs:164:13:164:13 | 0 | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | -| test.rs:164:13:164:13 | 0 | test.rs:161:22:161:32 | [boolean(false)] { ... } | -| test.rs:164:13:164:13 | 0 | test.rs:161:39:161:48 | [boolean(false)] { ... } | | test.rs:164:13:164:13 | 0 | test.rs:164:13:164:13 | 0 | | test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:168:5:177:5 | enter fn test_nested_if_2 | | test.rs:169:9:176:9 | if cond1 {...} | test.rs:168:5:177:5 | enter fn test_nested_if_2 | @@ -987,57 +899,45 @@ postDominance | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:179:5:188:5 | enter fn test_nested_if_match | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:179:5:188:5 | enter fn test_nested_if_match | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:180:9:187:9 | if ... {...} else {...} | -| test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | -| test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | +| test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:180:13:183:9 | match a { ... } | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:181:18:181:21 | true | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:182:13:182:13 | _ | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:184:13:184:13 | 1 | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:186:13:186:13 | 0 | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:182:13:182:13 | _ | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:181:18:181:21 | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:179:5:188:5 | enter fn test_nested_if_match | +| test.rs:180:13:183:9 | match a { ... } | test.rs:180:13:183:9 | match a { ... } | +| test.rs:180:13:183:9 | match a { ... } | test.rs:181:18:181:21 | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:182:13:182:13 | _ | | test.rs:181:18:181:21 | true | test.rs:181:18:181:21 | true | | test.rs:182:13:182:13 | _ | test.rs:182:13:182:13 | _ | -| test.rs:184:13:184:13 | 1 | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | -| test.rs:184:13:184:13 | 1 | test.rs:181:18:181:21 | true | | test.rs:184:13:184:13 | 1 | test.rs:184:13:184:13 | 1 | -| test.rs:186:13:186:13 | 0 | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | -| test.rs:186:13:186:13 | 0 | test.rs:182:13:182:13 | _ | | test.rs:186:13:186:13 | 0 | test.rs:186:13:186:13 | 0 | | test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:190:5:199:5 | enter fn test_nested_if_block | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:190:5:199:5 | enter fn test_nested_if_block | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:191:9:198:9 | if ... {...} else {...} | -| test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:191:12:194:9 | [boolean(false)] { ... } | -| test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:191:12:194:9 | [boolean(true)] { ... } | +| test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:191:12:194:9 | { ... } | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:195:13:195:13 | 1 | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:197:13:197:13 | 0 | -| test.rs:191:12:194:9 | [boolean(false)] { ... } | test.rs:191:12:194:9 | [boolean(false)] { ... } | -| test.rs:191:12:194:9 | [boolean(true)] { ... } | test.rs:191:12:194:9 | [boolean(true)] { ... } | -| test.rs:195:13:195:13 | 1 | test.rs:191:12:194:9 | [boolean(true)] { ... } | +| test.rs:191:12:194:9 | { ... } | test.rs:190:5:199:5 | enter fn test_nested_if_block | +| test.rs:191:12:194:9 | { ... } | test.rs:191:12:194:9 | { ... } | | test.rs:195:13:195:13 | 1 | test.rs:195:13:195:13 | 1 | -| test.rs:197:13:197:13 | 0 | test.rs:191:12:194:9 | [boolean(false)] { ... } | | test.rs:197:13:197:13 | 0 | test.rs:197:13:197:13 | 0 | | test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:201:5:211:5 | enter fn test_if_assignment | | test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:201:5:211:5 | enter fn test_if_assignment | | test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:203:9:210:9 | if ... {...} else {...} | -| test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:203:12:206:9 | [boolean(false)] { ... } | -| test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:203:12:206:9 | [boolean(true)] { ... } | +| test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:203:12:206:9 | { ... } | | test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:207:13:207:13 | 1 | | test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:209:13:209:13 | 0 | -| test.rs:203:12:206:9 | [boolean(false)] { ... } | test.rs:203:12:206:9 | [boolean(false)] { ... } | -| test.rs:203:12:206:9 | [boolean(true)] { ... } | test.rs:203:12:206:9 | [boolean(true)] { ... } | -| test.rs:207:13:207:13 | 1 | test.rs:203:12:206:9 | [boolean(true)] { ... } | +| test.rs:203:12:206:9 | { ... } | test.rs:201:5:211:5 | enter fn test_if_assignment | +| test.rs:203:12:206:9 | { ... } | test.rs:203:12:206:9 | { ... } | | test.rs:207:13:207:13 | 1 | test.rs:207:13:207:13 | 1 | -| test.rs:209:13:209:13 | 0 | test.rs:203:12:206:9 | [boolean(false)] { ... } | | test.rs:209:13:209:13 | 0 | test.rs:209:13:209:13 | 0 | | test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:213:5:224:5 | enter fn test_if_loop1 | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:213:5:224:5 | enter fn test_if_loop1 | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:214:9:223:9 | if ... {...} else {...} | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:215:13:217:13 | if ... {...} | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:215:13:217:14 | ExprStmt | -| test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:216:17:216:28 | [boolean(false)] break ... | -| test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:216:17:216:28 | [boolean(true)] break ... | +| test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:216:17:216:28 | break ... | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:216:17:216:29 | ExprStmt | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:220:13:220:13 | 1 | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:222:13:222:13 | 0 | @@ -1045,23 +945,23 @@ postDominance | test.rs:215:13:217:14 | ExprStmt | test.rs:213:5:224:5 | enter fn test_if_loop1 | | test.rs:215:13:217:14 | ExprStmt | test.rs:215:13:217:13 | if ... {...} | | test.rs:215:13:217:14 | ExprStmt | test.rs:215:13:217:14 | ExprStmt | -| test.rs:216:17:216:28 | [boolean(false)] break ... | test.rs:216:17:216:28 | [boolean(false)] break ... | -| test.rs:216:17:216:28 | [boolean(true)] break ... | test.rs:216:17:216:28 | [boolean(true)] break ... | +| test.rs:216:17:216:28 | break ... | test.rs:213:5:224:5 | enter fn test_if_loop1 | +| test.rs:216:17:216:28 | break ... | test.rs:215:13:217:13 | if ... {...} | +| test.rs:216:17:216:28 | break ... | test.rs:215:13:217:14 | ExprStmt | +| test.rs:216:17:216:28 | break ... | test.rs:216:17:216:28 | break ... | +| test.rs:216:17:216:28 | break ... | test.rs:216:17:216:29 | ExprStmt | | test.rs:216:17:216:29 | ExprStmt | test.rs:213:5:224:5 | enter fn test_if_loop1 | | test.rs:216:17:216:29 | ExprStmt | test.rs:215:13:217:13 | if ... {...} | | test.rs:216:17:216:29 | ExprStmt | test.rs:215:13:217:14 | ExprStmt | | test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:29 | ExprStmt | -| test.rs:220:13:220:13 | 1 | test.rs:216:17:216:28 | [boolean(true)] break ... | | test.rs:220:13:220:13 | 1 | test.rs:220:13:220:13 | 1 | -| test.rs:222:13:222:13 | 0 | test.rs:216:17:216:28 | [boolean(false)] break ... | | test.rs:222:13:222:13 | 0 | test.rs:222:13:222:13 | 0 | | test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:226:5:237:5 | enter fn test_if_loop2 | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:226:5:237:5 | enter fn test_if_loop2 | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:227:9:236:9 | if ... {...} else {...} | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:228:13:230:13 | if ... {...} | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:228:13:230:14 | ExprStmt | -| test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | -| test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | +| test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:229:17:229:35 | break 'label ... | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:229:17:229:36 | ExprStmt | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:233:13:233:13 | 1 | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:235:13:235:13 | 0 | @@ -1069,149 +969,93 @@ postDominance | test.rs:228:13:230:14 | ExprStmt | test.rs:226:5:237:5 | enter fn test_if_loop2 | | test.rs:228:13:230:14 | ExprStmt | test.rs:228:13:230:13 | if ... {...} | | test.rs:228:13:230:14 | ExprStmt | test.rs:228:13:230:14 | ExprStmt | -| test.rs:229:17:229:35 | [boolean(false)] break 'label ... | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | -| test.rs:229:17:229:35 | [boolean(true)] break 'label ... | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | +| test.rs:229:17:229:35 | break 'label ... | test.rs:226:5:237:5 | enter fn test_if_loop2 | +| test.rs:229:17:229:35 | break 'label ... | test.rs:228:13:230:13 | if ... {...} | +| test.rs:229:17:229:35 | break 'label ... | test.rs:228:13:230:14 | ExprStmt | +| test.rs:229:17:229:35 | break 'label ... | test.rs:229:17:229:35 | break 'label ... | +| test.rs:229:17:229:35 | break 'label ... | test.rs:229:17:229:36 | ExprStmt | | test.rs:229:17:229:36 | ExprStmt | test.rs:226:5:237:5 | enter fn test_if_loop2 | | test.rs:229:17:229:36 | ExprStmt | test.rs:228:13:230:13 | if ... {...} | | test.rs:229:17:229:36 | ExprStmt | test.rs:228:13:230:14 | ExprStmt | | test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:36 | ExprStmt | -| test.rs:233:13:233:13 | 1 | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | | test.rs:233:13:233:13 | 1 | test.rs:233:13:233:13 | 1 | -| test.rs:235:13:235:13 | 0 | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | | test.rs:235:13:235:13 | 0 | test.rs:235:13:235:13 | 0 | | test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:239:5:247:5 | enter fn test_labelled_block | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:239:5:247:5 | enter fn test_labelled_block | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:240:9:246:9 | if ... {...} else {...} | -| test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | -| test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | +| test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:241:13:241:30 | break 'block ... | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:243:13:243:13 | 1 | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:245:13:245:13 | 0 | -| test.rs:241:13:241:30 | [boolean(false)] break 'block ... | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | -| test.rs:241:13:241:30 | [boolean(true)] break 'block ... | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | -| test.rs:243:13:243:13 | 1 | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | +| test.rs:241:13:241:30 | break 'block ... | test.rs:239:5:247:5 | enter fn test_labelled_block | +| test.rs:241:13:241:30 | break 'block ... | test.rs:241:13:241:30 | break 'block ... | | test.rs:243:13:243:13 | 1 | test.rs:243:13:243:13 | 1 | -| test.rs:245:13:245:13 | 0 | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | | test.rs:245:13:245:13 | 0 | test.rs:245:13:245:13 | 0 | | test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:252:5:255:5 | enter fn test_and_operator | -| test.rs:253:17:253:22 | [boolean(false)] ... && ... | test.rs:253:17:253:22 | [boolean(false)] ... && ... | -| test.rs:253:17:253:22 | [boolean(true)] ... && ... | test.rs:253:17:253:22 | [boolean(true)] ... && ... | -| test.rs:253:17:253:27 | ... && ... | test.rs:252:5:255:5 | enter fn test_and_operator | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:17:253:22 | [boolean(false)] ... && ... | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:17:253:22 | [boolean(true)] ... && ... | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:17:253:27 | ... && ... | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:22:253:22 | b | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:27:253:27 | c | +| test.rs:253:13:253:13 | d | test.rs:252:5:255:5 | enter fn test_and_operator | +| test.rs:253:13:253:13 | d | test.rs:253:13:253:13 | d | +| test.rs:253:13:253:13 | d | test.rs:253:22:253:22 | b | +| test.rs:253:13:253:13 | d | test.rs:253:27:253:27 | c | | test.rs:253:22:253:22 | b | test.rs:253:22:253:22 | b | -| test.rs:253:27:253:27 | c | test.rs:253:17:253:22 | [boolean(true)] ... && ... | | test.rs:253:27:253:27 | c | test.rs:253:27:253:27 | c | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:257:5:260:5 | enter fn test_or_operator | -| test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | -| test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:257:5:260:5 | enter fn test_or_operator | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:17:258:27 | ... \|\| ... | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:22:258:22 | b | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:27:258:27 | c | +| test.rs:258:13:258:13 | d | test.rs:257:5:260:5 | enter fn test_or_operator | +| test.rs:258:13:258:13 | d | test.rs:258:13:258:13 | d | +| test.rs:258:13:258:13 | d | test.rs:258:22:258:22 | b | +| test.rs:258:13:258:13 | d | test.rs:258:27:258:27 | c | | test.rs:258:22:258:22 | b | test.rs:258:22:258:22 | b | -| test.rs:258:27:258:27 | c | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | | test.rs:258:27:258:27 | c | test.rs:258:27:258:27 | c | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:262:5:265:5 | enter fn test_or_operator_2 | -| test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | -| test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:262:5:265:5 | enter fn test_or_operator_2 | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:17:263:35 | ... \|\| ... | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:23:263:23 | b | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:35:263:35 | c | +| test.rs:263:13:263:13 | d | test.rs:262:5:265:5 | enter fn test_or_operator_2 | +| test.rs:263:13:263:13 | d | test.rs:263:13:263:13 | d | +| test.rs:263:13:263:13 | d | test.rs:263:23:263:23 | b | +| test.rs:263:13:263:13 | d | test.rs:263:35:263:35 | c | | test.rs:263:23:263:23 | b | test.rs:263:23:263:23 | b | -| test.rs:263:35:263:35 | c | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | | test.rs:263:35:263:35 | c | test.rs:263:35:263:35 | c | | test.rs:267:5:270:5 | enter fn test_not_operator | test.rs:267:5:270:5 | enter fn test_not_operator | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:272:5:278:5 | enter fn test_if_and_operator | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:272:5:278:5 | enter fn test_if_and_operator | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:9:277:9 | if ... {...} else {...} | -| test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:12:273:17 | [boolean(false)] ... && ... | -| test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:12:273:17 | [boolean(true)] ... && ... | -| test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:12:273:22 | [boolean(false)] ... && ... | -| test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:12:273:22 | [boolean(true)] ... && ... | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:17:273:17 | b | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:273:22:273:22 | c | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:274:13:274:16 | true | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:276:13:276:17 | false | -| test.rs:273:12:273:17 | [boolean(false)] ... && ... | test.rs:273:12:273:17 | [boolean(false)] ... && ... | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:12:273:17 | [boolean(true)] ... && ... | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:273:12:273:17 | [boolean(false)] ... && ... | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:273:12:273:22 | [boolean(false)] ... && ... | -| test.rs:273:12:273:22 | [boolean(true)] ... && ... | test.rs:273:12:273:22 | [boolean(true)] ... && ... | | test.rs:273:17:273:17 | b | test.rs:273:17:273:17 | b | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:17 | [boolean(true)] ... && ... | | test.rs:273:22:273:22 | c | test.rs:273:22:273:22 | c | -| test.rs:274:13:274:16 | true | test.rs:273:12:273:22 | [boolean(true)] ... && ... | | test.rs:274:13:274:16 | true | test.rs:274:13:274:16 | true | -| test.rs:276:13:276:17 | false | test.rs:273:12:273:17 | [boolean(false)] ... && ... | -| test.rs:276:13:276:17 | false | test.rs:273:12:273:22 | [boolean(false)] ... && ... | | test.rs:276:13:276:17 | false | test.rs:276:13:276:17 | false | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:280:5:286:5 | enter fn test_if_or_operator | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:280:5:286:5 | enter fn test_if_or_operator | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:9:285:9 | if ... {...} else {...} | -| test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | -| test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | -| test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | -| test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:17:281:17 | b | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:281:22:281:22 | c | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:282:13:282:16 | true | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:284:13:284:17 | false | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | -| test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | -| test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | | test.rs:281:17:281:17 | b | test.rs:281:17:281:17 | b | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | | test.rs:281:22:281:22 | c | test.rs:281:22:281:22 | c | -| test.rs:282:13:282:16 | true | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | -| test.rs:282:13:282:16 | true | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | | test.rs:282:13:282:16 | true | test.rs:282:13:282:16 | true | -| test.rs:284:13:284:17 | false | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | | test.rs:284:13:284:17 | false | test.rs:284:13:284:17 | false | | test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:288:5:294:5 | enter fn test_if_not_operator | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:288:5:294:5 | enter fn test_if_not_operator | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:289:9:293:9 | if ... {...} else {...} | -| test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:289:12:289:13 | [boolean(false)] ! ... | -| test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:289:12:289:13 | [boolean(true)] ! ... | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:290:13:290:16 | true | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:292:13:292:17 | false | -| test.rs:289:12:289:13 | [boolean(false)] ! ... | test.rs:289:12:289:13 | [boolean(false)] ! ... | -| test.rs:289:12:289:13 | [boolean(true)] ! ... | test.rs:289:12:289:13 | [boolean(true)] ! ... | -| test.rs:290:13:290:16 | true | test.rs:289:12:289:13 | [boolean(true)] ! ... | | test.rs:290:13:290:16 | true | test.rs:290:13:290:16 | true | -| test.rs:292:13:292:17 | false | test.rs:289:12:289:13 | [boolean(false)] ! ... | | test.rs:292:13:292:17 | false | test.rs:292:13:292:17 | false | | test.rs:296:5:298:5 | enter fn test_and_return | test.rs:296:5:298:5 | enter fn test_and_return | | test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:296:5:298:5 | enter fn test_and_return | | test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:296:5:298:5 | exit fn test_and_return (normal) | -| test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:297:9:297:19 | ... && ... | +| test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:296:33:298:5 | { ... } | | test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:297:14:297:19 | return | -| test.rs:297:9:297:19 | ... && ... | test.rs:297:9:297:19 | ... && ... | +| test.rs:296:33:298:5 | { ... } | test.rs:296:33:298:5 | { ... } | | test.rs:297:14:297:19 | return | test.rs:297:14:297:19 | return | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:300:5:305:5 | enter fn test_and_true | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:300:5:305:5 | enter fn test_and_true | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:300:5:305:5 | exit fn test_and_true (normal) | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:301:9:303:9 | if ... {...} | -| test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:301:13:301:21 | [boolean(false)] ... && ... | -| test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:301:13:301:21 | [boolean(true)] ... && ... | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:301:18:301:21 | true | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:302:13:302:21 | ExprStmt | | test.rs:301:9:303:9 | if ... {...} | test.rs:301:9:303:9 | if ... {...} | -| test.rs:301:9:303:9 | if ... {...} | test.rs:301:13:301:21 | [boolean(false)] ... && ... | -| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:301:13:301:21 | [boolean(false)] ... && ... | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:301:13:301:21 | [boolean(true)] ... && ... | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:301:18:301:21 | true | | test.rs:301:18:301:21 | true | test.rs:301:18:301:21 | true | -| test.rs:302:13:302:21 | ExprStmt | test.rs:301:13:301:21 | [boolean(true)] ... && ... | | test.rs:302:13:302:21 | ExprStmt | test.rs:301:18:301:21 | true | | test.rs:302:13:302:21 | ExprStmt | test.rs:302:13:302:21 | ExprStmt | | test.rs:311:5:313:5 | enter fn test_question_mark_operator_1 | test.rs:311:5:313:5 | enter fn test_question_mark_operator_1 | @@ -1263,19 +1107,18 @@ postDominance | test.rs:340:26:340:26 | x | test.rs:340:26:340:26 | x | | test.rs:341:13:341:24 | ...::None | test.rs:341:13:341:24 | ...::None | | test.rs:345:5:350:5 | enter fn test_match_and | test.rs:345:5:350:5 | enter fn test_match_and | -| test.rs:346:9:349:18 | ... && ... | test.rs:345:5:350:5 | enter fn test_match_and | -| test.rs:346:9:349:18 | ... && ... | test.rs:346:9:349:18 | ... && ... | -| test.rs:346:9:349:18 | ... && ... | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | -| test.rs:346:9:349:18 | ... && ... | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | -| test.rs:346:9:349:18 | ... && ... | test.rs:347:18:347:18 | a | -| test.rs:346:9:349:18 | ... && ... | test.rs:348:13:348:13 | _ | -| test.rs:346:9:349:18 | ... && ... | test.rs:349:15:349:18 | cond | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:348:13:348:13 | _ | -| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | +| test.rs:345:60:350:5 | { ... } | test.rs:345:5:350:5 | enter fn test_match_and | +| test.rs:345:60:350:5 | { ... } | test.rs:345:60:350:5 | { ... } | +| test.rs:345:60:350:5 | { ... } | test.rs:346:10:349:9 | match r { ... } | +| test.rs:345:60:350:5 | { ... } | test.rs:347:18:347:18 | a | +| test.rs:345:60:350:5 | { ... } | test.rs:348:13:348:13 | _ | +| test.rs:345:60:350:5 | { ... } | test.rs:349:15:349:18 | cond | +| test.rs:346:10:349:9 | match r { ... } | test.rs:345:5:350:5 | enter fn test_match_and | +| test.rs:346:10:349:9 | match r { ... } | test.rs:346:10:349:9 | match r { ... } | +| test.rs:346:10:349:9 | match r { ... } | test.rs:347:18:347:18 | a | +| test.rs:346:10:349:9 | match r { ... } | test.rs:348:13:348:13 | _ | | test.rs:347:18:347:18 | a | test.rs:347:18:347:18 | a | | test.rs:348:13:348:13 | _ | test.rs:348:13:348:13 | _ | -| test.rs:349:15:349:18 | cond | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | | test.rs:349:15:349:18 | cond | test.rs:349:15:349:18 | cond | | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | | test.rs:353:9:356:9 | match r { ... } | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | @@ -1355,14 +1198,19 @@ postDominance | test.rs:433:5:438:5 | enter fn or_pattern | test.rs:433:5:438:5 | enter fn or_pattern | | test.rs:434:9:437:9 | match a { ... } | test.rs:433:5:438:5 | enter fn or_pattern | | test.rs:434:9:437:9 | match a { ... } | test.rs:434:9:437:9 | match a { ... } | -| test.rs:434:9:437:9 | match a { ... } | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | -| test.rs:434:9:437:9 | match a { ... } | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | +| test.rs:434:9:437:9 | match a { ... } | test.rs:435:13:435:21 | 0 \| 1 \| 2 | | test.rs:434:9:437:9 | match a { ... } | test.rs:435:17:435:17 | 1 | | test.rs:434:9:437:9 | match a { ... } | test.rs:435:21:435:21 | 2 | -| test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | -| test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | +| test.rs:434:9:437:9 | match a { ... } | test.rs:435:26:435:26 | 3 | +| test.rs:434:9:437:9 | match a { ... } | test.rs:436:13:436:13 | _ | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:433:5:438:5 | enter fn or_pattern | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:13:435:21 | 0 \| 1 \| 2 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:17:435:17 | 1 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:21:435:21 | 2 | | test.rs:435:17:435:17 | 1 | test.rs:435:17:435:17 | 1 | | test.rs:435:21:435:21 | 2 | test.rs:435:21:435:21 | 2 | +| test.rs:435:26:435:26 | 3 | test.rs:435:26:435:26 | 3 | +| test.rs:436:13:436:13 | _ | test.rs:436:13:436:13 | _ | | test.rs:440:5:445:5 | enter fn or_pattern_2 | test.rs:440:5:445:5 | enter fn or_pattern_2 | | test.rs:441:9:444:9 | match a { ... } | test.rs:440:5:445:5 | enter fn or_pattern_2 | | test.rs:441:9:444:9 | match a { ... } | test.rs:441:9:444:9 | match a { ... } | @@ -1382,12 +1230,16 @@ postDominance | test.rs:453:5:458:5 | enter fn or_pattern_3 | test.rs:453:5:458:5 | enter fn or_pattern_3 | | test.rs:454:9:457:9 | match a { ... } | test.rs:453:5:458:5 | enter fn or_pattern_3 | | test.rs:454:9:457:9 | match a { ... } | test.rs:454:9:457:9 | match a { ... } | +| test.rs:454:9:457:9 | match a { ... } | test.rs:455:13:455:23 | 1 \| 2 | | test.rs:454:9:457:9 | match a { ... } | test.rs:455:13:455:23 | 2 | -| test.rs:454:9:457:9 | match a { ... } | test.rs:455:13:455:23 | [match(false)] 1 \| 2 | -| test.rs:454:9:457:9 | match a { ... } | test.rs:455:13:455:23 | [match(true)] 1 \| 2 | +| test.rs:454:9:457:9 | match a { ... } | test.rs:455:30:455:30 | 3 | +| test.rs:454:9:457:9 | match a { ... } | test.rs:456:13:456:13 | _ | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:453:5:458:5 | enter fn or_pattern_3 | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:455:13:455:23 | 1 \| 2 | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:455:13:455:23 | 2 | | test.rs:455:13:455:23 | 2 | test.rs:455:13:455:23 | 2 | -| test.rs:455:13:455:23 | [match(false)] 1 \| 2 | test.rs:455:13:455:23 | [match(false)] 1 \| 2 | -| test.rs:455:13:455:23 | [match(true)] 1 \| 2 | test.rs:455:13:455:23 | [match(true)] 1 \| 2 | +| test.rs:455:30:455:30 | 3 | test.rs:455:30:455:30 | 3 | +| test.rs:456:13:456:13 | _ | test.rs:456:13:456:13 | _ | | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | | test.rs:461:9:464:9 | match pair { ... } | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | | test.rs:461:9:464:9 | match pair { ... } | test.rs:461:9:464:9 | match pair { ... } | @@ -1423,14 +1275,9 @@ postDominance | test.rs:523:5:525:5 | enter fn add_two | test.rs:523:5:525:5 | enter fn add_two | | test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:529:5:537:5 | enter fn const_block_assert | | test.rs:533:13:533:19 | ExprStmt | test.rs:533:13:533:19 | ExprStmt | -| test.rs:533:13:533:19 | ExprStmt | test.rs:533:21:533:48 | [boolean(true)] ! ... | | test.rs:533:13:533:19 | enter fn panic_cold_explicit | test.rs:533:13:533:19 | enter fn panic_cold_explicit | -| test.rs:533:21:533:48 | [boolean(false)] ! ... | test.rs:533:21:533:48 | [boolean(false)] ! ... | -| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:21:533:48 | [boolean(true)] ! ... | | test.rs:533:21:533:48 | if ... {...} | test.rs:529:5:537:5 | enter fn const_block_assert | | test.rs:533:21:533:48 | if ... {...} | test.rs:533:13:533:19 | ExprStmt | -| test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | [boolean(false)] ! ... | -| test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | [boolean(true)] ! ... | | test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | if ... {...} | | test.rs:539:5:548:5 | enter fn const_block_panic | test.rs:539:5:548:5 | enter fn const_block_panic | | test.rs:541:9:546:9 | if false {...} | test.rs:539:5:548:5 | enter fn const_block_panic | @@ -1500,12 +1347,12 @@ 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:29:99:32 | iter | -| test.rs:99:15:99:39 | [boolean(false)] let ... = ... | test.rs:99:29:99:32 | iter | +| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... | +| test.rs:99:15:99:39 | 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:100:17:100:17 | x | test.rs:99:15:99:39 | let ... = ... | | 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 | @@ -1517,117 +1364,90 @@ immediateDominator | test.rs:133:13:133:13 | n | test.rs:129:5:135:5 | enter fn test_if_else | | 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:9:150:9 | if ... {...} else {...} | test.rs:146:12:146:26 | let ... = a | +| test.rs:146:12:146:26 | 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: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: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:147:13:147:13 | n | test.rs:146:12:146:26 | let ... = a | +| test.rs:149:13:149:13 | 0 | test.rs:146:12:146:26 | let ... = a | +| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:12:154:26 | let ... = a | +| test.rs:154:9:156:9 | if ... {...} | test.rs:154:12:154:26 | let ... = a | +| test.rs:154:12:154:26 | 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 | -| test.rs:161:22:161:32 | [boolean(false)] { ... } | test.rs:161:24:161:24 | a | -| test.rs:161:22:161:32 | [boolean(true)] { ... } | test.rs:161:24:161:24 | a | +| test.rs:155:13:155:21 | ExprStmt | test.rs:154:12:154:26 | let ... = a | +| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:13:161:48 | if ... {...} else {...} | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if | +| test.rs:161:22:161:32 | { ... } | test.rs:161:24:161:24 | a | | test.rs:161:24:161:24 | a | test.rs:160:5:166:5 | enter fn test_nested_if | -| test.rs:161:39:161:48 | [boolean(false)] { ... } | test.rs:161:41:161:41 | a | -| test.rs:161:39:161:48 | [boolean(true)] { ... } | test.rs:161:41:161:41 | a | +| test.rs:161:39:161:48 | { ... } | test.rs:161:41:161:41 | a | | test.rs:161:41:161:41 | a | test.rs:160:5:166:5 | enter fn test_nested_if | -| test.rs:162:13:162:13 | 1 | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | -| test.rs:164:13:164:13 | 0 | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | +| test.rs:162:13:162:13 | 1 | test.rs:161:13:161:48 | if ... {...} else {...} | +| test.rs:164:13:164:13 | 0 | test.rs:161:13:161:48 | if ... {...} else {...} | | test.rs:169:9:176:9 | if cond1 {...} | test.rs:168:5:177:5 | enter fn test_nested_if_2 | | test.rs:170:13:174:13 | ExprStmt | test.rs:168:5:177:5 | enter fn test_nested_if_2 | | test.rs:170:13:174:13 | if cond2 {...} else {...} | test.rs:170:13:174:13 | ExprStmt | | test.rs:171:17:171:30 | ExprStmt | test.rs:170:13:174:13 | ExprStmt | | test.rs:173:17:173:30 | ExprStmt | test.rs:170:13:174:13 | ExprStmt | -| test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:179:5:188:5 | enter fn test_nested_if_match | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:182:13:182:13 | _ | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:181:18:181:21 | true | +| test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:180:13:183:9 | match a { ... } | +| test.rs:180:13:183:9 | match a { ... } | test.rs:179:5:188:5 | enter fn test_nested_if_match | | test.rs:181:18:181:21 | true | test.rs:179:5:188:5 | enter fn test_nested_if_match | | test.rs:182:13:182:13 | _ | test.rs:179:5:188:5 | enter fn test_nested_if_match | -| test.rs:184:13:184:13 | 1 | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | -| test.rs:186:13:186:13 | 0 | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | -| test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:190:5:199:5 | enter fn test_nested_if_block | -| test.rs:191:12:194:9 | [boolean(false)] { ... } | test.rs:190:5:199:5 | enter fn test_nested_if_block | -| test.rs:191:12:194:9 | [boolean(true)] { ... } | test.rs:190:5:199:5 | enter fn test_nested_if_block | -| test.rs:195:13:195:13 | 1 | test.rs:191:12:194:9 | [boolean(true)] { ... } | -| test.rs:197:13:197:13 | 0 | test.rs:191:12:194:9 | [boolean(false)] { ... } | -| test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:201:5:211:5 | enter fn test_if_assignment | -| test.rs:203:12:206:9 | [boolean(false)] { ... } | test.rs:201:5:211:5 | enter fn test_if_assignment | -| test.rs:203:12:206:9 | [boolean(true)] { ... } | test.rs:201:5:211:5 | enter fn test_if_assignment | -| test.rs:207:13:207:13 | 1 | test.rs:203:12:206:9 | [boolean(true)] { ... } | -| test.rs:209:13:209:13 | 0 | test.rs:203:12:206:9 | [boolean(false)] { ... } | -| test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:216:17:216:29 | ExprStmt | +| test.rs:184:13:184:13 | 1 | test.rs:180:13:183:9 | match a { ... } | +| test.rs:186:13:186:13 | 0 | test.rs:180:13:183:9 | match a { ... } | +| test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:191:12:194:9 | { ... } | +| test.rs:191:12:194:9 | { ... } | test.rs:190:5:199:5 | enter fn test_nested_if_block | +| test.rs:195:13:195:13 | 1 | test.rs:191:12:194:9 | { ... } | +| test.rs:197:13:197:13 | 0 | test.rs:191:12:194:9 | { ... } | +| test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:203:12:206:9 | { ... } | +| test.rs:203:12:206:9 | { ... } | test.rs:201:5:211:5 | enter fn test_if_assignment | +| test.rs:207:13:207:13 | 1 | test.rs:203:12:206:9 | { ... } | +| test.rs:209:13:209:13 | 0 | test.rs:203:12:206:9 | { ... } | +| test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:216:17:216:28 | break ... | | test.rs:215:13:217:13 | if ... {...} | test.rs:215:13:217:14 | ExprStmt | | test.rs:215:13:217:14 | ExprStmt | test.rs:213:5:224:5 | enter fn test_if_loop1 | -| test.rs:216:17:216:28 | [boolean(false)] break ... | test.rs:216:17:216:29 | ExprStmt | -| test.rs:216:17:216:28 | [boolean(true)] break ... | test.rs:216:17:216:29 | ExprStmt | +| test.rs:216:17:216:28 | break ... | test.rs:216:17:216:29 | ExprStmt | | test.rs:216:17:216:29 | ExprStmt | test.rs:215:13:217:14 | ExprStmt | -| test.rs:220:13:220:13 | 1 | test.rs:216:17:216:28 | [boolean(true)] break ... | -| test.rs:222:13:222:13 | 0 | test.rs:216:17:216:28 | [boolean(false)] break ... | -| test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:229:17:229:36 | ExprStmt | +| test.rs:220:13:220:13 | 1 | test.rs:216:17:216:28 | break ... | +| test.rs:222:13:222:13 | 0 | test.rs:216:17:216:28 | break ... | +| test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:229:17:229:35 | break 'label ... | | test.rs:228:13:230:13 | if ... {...} | test.rs:228:13:230:14 | ExprStmt | | test.rs:228:13:230:14 | ExprStmt | test.rs:226:5:237:5 | enter fn test_if_loop2 | -| test.rs:229:17:229:35 | [boolean(false)] break 'label ... | test.rs:229:17:229:36 | ExprStmt | -| test.rs:229:17:229:35 | [boolean(true)] break 'label ... | test.rs:229:17:229:36 | ExprStmt | +| test.rs:229:17:229:35 | break 'label ... | test.rs:229:17:229:36 | ExprStmt | | test.rs:229:17:229:36 | ExprStmt | test.rs:228:13:230:14 | ExprStmt | -| test.rs:233:13:233:13 | 1 | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | -| test.rs:235:13:235:13 | 0 | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | -| test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:239:5:247:5 | enter fn test_labelled_block | -| test.rs:241:13:241:30 | [boolean(false)] break 'block ... | test.rs:239:5:247:5 | enter fn test_labelled_block | -| test.rs:241:13:241:30 | [boolean(true)] break 'block ... | test.rs:239:5:247:5 | enter fn test_labelled_block | -| test.rs:243:13:243:13 | 1 | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | -| test.rs:245:13:245:13 | 0 | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | -| test.rs:253:17:253:22 | [boolean(false)] ... && ... | test.rs:252:5:255:5 | enter fn test_and_operator | -| test.rs:253:17:253:22 | [boolean(true)] ... && ... | test.rs:253:22:253:22 | b | -| test.rs:253:17:253:27 | ... && ... | test.rs:252:5:255:5 | enter fn test_and_operator | +| test.rs:233:13:233:13 | 1 | test.rs:229:17:229:35 | break 'label ... | +| test.rs:235:13:235:13 | 0 | test.rs:229:17:229:35 | break 'label ... | +| test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:241:13:241:30 | break 'block ... | +| test.rs:241:13:241:30 | break 'block ... | test.rs:239:5:247:5 | enter fn test_labelled_block | +| test.rs:243:13:243:13 | 1 | test.rs:241:13:241:30 | break 'block ... | +| test.rs:245:13:245:13 | 0 | test.rs:241:13:241:30 | break 'block ... | +| test.rs:253:13:253:13 | d | test.rs:252:5:255:5 | enter fn test_and_operator | | test.rs:253:22:253:22 | b | test.rs:252:5:255:5 | enter fn test_and_operator | -| test.rs:253:27:253:27 | c | test.rs:253:17:253:22 | [boolean(true)] ... && ... | -| test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | test.rs:258:22:258:22 | b | -| test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | test.rs:257:5:260:5 | enter fn test_or_operator | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:257:5:260:5 | enter fn test_or_operator | +| test.rs:253:27:253:27 | c | test.rs:253:22:253:22 | b | +| test.rs:258:13:258:13 | d | test.rs:257:5:260:5 | enter fn test_or_operator | | test.rs:258:22:258:22 | b | test.rs:257:5:260:5 | enter fn test_or_operator | -| test.rs:258:27:258:27 | c | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | -| test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | test.rs:263:23:263:23 | b | -| test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | test.rs:262:5:265:5 | enter fn test_or_operator_2 | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:262:5:265:5 | enter fn test_or_operator_2 | +| test.rs:258:27:258:27 | c | test.rs:258:22:258:22 | b | +| test.rs:263:13:263:13 | d | test.rs:262:5:265:5 | enter fn test_or_operator_2 | | test.rs:263:23:263:23 | b | test.rs:262:5:265:5 | enter fn test_or_operator_2 | -| test.rs:263:35:263:35 | c | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | +| test.rs:263:35:263:35 | c | test.rs:263:23:263:23 | b | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:272:5:278:5 | enter fn test_if_and_operator | -| test.rs:273:12:273:17 | [boolean(false)] ... && ... | test.rs:272:5:278:5 | enter fn test_if_and_operator | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:17:273:17 | b | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:272:5:278:5 | enter fn test_if_and_operator | -| test.rs:273:12:273:22 | [boolean(true)] ... && ... | test.rs:273:22:273:22 | c | | test.rs:273:17:273:17 | b | test.rs:272:5:278:5 | enter fn test_if_and_operator | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:17 | [boolean(true)] ... && ... | -| test.rs:274:13:274:16 | true | test.rs:273:12:273:22 | [boolean(true)] ... && ... | -| test.rs:276:13:276:17 | false | test.rs:273:12:273:22 | [boolean(false)] ... && ... | +| test.rs:273:22:273:22 | c | test.rs:273:17:273:17 | b | +| test.rs:274:13:274:16 | true | test.rs:273:22:273:22 | c | +| test.rs:276:13:276:17 | false | test.rs:272:5:278:5 | enter fn test_if_and_operator | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:280:5:286:5 | enter fn test_if_or_operator | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:17:281:17 | b | -| test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | test.rs:280:5:286:5 | enter fn test_if_or_operator | -| test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | test.rs:281:22:281:22 | c | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:280:5:286:5 | enter fn test_if_or_operator | | test.rs:281:17:281:17 | b | test.rs:280:5:286:5 | enter fn test_if_or_operator | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | -| test.rs:282:13:282:16 | true | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | -| test.rs:284:13:284:17 | false | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | +| test.rs:281:22:281:22 | c | test.rs:281:17:281:17 | b | +| test.rs:282:13:282:16 | true | test.rs:280:5:286:5 | enter fn test_if_or_operator | +| test.rs:284:13:284:17 | false | test.rs:281:22:281:22 | c | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:288:5:294:5 | enter fn test_if_not_operator | -| test.rs:289:12:289:13 | [boolean(false)] ! ... | test.rs:288:5:294:5 | enter fn test_if_not_operator | -| test.rs:289:12:289:13 | [boolean(true)] ! ... | test.rs:288:5:294:5 | enter fn test_if_not_operator | -| test.rs:290:13:290:16 | true | test.rs:289:12:289:13 | [boolean(true)] ! ... | -| test.rs:292:13:292:17 | false | test.rs:289:12:289:13 | [boolean(false)] ! ... | +| test.rs:290:13:290:16 | true | test.rs:288:5:294:5 | enter fn test_if_not_operator | +| test.rs:292:13:292:17 | false | test.rs:288:5:294:5 | enter fn test_if_not_operator | | test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:296:5:298:5 | enter fn test_and_return | -| test.rs:297:9:297:19 | ... && ... | test.rs:296:5:298:5 | enter fn test_and_return | +| test.rs:296:33:298:5 | { ... } | test.rs:296:5:298:5 | enter fn test_and_return | | test.rs:297:14:297:19 | return | test.rs:296:5:298:5 | enter fn test_and_return | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:300:5:305:5 | enter fn test_and_true | -| test.rs:301:9:303:9 | if ... {...} | test.rs:301:13:301:21 | [boolean(false)] ... && ... | -| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:300:5:305:5 | enter fn test_and_true | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:301:18:301:21 | true | +| test.rs:301:9:303:9 | if ... {...} | test.rs:300:5:305:5 | enter fn test_and_true | | test.rs:301:18:301:21 | true | test.rs:300:5:305:5 | enter fn test_and_true | -| test.rs:302:13:302:21 | ExprStmt | test.rs:301:13:301:21 | [boolean(true)] ... && ... | +| test.rs:302:13:302:21 | ExprStmt | test.rs:301:18:301:21 | true | | test.rs:311:5:313:5 | exit fn test_question_mark_operator_1 (normal) | test.rs:311:5:313:5 | enter fn test_question_mark_operator_1 | | test.rs:312:32:312:32 | 4 | test.rs:311:5:313:5 | enter fn test_question_mark_operator_1 | | test.rs:315:5:320:5 | exit fn test_question_mark_operator_2 (normal) | test.rs:315:5:320:5 | enter fn test_question_mark_operator_2 | @@ -1647,12 +1467,11 @@ immediateDominator | test.rs:338:13:338:23 | maybe_digit | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | | test.rs:340:26:340:26 | x | test.rs:338:13:338:23 | maybe_digit | | test.rs:341:13:341:24 | ...::None | test.rs:338:13:338:23 | maybe_digit | -| test.rs:346:9:349:18 | ... && ... | test.rs:345:5:350:5 | enter fn test_match_and | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:345:5:350:5 | enter fn test_match_and | -| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:347:18:347:18 | a | +| test.rs:345:60:350:5 | { ... } | test.rs:346:10:349:9 | match r { ... } | +| test.rs:346:10:349:9 | match r { ... } | test.rs:345:5:350:5 | enter fn test_match_and | | test.rs:347:18:347:18 | a | test.rs:345:5:350:5 | enter fn test_match_and | | test.rs:348:13:348:13 | _ | test.rs:345:5:350:5 | enter fn test_match_and | -| test.rs:349:15:349:18 | cond | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | +| test.rs:349:15:349:18 | cond | test.rs:346:10:349:9 | match r { ... } | | test.rs:353:9:356:9 | match r { ... } | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | | test.rs:354:16:354:20 | value | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | | test.rs:355:13:355:22 | Err(...) | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | @@ -1686,21 +1505,23 @@ immediateDominator | test.rs:428:13:428:19 | TuplePat | test.rs:425:5:431:5 | enter fn tuple_pattern | | test.rs:428:24:428:24 | 3 | test.rs:428:13:428:19 | TuplePat | | test.rs:429:13:429:16 | TuplePat | test.rs:428:13:428:19 | TuplePat | -| test.rs:434:9:437:9 | match a { ... } | test.rs:433:5:438:5 | enter fn or_pattern | -| test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | test.rs:435:21:435:21 | 2 | -| test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | test.rs:433:5:438:5 | enter fn or_pattern | +| test.rs:434:9:437:9 | match a { ... } | test.rs:435:13:435:21 | 0 \| 1 \| 2 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:433:5:438:5 | enter fn or_pattern | | test.rs:435:17:435:17 | 1 | test.rs:433:5:438:5 | enter fn or_pattern | | test.rs:435:21:435:21 | 2 | test.rs:435:17:435:17 | 1 | +| test.rs:435:26:435:26 | 3 | test.rs:435:13:435:21 | 0 \| 1 \| 2 | +| test.rs:436:13:436:13 | _ | test.rs:435:13:435:21 | 0 \| 1 \| 2 | | test.rs:441:9:444:9 | match a { ... } | test.rs:440:5:445:5 | enter fn or_pattern_2 | | test.rs:442:21:442:21 | 3 | test.rs:440:5:445:5 | enter fn or_pattern_2 | | test.rs:443:13:443:22 | Some(...) | test.rs:440:5:445:5 | enter fn or_pattern_2 | | test.rs:443:13:443:36 | ... \| ... | test.rs:443:13:443:22 | Some(...) | | test.rs:443:18:443:21 | true | test.rs:443:13:443:22 | Some(...) | | test.rs:443:26:443:36 | Some(...) | test.rs:443:13:443:22 | Some(...) | -| test.rs:454:9:457:9 | match a { ... } | test.rs:453:5:458:5 | enter fn or_pattern_3 | +| test.rs:454:9:457:9 | match a { ... } | test.rs:455:13:455:23 | 1 \| 2 | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:453:5:458:5 | enter fn or_pattern_3 | | test.rs:455:13:455:23 | 2 | test.rs:453:5:458:5 | enter fn or_pattern_3 | -| test.rs:455:13:455:23 | [match(false)] 1 \| 2 | test.rs:455:13:455:23 | 2 | -| test.rs:455:13:455:23 | [match(true)] 1 \| 2 | test.rs:453:5:458:5 | enter fn or_pattern_3 | +| test.rs:455:30:455:30 | 3 | test.rs:455:13:455:23 | 1 \| 2 | +| test.rs:456:13:456:13 | _ | test.rs:455:13:455:23 | 1 \| 2 | | test.rs:461:9:464:9 | match pair { ... } | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | | test.rs:462:32:462:32 | _ | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | | test.rs:463:13:463:13 | _ | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | @@ -1713,9 +1534,7 @@ immediateDominator | test.rs:511:28:516:9 | exit { ... } (normal) | test.rs:511:28:516:9 | enter { ... } | | test.rs:512:13:514:13 | if b {...} | test.rs:511:28:516:9 | enter { ... } | | test.rs:513:17:513:41 | ExprStmt | test.rs:511:28:516:9 | enter { ... } | -| test.rs:533:13:533:19 | ExprStmt | test.rs:533:21:533:48 | [boolean(true)] ! ... | -| test.rs:533:21:533:48 | [boolean(false)] ! ... | test.rs:529:5:537:5 | enter fn const_block_assert | -| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:529:5:537:5 | enter fn const_block_assert | +| test.rs:533:13:533:19 | ExprStmt | test.rs:529:5:537:5 | enter fn const_block_assert | | test.rs:533:21:533:48 | if ... {...} | test.rs:529:5:537:5 | enter fn const_block_assert | | test.rs:541:9:546:9 | if false {...} | test.rs:539:5:548:5 | enter fn const_block_panic | | test.rs:553:9:553:17 | ExprStmt | test.rs:551:1:556:1 | enter fn dead_code | @@ -1765,9 +1584,9 @@ 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 ... {...} | 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:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} | true | +| test.rs:99:15:99:39 | let ... = ... | test.rs:100:17:100:17 | x | true | +| test.rs:99:15:99:39 | let ... = ... | 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 | @@ -1775,144 +1594,118 @@ controls | 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:146:12:146:26 | let ... = a | test.rs:147:13:147:13 | n | true | +| test.rs:146:12:146:26 | let ... = a | test.rs:149:13:149:13 | 0 | false | +| test.rs:154:12:154:26 | let ... = a | test.rs:154:9:156:9 | if ... {...} | false | +| test.rs:154:12:154:26 | let ... = a | 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 | { ... } | 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:39:161:48 | [boolean(false)] { ... } | false | -| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:39:161:48 | [boolean(true)] { ... } | false | +| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:39:161:48 | { ... } | false | | 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 | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:162:13:162:13 | 1 | true | -| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | [boolean(false)] { ... } | false | -| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | [boolean(true)] { ... } | true | -| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | [boolean(false)] { ... } | false | -| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | [boolean(true)] { ... } | true | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:162:13:162:13 | 1 | true | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:164:13:164:13 | 0 | false | +| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | { ... } | false | +| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | { ... } | true | +| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | { ... } | false | +| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | { ... } | true | | test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:170:13:174:13 | ExprStmt | true | | test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:170:13:174:13 | if cond2 {...} else {...} | true | | test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:171:17:171:30 | ExprStmt | true | | test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:173:17:173:30 | ExprStmt | true | | test.rs:170:13:174:13 | ExprStmt | test.rs:171:17:171:30 | ExprStmt | true | | test.rs:170:13:174:13 | ExprStmt | test.rs:173:17:173:30 | ExprStmt | false | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:186:13:186:13 | 0 | false | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:184:13:184:13 | 1 | true | -| test.rs:181:18:181:21 | true | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | true | -| test.rs:181:18:181:21 | true | test.rs:184:13:184:13 | 1 | true | -| test.rs:182:13:182:13 | _ | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | false | -| test.rs:182:13:182:13 | _ | test.rs:186:13:186:13 | 0 | false | -| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | [boolean(false)] { ... } | false | -| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | [boolean(true)] { ... } | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:184:13:184:13 | 1 | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:186:13:186:13 | 0 | false | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:9:198:9 | if ... {...} else {...} | false | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:9:198:9 | if ... {...} else {...} | true | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | { ... } | false | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | { ... } | true | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:195:13:195:13 | 1 | false | | test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:195:13:195:13 | 1 | true | | test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:197:13:197:13 | 0 | false | -| test.rs:191:12:194:9 | [boolean(false)] { ... } | test.rs:197:13:197:13 | 0 | false | -| test.rs:191:12:194:9 | [boolean(true)] { ... } | test.rs:195:13:195:13 | 1 | true | -| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | [boolean(false)] { ... } | false | -| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | [boolean(true)] { ... } | true | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:197:13:197:13 | 0 | true | +| test.rs:191:12:194:9 | { ... } | test.rs:195:13:195:13 | 1 | true | +| test.rs:191:12:194:9 | { ... } | test.rs:197:13:197:13 | 0 | false | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:9:210:9 | if ... {...} else {...} | false | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:9:210:9 | if ... {...} else {...} | true | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | { ... } | false | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | { ... } | true | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:207:13:207:13 | 1 | false | | test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:207:13:207:13 | 1 | true | | test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:209:13:209:13 | 0 | false | -| test.rs:203:12:206:9 | [boolean(false)] { ... } | test.rs:209:13:209:13 | 0 | false | -| test.rs:203:12:206:9 | [boolean(true)] { ... } | test.rs:207:13:207:13 | 1 | true | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:209:13:209:13 | 0 | true | +| test.rs:203:12:206:9 | { ... } | test.rs:207:13:207:13 | 1 | true | +| test.rs:203:12:206:9 | { ... } | test.rs:209:13:209:13 | 0 | false | | test.rs:215:13:217:14 | ExprStmt | test.rs:214:9:223:9 | if ... {...} else {...} | true | | test.rs:215:13:217:14 | ExprStmt | test.rs:215:13:217:13 | if ... {...} | false | -| test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:28 | [boolean(false)] break ... | true | -| test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:28 | [boolean(true)] break ... | true | +| test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:28 | break ... | true | | test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:29 | ExprStmt | true | | test.rs:215:13:217:14 | ExprStmt | test.rs:220:13:220:13 | 1 | true | | test.rs:215:13:217:14 | ExprStmt | test.rs:222:13:222:13 | 0 | true | -| test.rs:216:17:216:28 | [boolean(false)] break ... | test.rs:222:13:222:13 | 0 | false | -| test.rs:216:17:216:28 | [boolean(true)] break ... | test.rs:220:13:220:13 | 1 | true | -| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | [boolean(false)] break ... | false | -| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | [boolean(true)] break ... | true | +| test.rs:216:17:216:28 | break ... | test.rs:220:13:220:13 | 1 | true | +| test.rs:216:17:216:28 | break ... | test.rs:222:13:222:13 | 0 | false | +| test.rs:216:17:216:29 | ExprStmt | test.rs:214:9:223:9 | if ... {...} else {...} | false | +| test.rs:216:17:216:29 | ExprStmt | test.rs:214:9:223:9 | if ... {...} else {...} | true | +| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | break ... | false | +| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | break ... | true | +| test.rs:216:17:216:29 | ExprStmt | test.rs:220:13:220:13 | 1 | false | | test.rs:216:17:216:29 | ExprStmt | test.rs:220:13:220:13 | 1 | true | | test.rs:216:17:216:29 | ExprStmt | test.rs:222:13:222:13 | 0 | false | +| test.rs:216:17:216:29 | ExprStmt | test.rs:222:13:222:13 | 0 | true | | test.rs:228:13:230:14 | ExprStmt | test.rs:227:9:236:9 | if ... {...} else {...} | true | | test.rs:228:13:230:14 | ExprStmt | test.rs:228:13:230:13 | if ... {...} | false | -| test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | true | -| test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | true | +| test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:35 | break 'label ... | true | | test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:36 | ExprStmt | true | | test.rs:228:13:230:14 | ExprStmt | test.rs:233:13:233:13 | 1 | true | | test.rs:228:13:230:14 | ExprStmt | test.rs:235:13:235:13 | 0 | true | -| test.rs:229:17:229:35 | [boolean(false)] break 'label ... | test.rs:235:13:235:13 | 0 | false | -| test.rs:229:17:229:35 | [boolean(true)] break 'label ... | test.rs:233:13:233:13 | 1 | true | -| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | false | -| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | true | +| test.rs:229:17:229:35 | break 'label ... | test.rs:233:13:233:13 | 1 | true | +| test.rs:229:17:229:35 | break 'label ... | test.rs:235:13:235:13 | 0 | false | +| test.rs:229:17:229:36 | ExprStmt | test.rs:227:9:236:9 | if ... {...} else {...} | false | +| test.rs:229:17:229:36 | ExprStmt | test.rs:227:9:236:9 | if ... {...} else {...} | true | +| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | break 'label ... | false | +| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | break 'label ... | true | +| test.rs:229:17:229:36 | ExprStmt | test.rs:233:13:233:13 | 1 | false | | test.rs:229:17:229:36 | ExprStmt | test.rs:233:13:233:13 | 1 | true | | test.rs:229:17:229:36 | ExprStmt | test.rs:235:13:235:13 | 0 | false | -| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | false | -| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | true | +| test.rs:229:17:229:36 | ExprStmt | test.rs:235:13:235:13 | 0 | true | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:240:9:246:9 | if ... {...} else {...} | false | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:240:9:246:9 | if ... {...} else {...} | true | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | break 'block ... | false | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | break 'block ... | true | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:243:13:243:13 | 1 | false | | test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:243:13:243:13 | 1 | true | | test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:245:13:245:13 | 0 | false | -| test.rs:241:13:241:30 | [boolean(false)] break 'block ... | test.rs:245:13:245:13 | 0 | false | -| test.rs:241:13:241:30 | [boolean(true)] break 'block ... | test.rs:243:13:243:13 | 1 | true | -| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:17:253:22 | [boolean(true)] ... && ... | true | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:245:13:245:13 | 0 | true | +| test.rs:241:13:241:30 | break 'block ... | test.rs:243:13:243:13 | 1 | true | +| test.rs:241:13:241:30 | break 'block ... | test.rs:245:13:245:13 | 0 | false | | test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:22:253:22 | b | true | | test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:27:253:27 | c | true | -| test.rs:253:17:253:22 | [boolean(true)] ... && ... | test.rs:253:27:253:27 | c | true | -| test.rs:253:22:253:22 | b | test.rs:253:17:253:22 | [boolean(true)] ... && ... | true | | test.rs:253:22:253:22 | b | test.rs:253:27:253:27 | c | true | -| test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | false | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:22:258:22 | b | false | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:27:258:27 | c | false | -| test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | test.rs:258:27:258:27 | c | false | -| test.rs:258:22:258:22 | b | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | false | | test.rs:258:22:258:22 | b | test.rs:258:27:258:27 | c | false | -| test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | false | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:23:263:23 | b | false | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:35:263:35 | c | false | -| test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | test.rs:263:35:263:35 | c | false | -| test.rs:263:23:263:23 | b | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | false | | test.rs:263:23:263:23 | b | test.rs:263:35:263:35 | c | false | -| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:12:273:17 | [boolean(true)] ... && ... | true | -| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:12:273:22 | [boolean(true)] ... && ... | true | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:17:273:17 | b | true | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:22:273:22 | c | true | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:274:13:274:16 | true | true | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:12:273:22 | [boolean(true)] ... && ... | true | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:22:273:22 | c | true | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:274:13:274:16 | true | true | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:276:13:276:17 | false | false | -| test.rs:273:12:273:22 | [boolean(true)] ... && ... | test.rs:274:13:274:16 | true | true | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:17 | [boolean(true)] ... && ... | true | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:22 | [boolean(true)] ... && ... | true | | test.rs:273:17:273:17 | b | test.rs:273:22:273:22 | c | true | | test.rs:273:17:273:17 | b | test.rs:274:13:274:16 | true | true | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:22 | [boolean(true)] ... && ... | true | | test.rs:273:22:273:22 | c | test.rs:274:13:274:16 | true | true | -| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | false | -| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | false | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:17:281:17 | b | false | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:22:281:22 | c | false | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:284:13:284:17 | false | false | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:22:281:22 | c | false | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:284:13:284:17 | false | false | -| test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | test.rs:284:13:284:17 | false | false | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:282:13:282:16 | true | true | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | false | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | false | | test.rs:281:17:281:17 | b | test.rs:281:22:281:22 | c | false | | test.rs:281:17:281:17 | b | test.rs:284:13:284:17 | false | false | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | false | | test.rs:281:22:281:22 | c | test.rs:284:13:284:17 | false | false | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:289:12:289:13 | [boolean(false)] ! ... | true | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:289:12:289:13 | [boolean(true)] ! ... | false | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:290:13:290:16 | true | false | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:292:13:292:17 | false | true | -| test.rs:289:12:289:13 | [boolean(false)] ! ... | test.rs:292:13:292:17 | false | false | -| test.rs:289:12:289:13 | [boolean(true)] ! ... | test.rs:290:13:290:16 | true | true | -| test.rs:296:5:298:5 | enter fn test_and_return | test.rs:297:9:297:19 | ... && ... | false | +| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:290:13:290:16 | true | true | +| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:292:13:292:17 | false | false | +| test.rs:296:5:298:5 | enter fn test_and_return | test.rs:296:33:298:5 | { ... } | false | | test.rs:296:5:298:5 | enter fn test_and_return | test.rs:297:14:297:19 | return | true | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:9:303:9 | if ... {...} | false | -| test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:13:301:21 | [boolean(false)] ... && ... | false | -| test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | true | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:18:301:21 | true | true | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:302:13:302:21 | ExprStmt | true | -| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:301:9:303:9 | if ... {...} | false | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:302:13:302:21 | ExprStmt | true | -| test.rs:301:18:301:21 | true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | true | | test.rs:301:18:301:21 | true | test.rs:302:13:302:21 | ExprStmt | true | | test.rs:328:26:328:26 | x | test.rs:328:42:328:42 | x | true | | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:335:9:342:9 | match ... { ... } | false | @@ -1920,15 +1713,10 @@ controls | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:338:13:338:23 | maybe_digit | false | | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:340:26:340:26 | x | false | | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:341:13:341:24 | ...::None | false | -| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:349:15:349:18 | cond | true | -| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true | -| test.rs:347:18:347:18 | a | test.rs:349:15:349:18 | cond | true | +| test.rs:346:10:349:9 | match r { ... } | test.rs:349:15:349:18 | cond | true | | test.rs:511:28:516:9 | enter { ... } | test.rs:512:13:514:13 | if b {...} | false | | test.rs:511:28:516:9 | enter { ... } | test.rs:513:17:513:41 | ExprStmt | true | -| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:13:533:19 | ExprStmt | false | -| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | [boolean(false)] ! ... | true | -| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | [boolean(true)] ! ... | false | -| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:13:533:19 | ExprStmt | true | +| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:13:533:19 | ExprStmt | true | | test.rs:539:5:548:5 | enter fn const_block_panic | test.rs:541:9:546:9 | if false {...} | false | | test.rs:551:1:556:1 | enter fn dead_code | test.rs:553:9:553:17 | ExprStmt | true | | test.rs:568:1:582:1 | enter fn labelled_block1 | test.rs:571:9:573:9 | if ... {...} | false | @@ -1962,8 +1750,8 @@ 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: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:99:15:99:39 | let ... = ... | test.rs:99:9:103:9 | while ... { ... } | false | +| test.rs:99:15:99:39 | let ... = ... | 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 | @@ -1972,118 +1760,98 @@ successor | 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:146:12:146:26 | let ... = a | test.rs:147:13:147:13 | n | true | +| test.rs:146:12:146:26 | let ... = a | test.rs:149:13:149:13 | 0 | false | +| test.rs:154:12:154:26 | let ... = a | test.rs:154:9:156:9 | if ... {...} | false | +| test.rs:154:12:154:26 | let ... = a | 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 | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:162:13:162:13 | 1 | true | -| test.rs:161:22:161:32 | [boolean(false)] { ... } | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | false | -| test.rs:161:22:161:32 | [boolean(true)] { ... } | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | true | -| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | [boolean(false)] { ... } | false | -| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | [boolean(true)] { ... } | true | -| test.rs:161:39:161:48 | [boolean(false)] { ... } | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | false | -| test.rs:161:39:161:48 | [boolean(true)] { ... } | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | true | -| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | [boolean(false)] { ... } | false | -| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | [boolean(true)] { ... } | true | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:162:13:162:13 | 1 | true | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:164:13:164:13 | 0 | false | +| test.rs:161:22:161:32 | { ... } | test.rs:161:13:161:48 | if ... {...} else {...} | false | +| test.rs:161:22:161:32 | { ... } | test.rs:161:13:161:48 | if ... {...} else {...} | true | +| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | { ... } | false | +| test.rs:161:24:161:24 | a | test.rs:161:22:161:32 | { ... } | true | +| test.rs:161:39:161:48 | { ... } | test.rs:161:13:161:48 | if ... {...} else {...} | false | +| test.rs:161:39:161:48 | { ... } | test.rs:161:13:161:48 | if ... {...} else {...} | true | +| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | { ... } | false | +| test.rs:161:41:161:41 | a | test.rs:161:39:161:48 | { ... } | true | | test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:169:9:176:9 | if cond1 {...} | false | | test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:170:13:174:13 | ExprStmt | true | | test.rs:170:13:174:13 | ExprStmt | test.rs:171:17:171:30 | ExprStmt | true | | test.rs:170:13:174:13 | ExprStmt | test.rs:173:17:173:30 | ExprStmt | false | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:186:13:186:13 | 0 | false | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:184:13:184:13 | 1 | true | -| test.rs:181:18:181:21 | true | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | true | -| test.rs:182:13:182:13 | _ | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | false | -| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | [boolean(false)] { ... } | false | -| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | [boolean(true)] { ... } | true | -| test.rs:191:12:194:9 | [boolean(false)] { ... } | test.rs:197:13:197:13 | 0 | false | -| test.rs:191:12:194:9 | [boolean(true)] { ... } | test.rs:195:13:195:13 | 1 | true | -| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | [boolean(false)] { ... } | false | -| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | [boolean(true)] { ... } | true | -| test.rs:203:12:206:9 | [boolean(false)] { ... } | test.rs:209:13:209:13 | 0 | false | -| test.rs:203:12:206:9 | [boolean(true)] { ... } | test.rs:207:13:207:13 | 1 | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:184:13:184:13 | 1 | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:186:13:186:13 | 0 | false | +| test.rs:181:18:181:21 | true | test.rs:180:13:183:9 | match a { ... } | true | +| test.rs:182:13:182:13 | _ | test.rs:180:13:183:9 | match a { ... } | false | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | { ... } | false | +| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:191:12:194:9 | { ... } | true | +| test.rs:191:12:194:9 | { ... } | test.rs:195:13:195:13 | 1 | true | +| test.rs:191:12:194:9 | { ... } | test.rs:197:13:197:13 | 0 | false | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | { ... } | false | +| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:203:12:206:9 | { ... } | true | +| test.rs:203:12:206:9 | { ... } | test.rs:207:13:207:13 | 1 | true | +| test.rs:203:12:206:9 | { ... } | test.rs:209:13:209:13 | 0 | false | | test.rs:215:13:217:14 | ExprStmt | test.rs:215:13:217:13 | if ... {...} | false | | test.rs:215:13:217:14 | ExprStmt | test.rs:216:17:216:29 | ExprStmt | true | -| test.rs:216:17:216:28 | [boolean(false)] break ... | test.rs:222:13:222:13 | 0 | false | -| test.rs:216:17:216:28 | [boolean(true)] break ... | test.rs:220:13:220:13 | 1 | true | -| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | [boolean(false)] break ... | false | -| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | [boolean(true)] break ... | true | +| test.rs:216:17:216:28 | break ... | test.rs:220:13:220:13 | 1 | true | +| test.rs:216:17:216:28 | break ... | test.rs:222:13:222:13 | 0 | false | +| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | break ... | false | +| test.rs:216:17:216:29 | ExprStmt | test.rs:216:17:216:28 | break ... | true | | test.rs:228:13:230:14 | ExprStmt | test.rs:228:13:230:13 | if ... {...} | false | | test.rs:228:13:230:14 | ExprStmt | test.rs:229:17:229:36 | ExprStmt | true | -| test.rs:229:17:229:35 | [boolean(false)] break 'label ... | test.rs:235:13:235:13 | 0 | false | -| test.rs:229:17:229:35 | [boolean(true)] break 'label ... | test.rs:233:13:233:13 | 1 | true | -| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | false | -| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | true | -| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | false | -| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | true | -| test.rs:241:13:241:30 | [boolean(false)] break 'block ... | test.rs:245:13:245:13 | 0 | false | -| test.rs:241:13:241:30 | [boolean(true)] break 'block ... | test.rs:243:13:243:13 | 1 | true | -| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:17:253:22 | [boolean(false)] ... && ... | false | +| test.rs:229:17:229:35 | break 'label ... | test.rs:233:13:233:13 | 1 | true | +| test.rs:229:17:229:35 | break 'label ... | test.rs:235:13:235:13 | 0 | false | +| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | break 'label ... | false | +| test.rs:229:17:229:36 | ExprStmt | test.rs:229:17:229:35 | break 'label ... | true | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | break 'block ... | false | +| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:241:13:241:30 | break 'block ... | true | +| test.rs:241:13:241:30 | break 'block ... | test.rs:243:13:243:13 | 1 | true | +| test.rs:241:13:241:30 | break 'block ... | test.rs:245:13:245:13 | 0 | false | +| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:13:253:13 | d | false | | test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:253:22:253:22 | b | true | -| test.rs:253:17:253:22 | [boolean(false)] ... && ... | test.rs:253:17:253:27 | ... && ... | false | -| test.rs:253:17:253:22 | [boolean(true)] ... && ... | test.rs:253:27:253:27 | c | true | -| test.rs:253:22:253:22 | b | test.rs:253:17:253:22 | [boolean(false)] ... && ... | false | -| test.rs:253:22:253:22 | b | test.rs:253:17:253:22 | [boolean(true)] ... && ... | true | -| test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:253:22:253:22 | b | test.rs:253:13:253:13 | d | false | +| test.rs:253:22:253:22 | b | test.rs:253:27:253:27 | c | true | +| test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:13:258:13 | d | true | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:258:22:258:22 | b | false | -| test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | test.rs:258:27:258:27 | c | false | -| test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | test.rs:258:17:258:27 | ... \|\| ... | true | -| test.rs:258:22:258:22 | b | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:258:22:258:22 | b | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:258:22:258:22 | b | test.rs:258:13:258:13 | d | true | +| test.rs:258:22:258:22 | b | test.rs:258:27:258:27 | c | false | +| test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:13:263:13 | d | true | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:263:23:263:23 | b | false | -| test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | test.rs:263:35:263:35 | c | false | -| test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | test.rs:263:17:263:35 | ... \|\| ... | true | -| test.rs:263:23:263:23 | b | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | false | -| test.rs:263:23:263:23 | b | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | true | -| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:12:273:17 | [boolean(false)] ... && ... | false | +| test.rs:263:23:263:23 | b | test.rs:263:13:263:13 | d | true | +| test.rs:263:23:263:23 | b | test.rs:263:35:263:35 | c | false | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:273:17:273:17 | b | true | -| test.rs:273:12:273:17 | [boolean(false)] ... && ... | test.rs:273:12:273:22 | [boolean(false)] ... && ... | false | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:22:273:22 | c | true | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:276:13:276:17 | false | false | -| test.rs:273:12:273:22 | [boolean(true)] ... && ... | test.rs:274:13:274:16 | true | true | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:17 | [boolean(false)] ... && ... | false | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:17 | [boolean(true)] ... && ... | true | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:22 | [boolean(false)] ... && ... | false | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:22 | [boolean(true)] ... && ... | true | -| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | true | +| test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:276:13:276:17 | false | false | +| test.rs:273:17:273:17 | b | test.rs:273:22:273:22 | c | true | +| test.rs:273:17:273:17 | b | test.rs:276:13:276:17 | false | false | +| test.rs:273:22:273:22 | c | test.rs:274:13:274:16 | true | true | +| test.rs:273:22:273:22 | c | test.rs:276:13:276:17 | false | false | | test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:281:17:281:17 | b | false | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:22:281:22 | c | false | -| test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | test.rs:284:13:284:17 | false | false | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:282:13:282:16 | true | true | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | false | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:289:12:289:13 | [boolean(false)] ! ... | true | -| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:289:12:289:13 | [boolean(true)] ! ... | false | -| test.rs:289:12:289:13 | [boolean(false)] ! ... | test.rs:292:13:292:17 | false | false | -| test.rs:289:12:289:13 | [boolean(true)] ! ... | test.rs:290:13:290:16 | true | true | -| test.rs:296:5:298:5 | enter fn test_and_return | test.rs:297:9:297:19 | ... && ... | false | +| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:282:13:282:16 | true | true | +| test.rs:281:17:281:17 | b | test.rs:281:22:281:22 | c | false | +| test.rs:281:17:281:17 | b | test.rs:282:13:282:16 | true | true | +| test.rs:281:22:281:22 | c | test.rs:282:13:282:16 | true | true | +| test.rs:281:22:281:22 | c | test.rs:284:13:284:17 | false | false | +| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:290:13:290:16 | true | true | +| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:292:13:292:17 | false | false | +| test.rs:296:5:298:5 | enter fn test_and_return | test.rs:296:33:298:5 | { ... } | false | | test.rs:296:5:298:5 | enter fn test_and_return | test.rs:297:14:297:19 | return | true | -| test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:13:301:21 | [boolean(false)] ... && ... | false | +| test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:9:303:9 | if ... {...} | false | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:301:18:301:21 | true | true | -| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:301:9:303:9 | if ... {...} | false | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:302:13:302:21 | ExprStmt | true | -| test.rs:301:18:301:21 | true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | true | +| test.rs:301:18:301:21 | true | test.rs:302:13:302:21 | ExprStmt | true | | test.rs:328:26:328:26 | x | test.rs:328:42:328:42 | x | true | | test.rs:328:26:328:26 | x | test.rs:329:13:329:27 | ...::Some(...) | false | | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:336:13:336:21 | ExprStmt | true | | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:338:13:338:23 | maybe_digit | false | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:346:9:349:18 | ... && ... | false | -| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:349:15:349:18 | cond | true | -| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false | -| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true | -| test.rs:348:13:348:13 | _ | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false | +| test.rs:346:10:349:9 | match r { ... } | test.rs:345:60:350:5 | { ... } | false | +| test.rs:346:10:349:9 | match r { ... } | test.rs:349:15:349:18 | cond | true | +| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | match r { ... } | false | +| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | match r { ... } | true | +| test.rs:348:13:348:13 | _ | test.rs:346:10:349:9 | match r { ... } | false | | test.rs:511:28:516:9 | enter { ... } | test.rs:512:13:514:13 | if b {...} | false | | test.rs:511:28:516:9 | enter { ... } | test.rs:513:17:513:41 | ExprStmt | true | -| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | [boolean(false)] ! ... | true | -| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | [boolean(true)] ! ... | false | -| test.rs:533:21:533:48 | [boolean(false)] ! ... | test.rs:533:21:533:48 | if ... {...} | false | -| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:13:533:19 | ExprStmt | true | +| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:13:533:19 | ExprStmt | true | +| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:21:533:48 | if ... {...} | false | | test.rs:539:5:548:5 | enter fn const_block_panic | test.rs:541:9:546:9 | if false {...} | false | | test.rs:551:1:556:1 | enter fn dead_code | test.rs:553:9:553:17 | ExprStmt | true | | test.rs:568:1:582:1 | enter fn labelled_block1 | test.rs:571:9:573:9 | if ... {...} | false | @@ -2115,8 +1883,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 | [boolean(false)] let ... = ... | 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:101:17:101:22 | ExprStmt | 1 | +| test.rs:99:15:99:39 | let ... = ... | test.rs:99:24:99:24 | x | 1 | +| test.rs:99:15:99:39 | let ... = ... | test.rs:99:29:99:32 | iter | 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 | @@ -2129,20 +1899,24 @@ joinBlockPredecessor | 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:147:13:147:13 | n | 1 | | test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:149:13:149:13 | 0 | 0 | +| test.rs:146:12:146:26 | let ... = a | test.rs:145:5:151:5 | enter fn test_if_let_else | 1 | +| test.rs:146:12:146:26 | let ... = a | test.rs:146:21:146:21 | n | 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:155:13:155:21 | ExprStmt | 0 | +| test.rs:154:12:154:26 | let ... = a | test.rs:153:5:158:5 | enter fn test_if_let | 1 | +| test.rs:154:12:154:26 | let ... = a | test.rs:154:21:154:21 | n | 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 | -| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:161:39:161:48 | [boolean(false)] { ... } | 0 | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:161:22:161:32 | [boolean(true)] { ... } | 1 | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:161:39:161:48 | [boolean(true)] { ... } | 0 | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:22:161:32 | { ... } | 1 | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:161:39:161:48 | { ... } | 0 | | test.rs:169:9:176:9 | if cond1 {...} | test.rs:168:5:177:5 | enter fn test_nested_if_2 | 1 | | test.rs:169:9:176:9 | if cond1 {...} | test.rs:170:13:174:13 | if cond2 {...} else {...} | 0 | | test.rs:170:13:174:13 | if cond2 {...} else {...} | test.rs:171:17:171:30 | ExprStmt | 1 | | test.rs:170:13:174:13 | if cond2 {...} else {...} | test.rs:173:17:173:30 | ExprStmt | 0 | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:184:13:184:13 | 1 | 1 | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:186:13:186:13 | 0 | 0 | +| test.rs:180:13:183:9 | match a { ... } | test.rs:181:18:181:21 | true | 0 | +| test.rs:180:13:183:9 | match a { ... } | test.rs:182:13:182:13 | _ | 1 | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:195:13:195:13 | 1 | 1 | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:197:13:197:13 | 0 | 0 | | test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:207:13:207:13 | 1 | 1 | @@ -2157,33 +1931,28 @@ joinBlockPredecessor | test.rs:228:13:230:14 | ExprStmt | test.rs:228:13:230:13 | if ... {...} | 0 | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:243:13:243:13 | 1 | 1 | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:245:13:245:13 | 0 | 0 | -| test.rs:253:17:253:22 | [boolean(false)] ... && ... | test.rs:252:5:255:5 | enter fn test_and_operator | 1 | -| test.rs:253:17:253:22 | [boolean(false)] ... && ... | test.rs:253:22:253:22 | b | 0 | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:17:253:22 | [boolean(false)] ... && ... | 0 | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:27:253:27 | c | 1 | -| test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | test.rs:257:5:260:5 | enter fn test_or_operator | 1 | -| test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | test.rs:258:22:258:22 | b | 0 | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | 0 | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:27:258:27 | c | 1 | -| test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | test.rs:262:5:265:5 | enter fn test_or_operator_2 | 1 | -| test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | test.rs:263:23:263:23 | b | 0 | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | 0 | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:35:263:35 | c | 1 | +| test.rs:253:13:253:13 | d | test.rs:252:5:255:5 | enter fn test_and_operator | 2 | +| test.rs:253:13:253:13 | d | test.rs:253:22:253:22 | b | 0 | +| test.rs:253:13:253:13 | d | test.rs:253:27:253:27 | c | 1 | +| test.rs:258:13:258:13 | d | test.rs:257:5:260:5 | enter fn test_or_operator | 2 | +| test.rs:258:13:258:13 | d | test.rs:258:22:258:22 | b | 0 | +| test.rs:258:13:258:13 | d | test.rs:258:27:258:27 | c | 1 | +| test.rs:263:13:263:13 | d | test.rs:262:5:265:5 | enter fn test_or_operator_2 | 2 | +| test.rs:263:13:263:13 | d | test.rs:263:23:263:23 | b | 0 | +| test.rs:263:13:263:13 | d | test.rs:263:35:263:35 | c | 1 | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:274:13:274:16 | true | 1 | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:276:13:276:17 | false | 0 | -| test.rs:273:12:273:17 | [boolean(false)] ... && ... | test.rs:272:5:278:5 | enter fn test_if_and_operator | 1 | -| test.rs:273:12:273:17 | [boolean(false)] ... && ... | test.rs:273:17:273:17 | b | 0 | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:273:12:273:17 | [boolean(false)] ... && ... | 0 | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:273:22:273:22 | c | 1 | +| test.rs:276:13:276:17 | false | test.rs:272:5:278:5 | enter fn test_if_and_operator | 2 | +| test.rs:276:13:276:17 | false | test.rs:273:17:273:17 | b | 0 | +| test.rs:276:13:276:17 | false | test.rs:273:22:273:22 | c | 1 | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:282:13:282:16 | true | 1 | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:284:13:284:17 | false | 0 | -| test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | test.rs:280:5:286:5 | enter fn test_if_or_operator | 1 | -| test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | test.rs:281:17:281:17 | b | 0 | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | 0 | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:281:22:281:22 | c | 1 | +| test.rs:282:13:282:16 | true | test.rs:280:5:286:5 | enter fn test_if_or_operator | 2 | +| test.rs:282:13:282:16 | true | test.rs:281:17:281:17 | b | 0 | +| test.rs:282:13:282:16 | true | test.rs:281:22:281:22 | c | 1 | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:290:13:290:16 | true | 1 | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:292:13:292:17 | false | 0 | -| test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:297:9:297:19 | ... && ... | 1 | +| test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:296:33:298:5 | { ... } | 1 | | test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:297:14:297:19 | return | 0 | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:301:9:303:9 | if ... {...} | 1 | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:302:13:302:21 | ExprStmt | 0 | @@ -2202,10 +1971,10 @@ joinBlockPredecessor | test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:336:13:336:21 | ExprStmt | 0 | | test.rs:335:9:342:9 | match ... { ... } | test.rs:340:26:340:26 | x | 0 | | test.rs:335:9:342:9 | match ... { ... } | test.rs:341:13:341:24 | ...::None | 1 | -| test.rs:346:9:349:18 | ... && ... | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | 0 | -| test.rs:346:9:349:18 | ... && ... | test.rs:349:15:349:18 | cond | 1 | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:347:18:347:18 | a | 0 | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:348:13:348:13 | _ | 1 | +| test.rs:345:60:350:5 | { ... } | test.rs:346:10:349:9 | match r { ... } | 0 | +| test.rs:345:60:350:5 | { ... } | test.rs:349:15:349:18 | cond | 1 | +| test.rs:346:10:349:9 | match r { ... } | test.rs:347:18:347:18 | a | 0 | +| test.rs:346:10:349:9 | match r { ... } | test.rs:348:13:348:13 | _ | 1 | | test.rs:353:9:356:9 | match r { ... } | test.rs:354:16:354:20 | value | 0 | | test.rs:353:9:356:9 | match r { ... } | test.rs:355:13:355:22 | Err(...) | 1 | | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:369:18:369:20 | ret | 0 | @@ -2231,21 +2000,21 @@ joinBlockPredecessor | test.rs:426:9:430:9 | match ... { ... } | test.rs:427:17:427:17 | _ | 0 | | test.rs:426:9:430:9 | match ... { ... } | test.rs:428:24:428:24 | 3 | 1 | | test.rs:426:9:430:9 | match ... { ... } | test.rs:429:13:429:16 | TuplePat | 2 | -| test.rs:434:9:437:9 | match a { ... } | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | 0 | -| test.rs:434:9:437:9 | match a { ... } | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | 1 | -| test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | test.rs:433:5:438:5 | enter fn or_pattern | 2 | -| test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | test.rs:435:17:435:17 | 1 | 0 | -| test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | test.rs:435:21:435:21 | 2 | 1 | +| test.rs:434:9:437:9 | match a { ... } | test.rs:435:26:435:26 | 3 | 0 | +| test.rs:434:9:437:9 | match a { ... } | test.rs:436:13:436:13 | _ | 1 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:433:5:438:5 | enter fn or_pattern | 2 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:17:435:17 | 1 | 0 | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:21:435:21 | 2 | 1 | | test.rs:441:9:444:9 | match a { ... } | test.rs:442:21:442:21 | 3 | 0 | | test.rs:441:9:444:9 | match a { ... } | test.rs:443:13:443:36 | ... \| ... | 1 | | test.rs:443:13:443:36 | ... \| ... | test.rs:443:18:443:21 | true | 0 | | test.rs:443:13:443:36 | ... \| ... | test.rs:443:26:443:36 | Some(...) | 1 | | test.rs:443:26:443:36 | Some(...) | test.rs:443:13:443:22 | Some(...) | 1 | | test.rs:443:26:443:36 | Some(...) | test.rs:443:18:443:21 | true | 0 | -| test.rs:454:9:457:9 | match a { ... } | test.rs:455:13:455:23 | [match(false)] 1 \| 2 | 0 | -| test.rs:454:9:457:9 | match a { ... } | test.rs:455:13:455:23 | [match(true)] 1 \| 2 | 1 | -| test.rs:455:13:455:23 | [match(true)] 1 \| 2 | test.rs:453:5:458:5 | enter fn or_pattern_3 | 1 | -| test.rs:455:13:455:23 | [match(true)] 1 \| 2 | test.rs:455:13:455:23 | 2 | 0 | +| test.rs:454:9:457:9 | match a { ... } | test.rs:455:30:455:30 | 3 | 0 | +| test.rs:454:9:457:9 | match a { ... } | test.rs:456:13:456:13 | _ | 1 | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:453:5:458:5 | enter fn or_pattern_3 | 1 | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:455:13:455:23 | 2 | 0 | | test.rs:461:9:464:9 | match pair { ... } | test.rs:462:32:462:32 | _ | 0 | | test.rs:461:9:464:9 | match pair { ... } | test.rs:463:13:463:13 | _ | 1 | | test.rs:476:9:480:9 | match e { ... } | test.rs:477:32:477:32 | _ | 0 | @@ -2255,8 +2024,8 @@ joinBlockPredecessor | test.rs:487:13:487:14 | TupleExpr | test.rs:487:13:487:14 | TupleExpr | 0 | | test.rs:511:28:516:9 | exit { ... } (normal) | test.rs:512:13:514:13 | if b {...} | 1 | | test.rs:511:28:516:9 | exit { ... } (normal) | test.rs:513:17:513:41 | ExprStmt | 0 | -| test.rs:533:21:533:48 | if ... {...} | test.rs:533:13:533:19 | ExprStmt | 1 | -| test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | [boolean(false)] ! ... | 0 | +| test.rs:533:21:533:48 | if ... {...} | test.rs:529:5:537:5 | enter fn const_block_assert | 1 | +| test.rs:533:21:533:48 | if ... {...} | test.rs:533:13:533:19 | ExprStmt | 0 | | test.rs:569:18:580:5 | 'block: { ... } | test.rs:572:13:572:27 | ExprStmt | 0 | | test.rs:569:18:580:5 | 'block: { ... } | test.rs:575:9:577:9 | if ... {...} | 2 | | test.rs:569:18:580:5 | 'block: { ... } | test.rs:576:13:576:27 | ExprStmt | 1 | diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index 2d1036c93c93..5d9f05b888a0 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -200,11 +200,11 @@ edges | 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 | [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:15:99:39 | let ... = ... | test.rs:99:9:103:9 | while ... { ... } | false | +| test.rs:99:15:99:39 | let ... = ... | test.rs:100:17:100:17 | x | true | +| test.rs:99:19:99:25 | Some(...) | test.rs:99:15:99:39 | 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:15:99:39 | let ... = ... | match | | test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x | | | 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(...) | | @@ -312,11 +312,11 @@ edges | 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 | [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:12:146:26 | let ... = a | test.rs:147:13:147:13 | n | true | +| test.rs:146:12:146:26 | let ... = a | test.rs:149:13:149:13 | 0 | false | +| test.rs:146:16:146:22 | Some(...) | test.rs:146:12:146:26 | let ... = a | no-match | | test.rs:146:16:146:22 | Some(...) | test.rs:146:21:146:21 | n | 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:12:146:26 | let ... = a | match | | test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n | | | 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 {...} | | @@ -331,11 +331,11 @@ edges | 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:26:154:26 | a | | | test.rs:154:9:156:9 | if ... {...} | test.rs:157:9:157:9 | 0 | | -| 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:12:154:26 | let ... = a | test.rs:154:9:156:9 | if ... {...} | false | +| test.rs:154:12:154:26 | let ... = a | test.rs:155:13:155:21 | ExprStmt | true | +| test.rs:154:16:154:22 | Some(...) | test.rs:154:12:154:26 | 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:12:154:26 | let ... = a | match | | test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n | | | 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 | @@ -349,24 +349,20 @@ edges | test.rs:160:23:160:28 | ...: i64 | test.rs:161:16:161:16 | a | | | test.rs:160:38:166:5 | { ... } | test.rs:160:5:166:5 | exit fn test_nested_if (normal) | | | test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:160:38:166:5 | { ... } | | -| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:164:13:164:13 | 0 | false | -| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:162:13:162:13 | 1 | true | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:162:13:162:13 | 1 | true | +| test.rs:161:13:161:48 | if ... {...} else {...} | test.rs:164:13:164:13 | 0 | false | | test.rs:161:16:161:16 | a | test.rs:161:20:161:20 | 0 | | | test.rs:161:16:161:20 | ... < ... | test.rs:161:24:161:24 | a | true | | test.rs:161:16:161:20 | ... < ... | test.rs:161:41:161:41 | a | false | | test.rs:161:20:161:20 | 0 | test.rs:161:16:161:20 | ... < ... | | -| test.rs:161:22:161:32 | [boolean(false)] { ... } | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | false | -| test.rs:161:22:161:32 | [boolean(true)] { ... } | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | true | +| test.rs:161:22:161:32 | { ... } | test.rs:161:13:161:48 | if ... {...} else {...} | false, true | | test.rs:161:24:161:24 | a | test.rs:161:29:161:30 | 10 | | -| test.rs:161:24:161:30 | ... < ... | test.rs:161:22:161:32 | [boolean(false)] { ... } | false | -| test.rs:161:24:161:30 | ... < ... | test.rs:161:22:161:32 | [boolean(true)] { ... } | true | +| test.rs:161:24:161:30 | ... < ... | test.rs:161:22:161:32 | { ... } | false, true | | test.rs:161:28:161:30 | - ... | test.rs:161:24:161:30 | ... < ... | | | test.rs:161:29:161:30 | 10 | test.rs:161:28:161:30 | - ... | | -| test.rs:161:39:161:48 | [boolean(false)] { ... } | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | false | -| test.rs:161:39:161:48 | [boolean(true)] { ... } | test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | true | +| test.rs:161:39:161:48 | { ... } | test.rs:161:13:161:48 | if ... {...} else {...} | false, true | | test.rs:161:41:161:41 | a | test.rs:161:45:161:46 | 10 | | -| test.rs:161:41:161:46 | ... > ... | test.rs:161:39:161:48 | [boolean(false)] { ... } | false | -| test.rs:161:41:161:46 | ... > ... | test.rs:161:39:161:48 | [boolean(true)] { ... } | true | +| test.rs:161:41:161:46 | ... > ... | test.rs:161:39:161:48 | { ... } | false, true | | test.rs:161:45:161:46 | 10 | test.rs:161:41:161:46 | ... > ... | | | test.rs:161:51:163:9 | { ... } | test.rs:161:9:165:9 | if ... {...} else {...} | | | test.rs:162:13:162:13 | 1 | test.rs:161:51:163:9 | { ... } | | @@ -435,15 +431,15 @@ edges | test.rs:179:29:179:34 | ...: i64 | test.rs:180:19:180:19 | a | | | test.rs:179:44:188:5 | { ... } | test.rs:179:5:188:5 | exit fn test_nested_if_match (normal) | | | test.rs:180:9:187:9 | if ... {...} else {...} | test.rs:179:44:188:5 | { ... } | | -| test.rs:180:13:183:9 | [boolean(false)] match a { ... } | test.rs:186:13:186:13 | 0 | false | -| test.rs:180:13:183:9 | [boolean(true)] match a { ... } | test.rs:184:13:184:13 | 1 | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:184:13:184:13 | 1 | true | +| test.rs:180:13:183:9 | match a { ... } | test.rs:186:13:186:13 | 0 | false | | test.rs:180:19:180:19 | a | test.rs:181:13:181:13 | 0 | | | test.rs:181:13:181:13 | 0 | test.rs:181:13:181:13 | 0 | | | test.rs:181:13:181:13 | 0 | test.rs:181:18:181:21 | true | match | | test.rs:181:13:181:13 | 0 | test.rs:182:13:182:13 | _ | no-match | -| test.rs:181:18:181:21 | true | test.rs:180:13:183:9 | [boolean(true)] match a { ... } | true | +| test.rs:181:18:181:21 | true | test.rs:180:13:183:9 | match a { ... } | true | | test.rs:182:13:182:13 | _ | test.rs:182:18:182:22 | false | match | -| test.rs:182:18:182:22 | false | test.rs:180:13:183:9 | [boolean(false)] match a { ... } | false | +| test.rs:182:18:182:22 | false | test.rs:180:13:183:9 | match a { ... } | false | | test.rs:183:12:185:9 | { ... } | test.rs:180:9:187:9 | if ... {...} else {...} | | | test.rs:184:13:184:13 | 1 | test.rs:183:12:185:9 | { ... } | | | test.rs:185:16:187:9 | { ... } | test.rs:180:9:187:9 | if ... {...} else {...} | | @@ -455,13 +451,12 @@ edges | test.rs:190:29:190:34 | ...: i64 | test.rs:192:13:192:15 | ExprStmt | | | test.rs:190:44:199:5 | { ... } | test.rs:190:5:199:5 | exit fn test_nested_if_block (normal) | | | test.rs:191:9:198:9 | if ... {...} else {...} | test.rs:190:44:199:5 | { ... } | | -| test.rs:191:12:194:9 | [boolean(false)] { ... } | test.rs:197:13:197:13 | 0 | false | -| test.rs:191:12:194:9 | [boolean(true)] { ... } | test.rs:195:13:195:13 | 1 | true | +| test.rs:191:12:194:9 | { ... } | test.rs:195:13:195:13 | 1 | true | +| test.rs:191:12:194:9 | { ... } | test.rs:197:13:197:13 | 0 | false | | test.rs:192:13:192:14 | TupleExpr | test.rs:193:13:193:13 | a | | | test.rs:192:13:192:15 | ExprStmt | test.rs:192:13:192:14 | TupleExpr | | | test.rs:193:13:193:13 | a | test.rs:193:17:193:17 | 0 | | -| test.rs:193:13:193:17 | ... > ... | test.rs:191:12:194:9 | [boolean(false)] { ... } | false | -| test.rs:193:13:193:17 | ... > ... | test.rs:191:12:194:9 | [boolean(true)] { ... } | true | +| test.rs:193:13:193:17 | ... > ... | test.rs:191:12:194:9 | { ... } | false, true | | test.rs:193:17:193:17 | 0 | test.rs:193:13:193:17 | ... > ... | | | test.rs:194:11:196:9 | { ... } | test.rs:191:9:198:9 | if ... {...} else {...} | | | test.rs:195:13:195:13 | 1 | test.rs:194:11:196:9 | { ... } | | @@ -478,14 +473,13 @@ edges | test.rs:202:17:202:17 | x | test.rs:202:13:202:17 | mut x | | | test.rs:202:21:202:25 | false | test.rs:202:17:202:17 | x | | | test.rs:203:9:210:9 | if ... {...} else {...} | test.rs:201:42:211:5 | { ... } | | -| test.rs:203:12:206:9 | [boolean(false)] { ... } | test.rs:209:13:209:13 | 0 | false | -| test.rs:203:12:206:9 | [boolean(true)] { ... } | test.rs:207:13:207:13 | 1 | true | +| test.rs:203:12:206:9 | { ... } | test.rs:207:13:207:13 | 1 | true | +| test.rs:203:12:206:9 | { ... } | test.rs:209:13:209:13 | 0 | false | | test.rs:204:13:204:13 | x | test.rs:204:17:204:20 | true | | | test.rs:204:13:204:20 | ... = ... | test.rs:205:13:205:13 | x | | | test.rs:204:13:204:21 | ExprStmt | test.rs:204:13:204:13 | x | | | test.rs:204:17:204:20 | true | test.rs:204:13:204:20 | ... = ... | | -| test.rs:205:13:205:13 | x | test.rs:203:12:206:9 | [boolean(false)] { ... } | false | -| test.rs:205:13:205:13 | x | test.rs:203:12:206:9 | [boolean(true)] { ... } | true | +| test.rs:205:13:205:13 | x | test.rs:203:12:206:9 | { ... } | false, true | | test.rs:206:11:208:9 | { ... } | test.rs:203:9:210:9 | if ... {...} else {...} | | | test.rs:207:13:207:13 | 1 | test.rs:206:11:208:9 | { ... } | | | test.rs:208:16:210:9 | { ... } | test.rs:203:9:210:9 | if ... {...} else {...} | | @@ -497,8 +491,8 @@ edges | test.rs:213:22:213:27 | ...: i64 | test.rs:215:13:217:14 | ExprStmt | | | test.rs:213:37:224:5 | { ... } | test.rs:213:5:224:5 | exit fn test_if_loop1 (normal) | | | test.rs:214:9:223:9 | if ... {...} else {...} | test.rs:213:37:224:5 | { ... } | | -| test.rs:214:13:219:9 | [boolean(false)] loop { ... } | test.rs:222:13:222:13 | 0 | false | -| test.rs:214:13:219:9 | [boolean(true)] loop { ... } | test.rs:220:13:220:13 | 1 | true | +| test.rs:214:13:219:9 | loop { ... } | test.rs:220:13:220:13 | 1 | true | +| test.rs:214:13:219:9 | loop { ... } | test.rs:222:13:222:13 | 0 | false | | test.rs:214:18:219:9 | { ... } | test.rs:215:13:217:14 | ExprStmt | | | test.rs:215:13:217:13 | if ... {...} | test.rs:218:13:218:19 | ExprStmt | | | test.rs:215:13:217:14 | ExprStmt | test.rs:215:16:215:16 | a | | @@ -506,12 +500,10 @@ edges | test.rs:215:16:215:20 | ... > ... | test.rs:215:13:217:13 | if ... {...} | false | | test.rs:215:16:215:20 | ... > ... | test.rs:216:17:216:29 | ExprStmt | true | | test.rs:215:20:215:20 | 0 | test.rs:215:16:215:20 | ... > ... | | -| test.rs:216:17:216:28 | [boolean(false)] break ... | test.rs:214:13:219:9 | [boolean(false)] loop { ... } | break | -| test.rs:216:17:216:28 | [boolean(true)] break ... | test.rs:214:13:219:9 | [boolean(true)] loop { ... } | break | +| test.rs:216:17:216:28 | break ... | test.rs:214:13:219:9 | loop { ... } | break | | test.rs:216:17:216:29 | ExprStmt | test.rs:216:23:216:23 | a | | | test.rs:216:23:216:23 | a | test.rs:216:27:216:28 | 10 | | -| test.rs:216:23:216:28 | ... > ... | test.rs:216:17:216:28 | [boolean(false)] break ... | false | -| test.rs:216:23:216:28 | ... > ... | test.rs:216:17:216:28 | [boolean(true)] break ... | true | +| test.rs:216:23:216:28 | ... > ... | test.rs:216:17:216:28 | break ... | false, true | | test.rs:216:27:216:28 | 10 | test.rs:216:23:216:28 | ... > ... | | | test.rs:218:13:218:13 | a | test.rs:218:17:218:18 | 10 | | | test.rs:218:13:218:18 | ... < ... | test.rs:214:18:219:9 | { ... } | | @@ -528,8 +520,8 @@ edges | test.rs:226:22:226:27 | ...: i64 | test.rs:228:13:230:14 | ExprStmt | | | test.rs:226:37:237:5 | { ... } | test.rs:226:5:237:5 | exit fn test_if_loop2 (normal) | | | test.rs:227:9:236:9 | if ... {...} else {...} | test.rs:226:37:237:5 | { ... } | | -| test.rs:227:13:232:9 | [boolean(false)] 'label: loop { ... } | test.rs:235:13:235:13 | 0 | false | -| test.rs:227:13:232:9 | [boolean(true)] 'label: loop { ... } | test.rs:233:13:233:13 | 1 | true | +| test.rs:227:13:232:9 | 'label: loop { ... } | test.rs:233:13:233:13 | 1 | true | +| test.rs:227:13:232:9 | 'label: loop { ... } | test.rs:235:13:235:13 | 0 | false | | test.rs:227:26:232:9 | { ... } | test.rs:228:13:230:14 | ExprStmt | | | test.rs:228:13:230:13 | if ... {...} | test.rs:231:13:231:19 | ExprStmt | | | test.rs:228:13:230:14 | ExprStmt | test.rs:228:16:228:16 | a | | @@ -537,12 +529,10 @@ edges | test.rs:228:16:228:20 | ... > ... | test.rs:228:13:230:13 | if ... {...} | false | | test.rs:228:16:228:20 | ... > ... | test.rs:229:17:229:36 | ExprStmt | true | | test.rs:228:20:228:20 | 0 | test.rs:228:16:228:20 | ... > ... | | -| test.rs:229:17:229:35 | [boolean(false)] break 'label ... | test.rs:227:13:232:9 | [boolean(false)] 'label: loop { ... } | break | -| test.rs:229:17:229:35 | [boolean(true)] break 'label ... | test.rs:227:13:232:9 | [boolean(true)] 'label: loop { ... } | break | +| test.rs:229:17:229:35 | break 'label ... | test.rs:227:13:232:9 | 'label: loop { ... } | break | | test.rs:229:17:229:36 | ExprStmt | test.rs:229:30:229:30 | a | | | test.rs:229:30:229:30 | a | test.rs:229:34:229:35 | 10 | | -| test.rs:229:30:229:35 | ... > ... | test.rs:229:17:229:35 | [boolean(false)] break 'label ... | false | -| test.rs:229:30:229:35 | ... > ... | test.rs:229:17:229:35 | [boolean(true)] break 'label ... | true | +| test.rs:229:30:229:35 | ... > ... | test.rs:229:17:229:35 | break 'label ... | false, true | | test.rs:229:34:229:35 | 10 | test.rs:229:30:229:35 | ... > ... | | | test.rs:231:13:231:13 | a | test.rs:231:17:231:18 | 10 | | | test.rs:231:13:231:18 | ... < ... | test.rs:227:26:232:9 | { ... } | | @@ -559,14 +549,12 @@ edges | test.rs:239:28:239:33 | ...: i64 | test.rs:241:13:241:31 | ExprStmt | | | test.rs:239:43:247:5 | { ... } | test.rs:239:5:247:5 | exit fn test_labelled_block (normal) | | | test.rs:240:9:246:9 | if ... {...} else {...} | test.rs:239:43:247:5 | { ... } | | -| test.rs:240:13:242:9 | [boolean(false)] 'block: { ... } | test.rs:245:13:245:13 | 0 | false | -| test.rs:240:13:242:9 | [boolean(true)] 'block: { ... } | test.rs:243:13:243:13 | 1 | true | -| test.rs:241:13:241:30 | [boolean(false)] break 'block ... | test.rs:240:13:242:9 | [boolean(false)] 'block: { ... } | break | -| test.rs:241:13:241:30 | [boolean(true)] break 'block ... | test.rs:240:13:242:9 | [boolean(true)] 'block: { ... } | break | +| test.rs:240:13:242:9 | 'block: { ... } | test.rs:243:13:243:13 | 1 | true | +| test.rs:240:13:242:9 | 'block: { ... } | test.rs:245:13:245:13 | 0 | false | +| test.rs:241:13:241:30 | break 'block ... | test.rs:240:13:242:9 | 'block: { ... } | break | | test.rs:241:13:241:31 | ExprStmt | test.rs:241:26:241:26 | a | | | test.rs:241:26:241:26 | a | test.rs:241:30:241:30 | 0 | | -| test.rs:241:26:241:30 | ... > ... | test.rs:241:13:241:30 | [boolean(false)] break 'block ... | false | -| test.rs:241:26:241:30 | ... > ... | test.rs:241:13:241:30 | [boolean(true)] break 'block ... | true | +| test.rs:241:26:241:30 | ... > ... | test.rs:241:13:241:30 | break 'block ... | false, true | | test.rs:241:30:241:30 | 0 | test.rs:241:26:241:30 | ... > ... | | | test.rs:242:12:244:9 | { ... } | test.rs:240:9:246:9 | if ... {...} else {...} | | | test.rs:243:13:243:13 | 1 | test.rs:242:12:244:9 | { ... } | | @@ -584,17 +572,16 @@ edges | test.rs:252:48:252:48 | c | test.rs:252:48:252:54 | ...: bool | match | | test.rs:252:48:252:54 | ...: bool | test.rs:253:9:253:28 | let ... = ... | | | test.rs:252:65:255:5 | { ... } | test.rs:252:5:255:5 | exit fn test_and_operator (normal) | | -| test.rs:253:9:253:28 | let ... = ... | test.rs:253:17:253:17 | a | | +| test.rs:253:9:253:28 | let ... = ... | test.rs:253:17:253:27 | ... && ... | | | test.rs:253:13:253:13 | d | test.rs:253:13:253:13 | d | | | test.rs:253:13:253:13 | d | test.rs:254:9:254:9 | d | match | -| test.rs:253:17:253:17 | a | test.rs:253:17:253:22 | [boolean(false)] ... && ... | false | +| test.rs:253:17:253:17 | a | test.rs:253:13:253:13 | d | false | | test.rs:253:17:253:17 | a | test.rs:253:22:253:22 | b | true | -| test.rs:253:17:253:22 | [boolean(false)] ... && ... | test.rs:253:17:253:27 | ... && ... | false | -| test.rs:253:17:253:22 | [boolean(true)] ... && ... | test.rs:253:27:253:27 | c | true | -| test.rs:253:17:253:27 | ... && ... | test.rs:253:13:253:13 | d | | -| test.rs:253:22:253:22 | b | test.rs:253:17:253:22 | [boolean(false)] ... && ... | false | -| test.rs:253:22:253:22 | b | test.rs:253:17:253:22 | [boolean(true)] ... && ... | true | -| test.rs:253:27:253:27 | c | test.rs:253:17:253:27 | ... && ... | | +| test.rs:253:17:253:22 | ... && ... | test.rs:253:17:253:17 | a | | +| test.rs:253:17:253:27 | ... && ... | test.rs:253:17:253:22 | ... && ... | | +| test.rs:253:22:253:22 | b | test.rs:253:13:253:13 | d | false | +| test.rs:253:22:253:22 | b | test.rs:253:27:253:27 | c | true | +| test.rs:253:27:253:27 | c | test.rs:253:13:253:13 | d | | | test.rs:254:9:254:9 | d | test.rs:252:65:255:5 | { ... } | | | test.rs:257:5:260:5 | enter fn test_or_operator | test.rs:257:25:257:25 | a | | | test.rs:257:5:260:5 | exit fn test_or_operator (normal) | test.rs:257:5:260:5 | exit fn test_or_operator | | @@ -608,17 +595,16 @@ edges | test.rs:257:43:257:43 | c | test.rs:257:43:257:49 | ...: bool | match | | test.rs:257:43:257:49 | ...: bool | test.rs:258:9:258:28 | let ... = ... | | | test.rs:257:60:260:5 | { ... } | test.rs:257:5:260:5 | exit fn test_or_operator (normal) | | -| test.rs:258:9:258:28 | let ... = ... | test.rs:258:17:258:17 | a | | +| test.rs:258:9:258:28 | let ... = ... | test.rs:258:17:258:27 | ... \|\| ... | | | test.rs:258:13:258:13 | d | test.rs:258:13:258:13 | d | | | test.rs:258:13:258:13 | d | test.rs:259:9:259:9 | d | match | -| test.rs:258:17:258:17 | a | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:258:17:258:17 | a | test.rs:258:13:258:13 | d | true | | test.rs:258:17:258:17 | a | test.rs:258:22:258:22 | b | false | -| test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | test.rs:258:27:258:27 | c | false | -| test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | test.rs:258:17:258:27 | ... \|\| ... | true | -| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:13:258:13 | d | | -| test.rs:258:22:258:22 | b | test.rs:258:17:258:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:258:22:258:22 | b | test.rs:258:17:258:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:258:27:258:27 | c | test.rs:258:17:258:27 | ... \|\| ... | | +| test.rs:258:17:258:22 | ... \|\| ... | test.rs:258:17:258:17 | a | | +| test.rs:258:17:258:27 | ... \|\| ... | test.rs:258:17:258:22 | ... \|\| ... | | +| test.rs:258:22:258:22 | b | test.rs:258:13:258:13 | d | true | +| test.rs:258:22:258:22 | b | test.rs:258:27:258:27 | c | false | +| test.rs:258:27:258:27 | c | test.rs:258:13:258:13 | d | | | test.rs:259:9:259:9 | d | test.rs:257:60:260:5 | { ... } | | | test.rs:262:5:265:5 | enter fn test_or_operator_2 | test.rs:262:27:262:27 | a | | | test.rs:262:5:265:5 | exit fn test_or_operator_2 (normal) | test.rs:262:5:265:5 | exit fn test_or_operator_2 | | @@ -632,19 +618,18 @@ edges | test.rs:262:44:262:44 | c | test.rs:262:44:262:50 | ...: bool | match | | test.rs:262:44:262:50 | ...: bool | test.rs:263:9:263:36 | let ... = ... | | | test.rs:262:61:265:5 | { ... } | test.rs:262:5:265:5 | exit fn test_or_operator_2 (normal) | | -| test.rs:263:9:263:36 | let ... = ... | test.rs:263:17:263:17 | a | | +| test.rs:263:9:263:36 | let ... = ... | test.rs:263:17:263:35 | ... \|\| ... | | | test.rs:263:13:263:13 | d | test.rs:263:13:263:13 | d | | | test.rs:263:13:263:13 | d | test.rs:264:9:264:9 | d | match | -| test.rs:263:17:263:17 | a | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:263:17:263:17 | a | test.rs:263:13:263:13 | d | true | | test.rs:263:17:263:17 | a | test.rs:263:23:263:23 | b | false | -| test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | test.rs:263:35:263:35 | c | false | -| test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | test.rs:263:17:263:35 | ... \|\| ... | true | -| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:13:263:13 | d | | +| test.rs:263:17:263:30 | ... \|\| ... | test.rs:263:17:263:17 | a | | +| test.rs:263:17:263:35 | ... \|\| ... | test.rs:263:17:263:30 | ... \|\| ... | | | test.rs:263:23:263:23 | b | test.rs:263:28:263:29 | 28 | | -| test.rs:263:23:263:29 | ... == ... | test.rs:263:17:263:30 | [boolean(false)] ... \|\| ... | false | -| test.rs:263:23:263:29 | ... == ... | test.rs:263:17:263:30 | [boolean(true)] ... \|\| ... | true | +| test.rs:263:23:263:29 | ... == ... | test.rs:263:13:263:13 | d | true | +| test.rs:263:23:263:29 | ... == ... | test.rs:263:35:263:35 | c | false | | test.rs:263:28:263:29 | 28 | test.rs:263:23:263:29 | ... == ... | | -| test.rs:263:35:263:35 | c | test.rs:263:17:263:35 | ... \|\| ... | | +| test.rs:263:35:263:35 | c | test.rs:263:13:263:13 | d | | | test.rs:264:9:264:9 | d | test.rs:262:61:265:5 | { ... } | | | test.rs:267:5:270:5 | enter fn test_not_operator | test.rs:267:26:267:26 | a | | | test.rs:267:5:270:5 | exit fn test_not_operator (normal) | test.rs:267:5:270:5 | exit fn test_not_operator | | @@ -652,11 +637,11 @@ edges | test.rs:267:26:267:26 | a | test.rs:267:26:267:32 | ...: bool | match | | test.rs:267:26:267:32 | ...: bool | test.rs:268:9:268:19 | let ... = ... | | | test.rs:267:43:270:5 | { ... } | test.rs:267:5:270:5 | exit fn test_not_operator (normal) | | -| test.rs:268:9:268:19 | let ... = ... | test.rs:268:18:268:18 | a | | +| test.rs:268:9:268:19 | let ... = ... | test.rs:268:17:268:18 | ! ... | | | test.rs:268:13:268:13 | d | test.rs:268:13:268:13 | d | | | test.rs:268:13:268:13 | d | test.rs:269:9:269:9 | d | match | -| test.rs:268:17:268:18 | ! ... | test.rs:268:13:268:13 | d | | -| test.rs:268:18:268:18 | a | test.rs:268:17:268:18 | ! ... | | +| test.rs:268:17:268:18 | ! ... | test.rs:268:18:268:18 | a | | +| test.rs:268:18:268:18 | a | test.rs:268:13:268:13 | d | | | test.rs:269:9:269:9 | d | test.rs:267:43:270:5 | { ... } | | | test.rs:272:5:278:5 | enter fn test_if_and_operator | test.rs:272:29:272:29 | a | | | test.rs:272:5:278:5 | exit fn test_if_and_operator (normal) | test.rs:272:5:278:5 | exit fn test_if_and_operator | | @@ -668,19 +653,17 @@ edges | test.rs:272:38:272:44 | ...: bool | test.rs:272:47:272:47 | c | | | test.rs:272:47:272:47 | c | test.rs:272:47:272:47 | c | | | test.rs:272:47:272:47 | c | test.rs:272:47:272:53 | ...: bool | match | -| test.rs:272:47:272:53 | ...: bool | test.rs:273:12:273:12 | a | | +| test.rs:272:47:272:53 | ...: bool | test.rs:273:12:273:22 | ... && ... | | | test.rs:272:64:278:5 | { ... } | test.rs:272:5:278:5 | exit fn test_if_and_operator (normal) | | | test.rs:273:9:277:9 | if ... {...} else {...} | test.rs:272:64:278:5 | { ... } | | -| test.rs:273:12:273:12 | a | test.rs:273:12:273:17 | [boolean(false)] ... && ... | false | | test.rs:273:12:273:12 | a | test.rs:273:17:273:17 | b | true | -| test.rs:273:12:273:17 | [boolean(false)] ... && ... | test.rs:273:12:273:22 | [boolean(false)] ... && ... | false | -| test.rs:273:12:273:17 | [boolean(true)] ... && ... | test.rs:273:22:273:22 | c | true | -| test.rs:273:12:273:22 | [boolean(false)] ... && ... | test.rs:276:13:276:17 | false | false | -| test.rs:273:12:273:22 | [boolean(true)] ... && ... | test.rs:274:13:274:16 | true | true | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:17 | [boolean(false)] ... && ... | false | -| test.rs:273:17:273:17 | b | test.rs:273:12:273:17 | [boolean(true)] ... && ... | true | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:22 | [boolean(false)] ... && ... | false | -| test.rs:273:22:273:22 | c | test.rs:273:12:273:22 | [boolean(true)] ... && ... | true | +| test.rs:273:12:273:12 | a | test.rs:276:13:276:17 | false | false | +| test.rs:273:12:273:17 | ... && ... | test.rs:273:12:273:12 | a | | +| test.rs:273:12:273:22 | ... && ... | test.rs:273:12:273:17 | ... && ... | | +| test.rs:273:17:273:17 | b | test.rs:273:22:273:22 | c | true | +| test.rs:273:17:273:17 | b | test.rs:276:13:276:17 | false | false | +| test.rs:273:22:273:22 | c | test.rs:274:13:274:16 | true | true | +| test.rs:273:22:273:22 | c | test.rs:276:13:276:17 | false | false | | test.rs:273:24:275:9 | { ... } | test.rs:273:9:277:9 | if ... {...} else {...} | | | test.rs:274:13:274:16 | true | test.rs:273:24:275:9 | { ... } | | | test.rs:275:16:277:9 | { ... } | test.rs:273:9:277:9 | if ... {...} else {...} | | @@ -695,19 +678,17 @@ edges | test.rs:280:37:280:43 | ...: bool | test.rs:280:46:280:46 | c | | | test.rs:280:46:280:46 | c | test.rs:280:46:280:46 | c | | | test.rs:280:46:280:46 | c | test.rs:280:46:280:52 | ...: bool | match | -| test.rs:280:46:280:52 | ...: bool | test.rs:281:12:281:12 | a | | +| test.rs:280:46:280:52 | ...: bool | test.rs:281:12:281:22 | ... \|\| ... | | | test.rs:280:63:286:5 | { ... } | test.rs:280:5:286:5 | exit fn test_if_or_operator (normal) | | | test.rs:281:9:285:9 | if ... {...} else {...} | test.rs:280:63:286:5 | { ... } | | -| test.rs:281:12:281:12 | a | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | true | | test.rs:281:12:281:12 | a | test.rs:281:17:281:17 | b | false | -| test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | test.rs:281:22:281:22 | c | false | -| test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | true | -| test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | test.rs:284:13:284:17 | false | false | -| test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | test.rs:282:13:282:16 | true | true | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:17 | [boolean(false)] ... \|\| ... | false | -| test.rs:281:17:281:17 | b | test.rs:281:12:281:17 | [boolean(true)] ... \|\| ... | true | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:22 | [boolean(false)] ... \|\| ... | false | -| test.rs:281:22:281:22 | c | test.rs:281:12:281:22 | [boolean(true)] ... \|\| ... | true | +| test.rs:281:12:281:12 | a | test.rs:282:13:282:16 | true | true | +| test.rs:281:12:281:17 | ... \|\| ... | test.rs:281:12:281:12 | a | | +| test.rs:281:12:281:22 | ... \|\| ... | test.rs:281:12:281:17 | ... \|\| ... | | +| test.rs:281:17:281:17 | b | test.rs:281:22:281:22 | c | false | +| test.rs:281:17:281:17 | b | test.rs:282:13:282:16 | true | true | +| test.rs:281:22:281:22 | c | test.rs:282:13:282:16 | true | true | +| test.rs:281:22:281:22 | c | test.rs:284:13:284:17 | false | false | | test.rs:281:24:283:9 | { ... } | test.rs:281:9:285:9 | if ... {...} else {...} | | | test.rs:282:13:282:16 | true | test.rs:281:24:283:9 | { ... } | | | test.rs:283:16:285:9 | { ... } | test.rs:281:9:285:9 | if ... {...} else {...} | | @@ -716,13 +697,12 @@ edges | test.rs:288:5:294:5 | exit fn test_if_not_operator (normal) | test.rs:288:5:294:5 | exit fn test_if_not_operator | | | test.rs:288:29:288:29 | a | test.rs:288:29:288:29 | a | | | test.rs:288:29:288:29 | a | test.rs:288:29:288:35 | ...: bool | match | -| test.rs:288:29:288:35 | ...: bool | test.rs:289:13:289:13 | a | | +| test.rs:288:29:288:35 | ...: bool | test.rs:289:12:289:13 | ! ... | | | test.rs:288:46:294:5 | { ... } | test.rs:288:5:294:5 | exit fn test_if_not_operator (normal) | | | test.rs:289:9:293:9 | if ... {...} else {...} | test.rs:288:46:294:5 | { ... } | | -| test.rs:289:12:289:13 | [boolean(false)] ! ... | test.rs:292:13:292:17 | false | false | -| test.rs:289:12:289:13 | [boolean(true)] ! ... | test.rs:290:13:290:16 | true | true | -| test.rs:289:13:289:13 | a | test.rs:289:12:289:13 | [boolean(false)] ! ... | true | -| test.rs:289:13:289:13 | a | test.rs:289:12:289:13 | [boolean(true)] ! ... | false | +| test.rs:289:12:289:13 | ! ... | test.rs:289:13:289:13 | a | | +| test.rs:289:13:289:13 | a | test.rs:290:13:290:16 | true | true | +| test.rs:289:13:289:13 | a | test.rs:292:13:292:17 | false | false | | test.rs:289:15:291:9 | { ... } | test.rs:289:9:293:9 | if ... {...} else {...} | | | test.rs:290:13:290:16 | true | test.rs:289:15:291:9 | { ... } | | | test.rs:291:16:293:9 | { ... } | test.rs:289:9:293:9 | if ... {...} else {...} | | @@ -733,10 +713,10 @@ edges | test.rs:296:24:296:24 | a | test.rs:296:24:296:30 | ...: bool | match | | test.rs:296:24:296:30 | ...: bool | test.rs:297:9:297:20 | ExprStmt | | | test.rs:296:33:298:5 | { ... } | test.rs:296:5:298:5 | exit fn test_and_return (normal) | | -| test.rs:297:9:297:9 | a | test.rs:297:9:297:19 | ... && ... | false | +| test.rs:297:9:297:9 | a | test.rs:296:33:298:5 | { ... } | false | | test.rs:297:9:297:9 | a | test.rs:297:14:297:19 | return | true | -| test.rs:297:9:297:19 | ... && ... | test.rs:296:33:298:5 | { ... } | | -| test.rs:297:9:297:20 | ExprStmt | test.rs:297:9:297:9 | a | | +| test.rs:297:9:297:19 | ... && ... | test.rs:297:9:297:9 | a | | +| test.rs:297:9:297:20 | ExprStmt | test.rs:297:9:297:19 | ... && ... | | | test.rs:297:14:297:19 | return | test.rs:296:5:298:5 | exit fn test_and_return (normal) | return | | test.rs:300:5:305:5 | enter fn test_and_true | test.rs:300:22:300:22 | a | | | test.rs:300:5:305:5 | exit fn test_and_true (normal) | test.rs:300:5:305:5 | exit fn test_and_true | | @@ -744,13 +724,12 @@ edges | test.rs:300:22:300:22 | a | test.rs:300:22:300:28 | ...: bool | match | | test.rs:300:22:300:28 | ...: bool | test.rs:301:9:303:9 | ExprStmt | | | test.rs:300:38:305:5 | { ... } | test.rs:300:5:305:5 | exit fn test_and_true (normal) | | -| test.rs:301:9:303:9 | ExprStmt | test.rs:301:13:301:13 | a | | +| test.rs:301:9:303:9 | ExprStmt | test.rs:301:13:301:21 | ... && ... | | | test.rs:301:9:303:9 | if ... {...} | test.rs:304:9:304:9 | 0 | | -| test.rs:301:13:301:13 | a | test.rs:301:13:301:21 | [boolean(false)] ... && ... | false | +| test.rs:301:13:301:13 | a | test.rs:301:9:303:9 | if ... {...} | false | | test.rs:301:13:301:13 | a | test.rs:301:18:301:21 | true | true | -| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:301:9:303:9 | if ... {...} | false | -| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:302:13:302:21 | ExprStmt | true | -| test.rs:301:18:301:21 | true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | true | +| test.rs:301:13:301:21 | ... && ... | test.rs:301:13:301:13 | a | | +| test.rs:301:18:301:21 | true | test.rs:302:13:302:21 | ExprStmt | true | | test.rs:302:13:302:20 | return 1 | test.rs:300:5:305:5 | exit fn test_and_true (normal) | return | | test.rs:302:13:302:21 | ExprStmt | test.rs:302:20:302:20 | 1 | | | test.rs:302:20:302:20 | 1 | test.rs:302:13:302:20 | return 1 | | @@ -851,21 +830,20 @@ edges | test.rs:345:23:345:32 | ...: bool | test.rs:345:35:345:35 | r | | | test.rs:345:35:345:35 | r | test.rs:345:35:345:35 | r | | | test.rs:345:35:345:35 | r | test.rs:345:35:345:49 | ...: Option::<...> | match | -| test.rs:345:35:345:49 | ...: Option::<...> | test.rs:346:16:346:16 | r | | +| test.rs:345:35:345:49 | ...: Option::<...> | test.rs:346:9:349:18 | ... && ... | | | test.rs:345:60:350:5 | { ... } | test.rs:345:5:350:5 | exit fn test_match_and (normal) | | -| test.rs:346:9:349:18 | ... && ... | test.rs:345:60:350:5 | { ... } | | -| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:346:9:349:18 | ... && ... | false | -| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:349:15:349:18 | cond | true | +| test.rs:346:9:349:18 | ... && ... | test.rs:346:16:346:16 | r | | +| test.rs:346:10:349:9 | match r { ... } | test.rs:345:60:350:5 | { ... } | false | +| test.rs:346:10:349:9 | match r { ... } | test.rs:349:15:349:18 | cond | true | | test.rs:346:16:346:16 | r | test.rs:347:13:347:19 | Some(...) | | | test.rs:347:13:347:19 | Some(...) | test.rs:347:18:347:18 | a | match | | test.rs:347:13:347:19 | Some(...) | test.rs:348:13:348:13 | _ | no-match | | test.rs:347:18:347:18 | a | test.rs:347:18:347:18 | a | | | test.rs:347:18:347:18 | a | test.rs:347:24:347:24 | a | match | -| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false | -| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true | +| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | match r { ... } | false, true | | test.rs:348:13:348:13 | _ | test.rs:348:18:348:22 | false | match | -| test.rs:348:18:348:22 | false | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false | -| test.rs:349:15:349:18 | cond | test.rs:346:9:349:18 | ... && ... | | +| test.rs:348:18:348:22 | false | test.rs:346:10:349:9 | match r { ... } | false | +| test.rs:349:15:349:18 | cond | test.rs:345:60:350:5 | { ... } | | | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:352:35:352:35 | r | | | test.rs:352:5:357:5 | exit fn test_match_with_no_arms (normal) | test.rs:352:5:357:5 | exit fn test_match_with_no_arms | | | test.rs:352:35:352:35 | r | test.rs:352:35:352:35 | r | | @@ -1082,15 +1060,14 @@ edges | test.rs:434:9:437:9 | match a { ... } | test.rs:433:34:438:5 | { ... } | | | test.rs:434:15:434:15 | a | test.rs:435:13:435:13 | 0 | | | test.rs:435:13:435:13 | 0 | test.rs:435:13:435:13 | 0 | | -| test.rs:435:13:435:13 | 0 | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | match | +| test.rs:435:13:435:13 | 0 | test.rs:435:13:435:21 | 0 \| 1 \| 2 | match | | test.rs:435:13:435:13 | 0 | test.rs:435:17:435:17 | 1 | no-match | -| test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | test.rs:436:13:436:13 | _ | no-match | -| test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | test.rs:435:26:435:26 | 3 | match | -| test.rs:435:17:435:17 | 1 | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | match | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:435:26:435:26 | 3 | match | +| test.rs:435:13:435:21 | 0 \| 1 \| 2 | test.rs:436:13:436:13 | _ | no-match | +| test.rs:435:17:435:17 | 1 | test.rs:435:13:435:21 | 0 \| 1 \| 2 | match | | test.rs:435:17:435:17 | 1 | test.rs:435:17:435:17 | 1 | | | test.rs:435:17:435:17 | 1 | test.rs:435:21:435:21 | 2 | no-match | -| test.rs:435:21:435:21 | 2 | test.rs:435:13:435:21 | [match(false)] 0 \| 1 \| 2 | no-match | -| test.rs:435:21:435:21 | 2 | test.rs:435:13:435:21 | [match(true)] 0 \| 1 \| 2 | match | +| test.rs:435:21:435:21 | 2 | test.rs:435:13:435:21 | 0 \| 1 \| 2 | match, no-match | | test.rs:435:21:435:21 | 2 | test.rs:435:21:435:21 | 2 | | | test.rs:435:26:435:26 | 3 | test.rs:434:9:437:9 | match a { ... } | | | test.rs:436:13:436:13 | _ | test.rs:436:18:436:18 | 4 | match | @@ -1126,13 +1103,12 @@ edges | test.rs:454:9:457:9 | match a { ... } | test.rs:453:36:458:5 | { ... } | | | test.rs:454:15:454:15 | a | test.rs:455:13:455:25 | MacroPat | | | test.rs:455:13:455:23 | 1 | test.rs:455:13:455:23 | 1 | | +| test.rs:455:13:455:23 | 1 | test.rs:455:13:455:23 | 1 \| 2 | match | | test.rs:455:13:455:23 | 1 | test.rs:455:13:455:23 | 2 | no-match | -| test.rs:455:13:455:23 | 1 | test.rs:455:13:455:23 | [match(true)] 1 \| 2 | match | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:455:30:455:30 | 3 | match | +| test.rs:455:13:455:23 | 1 \| 2 | test.rs:456:13:456:13 | _ | no-match | +| test.rs:455:13:455:23 | 2 | test.rs:455:13:455:23 | 1 \| 2 | match, no-match | | test.rs:455:13:455:23 | 2 | test.rs:455:13:455:23 | 2 | | -| test.rs:455:13:455:23 | 2 | test.rs:455:13:455:23 | [match(false)] 1 \| 2 | no-match | -| test.rs:455:13:455:23 | 2 | test.rs:455:13:455:23 | [match(true)] 1 \| 2 | match | -| test.rs:455:13:455:23 | [match(false)] 1 \| 2 | test.rs:456:13:456:13 | _ | no-match | -| test.rs:455:13:455:23 | [match(true)] 1 \| 2 | test.rs:455:30:455:30 | 3 | match | | test.rs:455:13:455:25 | MacroPat | test.rs:455:13:455:23 | 1 | match | | test.rs:455:30:455:30 | 3 | test.rs:454:9:457:9 | match a { ... } | | | test.rs:456:13:456:13 | _ | test.rs:456:18:456:18 | 4 | match | @@ -1305,13 +1281,12 @@ edges | test.rs:533:13:533:19 | { ... } | test.rs:533:21:533:48 | if ... {...} | | | test.rs:533:13:533:49 | MacroExpr | test.rs:532:9:534:9 | { ... } | | | test.rs:533:13:533:49 | assert!... | test.rs:533:13:533:49 | MacroExpr | | -| test.rs:533:13:533:50 | ExprStmt | test.rs:533:21:533:42 | ...::size_of::<...> | | +| test.rs:533:13:533:50 | ExprStmt | test.rs:533:21:533:48 | ! ... | | | test.rs:533:21:533:42 | ...::size_of::<...> | test.rs:533:21:533:44 | ...::size_of::<...>(...) | | | test.rs:533:21:533:44 | ...::size_of::<...>(...) | test.rs:533:48:533:48 | 0 | | -| test.rs:533:21:533:48 | ... > ... | test.rs:533:21:533:48 | [boolean(false)] ! ... | true | -| test.rs:533:21:533:48 | ... > ... | test.rs:533:21:533:48 | [boolean(true)] ! ... | false | -| test.rs:533:21:533:48 | [boolean(false)] ! ... | test.rs:533:21:533:48 | if ... {...} | false | -| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:13:533:19 | ExprStmt | true | +| test.rs:533:21:533:48 | ! ... | test.rs:533:21:533:42 | ...::size_of::<...> | | +| test.rs:533:21:533:48 | ... > ... | test.rs:533:13:533:19 | ExprStmt | true | +| test.rs:533:21:533:48 | ... > ... | test.rs:533:21:533:48 | if ... {...} | false | | test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | { ... } | | | test.rs:533:21:533:48 | { ... } | test.rs:533:13:533:49 | assert!... | | | test.rs:533:21:533:48 | { ... } | test.rs:533:21:533:48 | { ... } | |