mirror of
https://github.com/github/codeql.git
synced 2026-04-18 05:24:01 +02:00
Merge pull request #18754 from paldepind/rust-ref-pattern
Rust ref pattern
This commit is contained in:
2
rust/ql/.generated.list
generated
2
rust/ql/.generated.list
generated
@@ -1,4 +1,4 @@
|
||||
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 8067b2d0a930b90b430c0b6d47709f924305492317a7baed92011c37176dbc21 25e598a69493a9d21b2f5dc676c73578287f3659601a1fe19f7afd0c4bba2cc0
|
||||
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 8ae91a389c7f4b080b1031c003c00c84f479438990be69035d8175ea97a47814 7dc9f38a3d04b6be54e39cf4ea0eac1d8f2a293982be76aaf1cd1649bd54aea0
|
||||
lib/codeql/rust/elements/Abi.qll 4c973d28b6d628f5959d1f1cc793704572fd0acaae9a97dfce82ff9d73f73476 250f68350180af080f904cd34cb2af481c5c688dc93edf7365fd0ae99855e893
|
||||
lib/codeql/rust/elements/Addressable.qll 13011bfd2e1556694c3d440cc34af8527da4df49ad92b62f2939d3699ff2cea5 ddb25935f7553a1a384b1abe2e4b4fa90ab50b952dadec32fd867afcb054f4be
|
||||
lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8cf11bedd628969741486a2 28e424aac01a90fb58cd6f9f83c7e4cf379eea39e636bc0ba07efc818be71c71
|
||||
|
||||
@@ -648,8 +648,12 @@ module PatternTrees {
|
||||
|
||||
abstract class PostOrderPatTree extends StandardPatTree, StandardPostOrderTree { }
|
||||
|
||||
class IdentPatTree extends PostOrderPatTree, IdentPat {
|
||||
override Pat getPat(int i) { i = 0 and result = this.getPat() }
|
||||
class IdentPatTree extends PostOrderTree, IdentPat {
|
||||
override predicate first(AstNode node) {
|
||||
first(this.getPat(), node)
|
||||
or
|
||||
not this.hasPat() and node = this.getName()
|
||||
}
|
||||
|
||||
override predicate last(AstNode node, Completion c) {
|
||||
super.last(node, c)
|
||||
@@ -658,8 +662,16 @@ module PatternTrees {
|
||||
}
|
||||
|
||||
override predicate succ(AstNode pred, AstNode succ, Completion c) {
|
||||
super.succ(pred, succ, c) and c.(MatchCompletion).succeeded()
|
||||
// Edge from successful subpattern to name
|
||||
last(this.getPat(), pred, c) and
|
||||
first(this.getName(), succ) and
|
||||
c.(MatchCompletion).succeeded()
|
||||
or
|
||||
// Edge from name to the identifier pattern itself
|
||||
last(this.getName(), pred, c) and succ = this and completionIsNormal(c)
|
||||
}
|
||||
|
||||
override predicate propagatesAbnormal(AstNode child) { child = this.getPat() }
|
||||
}
|
||||
|
||||
class BoxPatTree extends PreOrderPatTree, BoxPat {
|
||||
|
||||
@@ -1026,6 +1026,8 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
none()
|
||||
or
|
||||
child = this.getExpr()
|
||||
or
|
||||
child = this.getName()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1058,7 +1060,9 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
/**
|
||||
* Gets the name of this format arguments argument, if it exists.
|
||||
*/
|
||||
Name getName() { result = node.getName() }
|
||||
NameCfgNode getName() {
|
||||
any(ChildMapping mapping).hasCfgChild(node, node.getName(), this, result)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getName()` exists.
|
||||
@@ -1175,6 +1179,8 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
override predicate relevantChild(AstNode child) {
|
||||
none()
|
||||
or
|
||||
child = this.getName()
|
||||
or
|
||||
child = this.getPat()
|
||||
}
|
||||
}
|
||||
@@ -1230,7 +1236,9 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
/**
|
||||
* Gets the name of this ident pattern, if it exists.
|
||||
*/
|
||||
Name getName() { result = node.getName() }
|
||||
NameCfgNode getName() {
|
||||
any(ChildMapping mapping).hasCfgChild(node, node.getName(), this, result)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getName()` exists.
|
||||
@@ -2017,6 +2025,35 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
predicate hasReceiver() { exists(this.getReceiver()) }
|
||||
}
|
||||
|
||||
final private class ParentName extends ParentAstNode, Name {
|
||||
override predicate relevantChild(AstNode child) { none() }
|
||||
}
|
||||
|
||||
/**
|
||||
* A Name. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
*/
|
||||
final class NameCfgNode extends CfgNodeFinal {
|
||||
private Name node;
|
||||
|
||||
NameCfgNode() { node = this.getAstNode() }
|
||||
|
||||
/** Gets the underlying `Name`. */
|
||||
Name getName() { result = node }
|
||||
|
||||
/**
|
||||
* Gets the text of this name, if it exists.
|
||||
*/
|
||||
string getText() { result = node.getText() }
|
||||
|
||||
/**
|
||||
* Holds if `getText()` exists.
|
||||
*/
|
||||
predicate hasText() { exists(this.getText()) }
|
||||
}
|
||||
|
||||
final private class ParentOffsetOfExpr extends ParentAstNode, OffsetOfExpr {
|
||||
override predicate relevantChild(AstNode child) { none() }
|
||||
}
|
||||
@@ -2758,7 +2795,11 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
}
|
||||
|
||||
final private class ParentSelfParam extends ParentAstNode, SelfParam {
|
||||
override predicate relevantChild(AstNode child) { none() }
|
||||
override predicate relevantChild(AstNode child) {
|
||||
none()
|
||||
or
|
||||
child = this.getName()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2805,7 +2846,9 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
/**
|
||||
* Gets the name of this self parameter, if it exists.
|
||||
*/
|
||||
Name getName() { result = node.getName() }
|
||||
NameCfgNode getName() {
|
||||
any(ChildMapping mapping).hasCfgChild(node, node.getName(), this, result)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getName()` exists.
|
||||
@@ -3465,6 +3508,18 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getName" and
|
||||
parent =
|
||||
any(Nodes::FormatArgsArgCfgNode cfgNode, FormatArgsArg astNode |
|
||||
astNode = cfgNode.getFormatArgsArg() and
|
||||
child = getDesugared(astNode.getName()) and
|
||||
i = -1 and
|
||||
hasCfgNode(child) and
|
||||
not child = cfgNode.getName().getAstNode()
|
||||
|
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getArg" and
|
||||
parent =
|
||||
any(Nodes::FormatArgsExprCfgNode cfgNode, FormatArgsExpr astNode |
|
||||
@@ -3488,6 +3543,18 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getName" and
|
||||
parent =
|
||||
any(Nodes::IdentPatCfgNode cfgNode, IdentPat astNode |
|
||||
astNode = cfgNode.getIdentPat() and
|
||||
child = getDesugared(astNode.getName()) and
|
||||
i = -1 and
|
||||
hasCfgNode(child) and
|
||||
not child = cfgNode.getName().getAstNode()
|
||||
|
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getPat" and
|
||||
parent =
|
||||
any(Nodes::IdentPatCfgNode cfgNode, IdentPat astNode |
|
||||
@@ -3799,6 +3866,18 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getName" and
|
||||
parent =
|
||||
any(Nodes::SelfParamCfgNode cfgNode, SelfParam astNode |
|
||||
astNode = cfgNode.getSelfParam() and
|
||||
child = getDesugared(astNode.getName()) and
|
||||
i = -1 and
|
||||
hasCfgNode(child) and
|
||||
not child = cfgNode.getName().getAstNode()
|
||||
|
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getPat" and
|
||||
parent =
|
||||
any(Nodes::SlicePatCfgNode cfgNode, SlicePat astNode |
|
||||
|
||||
@@ -195,7 +195,7 @@ module Ssa {
|
||||
)
|
||||
or
|
||||
exists(LetStmtCfgNode ls |
|
||||
ls.getPat() = write and
|
||||
ls.getPat().(IdentPatCfgNode).getName() = write and
|
||||
ls.getInitializer() = value
|
||||
)
|
||||
}
|
||||
|
||||
@@ -292,6 +292,15 @@ module Node {
|
||||
override PatCfgNode asPat() { result = n }
|
||||
}
|
||||
|
||||
/** A data flow node that corresponds to a name node in the CFG. */
|
||||
final class NameNode extends AstCfgFlowNode, TNameNode {
|
||||
override NameCfgNode n;
|
||||
|
||||
NameNode() { this = TNameNode(n) }
|
||||
|
||||
NameCfgNode asName() { result = n }
|
||||
}
|
||||
|
||||
/**
|
||||
* The value of a parameter at function entry, viewed as a node in a data
|
||||
* flow graph.
|
||||
@@ -603,11 +612,23 @@ module LocalFlow {
|
||||
predicate localFlowStepCommon(Node nodeFrom, Node nodeTo) {
|
||||
nodeFrom.getCfgNode() = getALastEvalNode(nodeTo.getCfgNode())
|
||||
or
|
||||
// An edge from the right-hand side of a let statement to the left-hand side.
|
||||
exists(LetStmtCfgNode s |
|
||||
nodeFrom.getCfgNode() = s.getInitializer() and
|
||||
nodeTo.getCfgNode() = s.getPat()
|
||||
)
|
||||
or
|
||||
exists(IdentPatCfgNode p |
|
||||
not p.isRef() and
|
||||
nodeFrom.getCfgNode() = p and
|
||||
nodeTo.getCfgNode() = p.getName()
|
||||
)
|
||||
or
|
||||
exists(SelfParamCfgNode self |
|
||||
nodeFrom.getCfgNode() = self and
|
||||
nodeTo.getCfgNode() = self.getName()
|
||||
)
|
||||
or
|
||||
// An edge from a pattern/expression to its corresponding SSA definition.
|
||||
nodeFrom.(Node::AstCfgFlowNode).getCfgNode() =
|
||||
nodeTo.(Node::SsaNode).getDefinitionExt().(Ssa::WriteDefinition).getControlFlowNode()
|
||||
@@ -1285,6 +1306,14 @@ module RustDataFlow implements InputSig<Location> {
|
||||
node2.asExpr().(ArrayListExprCfgNode).getAnExpr()
|
||||
]
|
||||
or
|
||||
// Store from a `ref` identifier pattern into the contained name.
|
||||
exists(IdentPatCfgNode p |
|
||||
c instanceof ReferenceContent and
|
||||
p.isRef() and
|
||||
node1.asPat() = p and
|
||||
node2.(Node::NameNode).asName() = p.getName()
|
||||
)
|
||||
or
|
||||
fieldAssignment(node1, node2.(PostUpdateNode).getPreUpdateNode(), c)
|
||||
or
|
||||
referenceAssignment(node1, node2.(PostUpdateNode).getPreUpdateNode(), c)
|
||||
@@ -1579,6 +1608,7 @@ private module Cached {
|
||||
TExprNode(ExprCfgNode n) { Stages::DataFlowStage::ref() } or
|
||||
TSourceParameterNode(ParamBaseCfgNode p) or
|
||||
TPatNode(PatCfgNode p) or
|
||||
TNameNode(NameCfgNode n) { n.getName() = any(Variable v).getName() } or
|
||||
TExprPostUpdateNode(ExprCfgNode e) {
|
||||
isArgumentForCall(e, _, _) or
|
||||
lambdaCallExpr(_, _, e) or
|
||||
|
||||
@@ -7,25 +7,25 @@ private import Cfg
|
||||
private import codeql.rust.controlflow.internal.ControlFlowGraphImpl as ControlFlowGraphImpl
|
||||
private import codeql.ssa.Ssa as SsaImplCommon
|
||||
|
||||
/** Holds if `v` is introduced like `let v : i64;`. */
|
||||
private predicate isUnitializedLet(IdentPat pat, Variable v) {
|
||||
pat = v.getPat() and
|
||||
/**
|
||||
* Holds if `name` occurs in the left-hand side of an uninitialized let
|
||||
* statement such as in `let name : i64;`.
|
||||
*/
|
||||
private predicate isInUninitializedLet(Name name) {
|
||||
exists(LetStmt let |
|
||||
let = v.getLetStmt() and
|
||||
let.getPat().(IdentPat).getName() = name and
|
||||
not let.hasInitializer()
|
||||
)
|
||||
}
|
||||
|
||||
/** Holds if `write` writes to variable `v`. */
|
||||
predicate variableWrite(AstNode write, Variable v) {
|
||||
exists(IdentPat pat |
|
||||
pat = write and
|
||||
pat = v.getPat() and
|
||||
not isUnitializedLet(pat, v)
|
||||
exists(Name name |
|
||||
name = write and
|
||||
name = v.getName() and
|
||||
not isInUninitializedLet(name)
|
||||
)
|
||||
or
|
||||
exists(SelfParam self | self = write and self = v.getSelfParam())
|
||||
or
|
||||
exists(VariableAccess access |
|
||||
access = write and
|
||||
access.getVariable() = v
|
||||
|
||||
@@ -62,8 +62,8 @@ module Impl {
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `p` declares a variable named `name` at `definingNode`. Normally,
|
||||
* `definingNode = p`, except in cases like
|
||||
* Holds if `name` declares a variable named `text` at `definingNode`.
|
||||
* Normally, `definingNode = name`, except in cases like
|
||||
*
|
||||
* ```rust
|
||||
* match either {
|
||||
@@ -74,58 +74,67 @@ module Impl {
|
||||
* where `definingNode` is the entire `Either::Left(x) | Either::Right(x)`
|
||||
* pattern.
|
||||
*/
|
||||
private predicate variableDecl(AstNode definingNode, AstNode p, string name) {
|
||||
p =
|
||||
any(SelfParam sp |
|
||||
definingNode = sp.getName() and
|
||||
name = sp.getName().getText() and
|
||||
private predicate variableDecl(AstNode definingNode, Name name, string text) {
|
||||
(
|
||||
exists(SelfParam sp |
|
||||
name = sp.getName() and
|
||||
definingNode = name and
|
||||
text = name.getText() and
|
||||
// exclude self parameters from functions without a body as these are
|
||||
// trait method declarations without implementations
|
||||
not exists(Function f | not f.hasBody() and f.getParamList().getSelfParam() = sp)
|
||||
)
|
||||
or
|
||||
p =
|
||||
any(IdentPat pat |
|
||||
or
|
||||
exists(IdentPat pat |
|
||||
name = pat.getName() and
|
||||
(
|
||||
definingNode = getOutermostEnclosingOrPat(pat)
|
||||
or
|
||||
not exists(getOutermostEnclosingOrPat(pat)) and definingNode = pat.getName()
|
||||
not exists(getOutermostEnclosingOrPat(pat)) and definingNode = name
|
||||
) and
|
||||
name = pat.getName().getText() and
|
||||
text = name.getText() and
|
||||
// exclude for now anything starting with an uppercase character, which may be a reference to
|
||||
// an enum constant (e.g. `None`). This excludes static and constant variables (UPPERCASE),
|
||||
// which we don't appear to recognize yet anyway. This also assumes programmers follow the
|
||||
// naming guidelines, which they generally do, but they're not enforced.
|
||||
not name.charAt(0).isUppercase() and
|
||||
not text.charAt(0).isUppercase() and
|
||||
// exclude parameters from functions without a body as these are trait method declarations
|
||||
// without implementations
|
||||
not exists(Function f | not f.hasBody() and f.getParamList().getAParam().getPat() = pat) and
|
||||
// exclude parameters from function pointer types (e.g. `x` in `fn(x: i32) -> i32`)
|
||||
not exists(FnPtrTypeRepr fp | fp.getParamList().getParam(_).getPat() = pat)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/** A variable. */
|
||||
class Variable extends MkVariable {
|
||||
private AstNode definingNode;
|
||||
private string name;
|
||||
private string text;
|
||||
|
||||
Variable() { this = MkVariable(definingNode, name) }
|
||||
Variable() { this = MkVariable(definingNode, text) }
|
||||
|
||||
/** Gets the name of this variable. */
|
||||
string getName() { result = name }
|
||||
/** Gets the name of this variable as a string. */
|
||||
string getText() { result = text }
|
||||
|
||||
/** Gets the location of this variable. */
|
||||
Location getLocation() { result = definingNode.getLocation() }
|
||||
|
||||
/** Gets a textual representation of this variable. */
|
||||
string toString() { result = this.getName() }
|
||||
string toString() { result = this.getText() }
|
||||
|
||||
/** Gets an access to this variable. */
|
||||
VariableAccess getAnAccess() { result.getVariable() = this }
|
||||
|
||||
/** Gets the `self` parameter that declares this variable, if one exists. */
|
||||
SelfParam getSelfParam() { variableDecl(definingNode, result, name) }
|
||||
/**
|
||||
* Get the name of this variable.
|
||||
*
|
||||
* Normally, the name is unique, except when introduced in an or pattern.
|
||||
*/
|
||||
Name getName() { variableDecl(definingNode, result, text) }
|
||||
|
||||
/** Gets the `self` parameter that declares this variable, if any. */
|
||||
SelfParam getSelfParam() { result.getName() = this.getName() }
|
||||
|
||||
/**
|
||||
* Gets the pattern that declares this variable, if any.
|
||||
@@ -138,7 +147,7 @@ module Impl {
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
IdentPat getPat() { variableDecl(definingNode, result, name) }
|
||||
IdentPat getPat() { result.getName() = this.getName() }
|
||||
|
||||
/** Gets the enclosing CFG scope for this variable declaration. */
|
||||
CfgScope getEnclosingCfgScope() { result = definingNode.getEnclosingCfgScope() }
|
||||
@@ -204,6 +213,10 @@ module Impl {
|
||||
/** Gets the immediately enclosing variable scope of `n`. */
|
||||
private VariableScope getEnclosingScope(AstNode n) { result = getAnAncestorInVariableScope(n) }
|
||||
|
||||
/**
|
||||
* Get all the pattern ancestors of this variable up to an including the
|
||||
* root of the pattern.
|
||||
*/
|
||||
private Pat getAVariablePatAncestor(Variable v) {
|
||||
result = v.getPat()
|
||||
or
|
||||
@@ -322,7 +335,7 @@ module Impl {
|
||||
* all nodes nester under `scope`, is `ord`.
|
||||
*/
|
||||
private predicate variableDeclInScope(Variable v, VariableScope scope, string name, int ord) {
|
||||
name = v.getName() and
|
||||
name = v.getText() and
|
||||
(
|
||||
parameterDeclInScope(v, scope) and
|
||||
ord = getPreOrderNumbering(scope, scope)
|
||||
|
||||
@@ -60,7 +60,7 @@ private class SensitiveDataVariable extends Variable {
|
||||
SensitiveDataClassification classification;
|
||||
|
||||
SensitiveDataVariable() {
|
||||
HeuristicNames::nameIndicatesSensitiveData(this.getName(), classification)
|
||||
HeuristicNames::nameIndicatesSensitiveData(this.getText(), classification)
|
||||
}
|
||||
|
||||
SensitiveDataClassification getClassification() { result = classification }
|
||||
|
||||
@@ -22,4 +22,4 @@ where
|
||||
not isUnused(v) and
|
||||
not v instanceof DiscardVariable and
|
||||
not write.isInMacroExpansion()
|
||||
select write, "Variable $@ is assigned a value that is never used.", v, v.getName()
|
||||
select write, "Variable $@ is assigned a value that is never used.", v, v.getText()
|
||||
|
||||
@@ -4,7 +4,7 @@ import rust
|
||||
* A deliberately unused variable, for example `_` or `_x`.
|
||||
*/
|
||||
class DiscardVariable extends Variable {
|
||||
DiscardVariable() { this.getName().charAt(0) = "_" }
|
||||
DiscardVariable() { this.getText().charAt(0) = "_" }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -25,5 +25,5 @@ predicate isAllowableUnused(Variable v) {
|
||||
v.getPat().isInMacroExpansion()
|
||||
or
|
||||
// a 'self' variable
|
||||
v.getName() = "self"
|
||||
v.getText() = "self"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
edges
|
||||
| test.rs:5:5:11:5 | enter fn test_and_if_let | test.rs:5:24:5:24 | a | |
|
||||
| test.rs:5:5:11:5 | exit fn test_and_if_let (normal) | test.rs:5:5:11:5 | exit fn test_and_if_let | |
|
||||
| test.rs:5:24:5:24 | a | test.rs:5:24:5:24 | a | |
|
||||
| test.rs:5:24:5:24 | a | test.rs:5:24:5:30 | ...: bool | match |
|
||||
| test.rs:5:24:5:30 | ...: bool | test.rs:5:33:5:33 | b | |
|
||||
| test.rs:5:33:5:33 | b | test.rs:5:33:5:33 | b | |
|
||||
| test.rs:5:33:5:33 | b | test.rs:5:33:5:47 | ...: Option::<...> | match |
|
||||
| test.rs:5:33:5:47 | ...: Option::<...> | test.rs:5:50:5:50 | c | |
|
||||
| test.rs:5:50:5:50 | c | test.rs:5:50:5:50 | c | |
|
||||
| test.rs:5:50:5:50 | c | test.rs:5:50:5:56 | ...: bool | match |
|
||||
| test.rs:5:50:5:56 | ...: bool | test.rs:6:12:6:12 | a | |
|
||||
| test.rs:5:67:11:5 | { ... } | test.rs:5:5:11:5 | exit fn test_and_if_let (normal) | |
|
||||
@@ -17,6 +20,7 @@ edges
|
||||
| test.rs:6:21:6:27 | Some(...) | test.rs:6:12:6:31 | [boolean(false)] ... && ... | no-match |
|
||||
| test.rs:6:21:6:27 | Some(...) | test.rs:6:26:6:26 | d | match |
|
||||
| test.rs:6:26:6:26 | d | test.rs:6:12:6:31 | [boolean(true)] ... && ... | match |
|
||||
| test.rs:6:26:6:26 | d | test.rs:6:26:6:26 | d | |
|
||||
| test.rs:6:31:6:31 | b | test.rs:6:21:6:27 | Some(...) | |
|
||||
| test.rs:6:33:8:9 | { ... } | test.rs:6:9:10:9 | if ... {...} else {...} | |
|
||||
| test.rs:7:13:7:13 | d | test.rs:6:33:8:9 | { ... } | |
|
||||
@@ -24,10 +28,13 @@ edges
|
||||
| test.rs:9:13:9:17 | false | test.rs:8:16:10:9 | { ... } | |
|
||||
| test.rs:13:5:21:5 | enter fn test_and_if_let2 | test.rs:13:25:13:25 | a | |
|
||||
| test.rs:13:5:21:5 | exit fn test_and_if_let2 (normal) | test.rs:13:5:21:5 | exit fn test_and_if_let2 | |
|
||||
| test.rs:13:25:13:25 | a | test.rs:13:25:13:25 | a | |
|
||||
| test.rs:13:25:13:25 | a | test.rs:13:25:13:31 | ...: bool | match |
|
||||
| test.rs:13:25:13:31 | ...: bool | test.rs:13:34:13:34 | b | |
|
||||
| test.rs:13:34:13:34 | b | test.rs:13:34:13:34 | b | |
|
||||
| test.rs:13:34:13:34 | b | test.rs:13:34:13:39 | ...: i64 | match |
|
||||
| test.rs:13:34:13:39 | ...: i64 | test.rs:13:42:13:42 | c | |
|
||||
| test.rs:13:42:13:42 | c | test.rs:13:42:13:42 | c | |
|
||||
| test.rs:13:42:13:42 | c | test.rs:13:42:13:48 | ...: bool | match |
|
||||
| test.rs:13:42:13:48 | ...: bool | test.rs:14:12:14:12 | a | |
|
||||
| test.rs:13:59:21:5 | { ... } | test.rs:13:5:21:5 | exit fn test_and_if_let2 (normal) | |
|
||||
@@ -40,6 +47,7 @@ edges
|
||||
| test.rs:14:12:15:16 | [boolean(true)] ... && ... | test.rs:17:13:17:13 | d | true |
|
||||
| test.rs:14:17:14:25 | let ... = b | test.rs:14:25:14:25 | b | |
|
||||
| test.rs:14:21:14:21 | d | test.rs:14:12:14:25 | [boolean(true)] ... && ... | match |
|
||||
| test.rs:14:21:14:21 | d | test.rs:14:21:14:21 | d | |
|
||||
| test.rs:14:25:14:25 | b | test.rs:14:21:14:21 | d | |
|
||||
| test.rs:15:16:15:16 | c | test.rs:14:12:15:16 | [boolean(false)] ... && ... | false |
|
||||
| test.rs:15:16:15:16 | c | test.rs:14:12:15:16 | [boolean(true)] ... && ... | true |
|
||||
|
||||
@@ -612,32 +612,42 @@ dominates
|
||||
| test.rs:396:13:396:13 | _ | test.rs:396:13:396:13 | _ |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:401:9:404:9 | match 43 { ... } |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:402:13:402:21 | [match(true)] n @ ... |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:402:13:402:13 | n |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:402:17:402:17 | 1 |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:402:20:402:21 | 10 |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:402:26:402:26 | 2 |
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:403:13:403:13 | _ |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:401:9:404:9 | match 43 { ... } |
|
||||
| test.rs:402:13:402:21 | [match(true)] n @ ... | test.rs:402:13:402:21 | [match(true)] n @ ... |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:13:402:21 | [match(true)] n @ ... |
|
||||
| test.rs:402:13:402:13 | n | test.rs:402:13:402:13 | n |
|
||||
| test.rs:402:13:402:13 | n | test.rs:402:26:402:26 | 2 |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:13:402:13 | n |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:17:402:17 | 1 |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:20:402:21 | 10 |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:13:402:21 | [match(true)] n @ ... |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:26:402:26 | 2 |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:13:402:13 | n |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:20:402:21 | 10 |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:26:402:26 | 2 |
|
||||
| test.rs:402:26:402:26 | 2 | test.rs:402:26:402:26 | 2 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:403:13:403:13 | _ |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:409:9:412:9 | match a { ... } |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:410:21:410:21 | n |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:410:25:410:25 | 1 |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:410:28:410:29 | 10 |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:411:13:411:21 | ref mut n |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:410:35:410:35 | n |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:411:21:411:21 | n |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:409:9:412:9 | match a { ... } |
|
||||
| test.rs:410:13:410:29 | [match(true)] ref mut n @ ... | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... |
|
||||
| test.rs:410:21:410:21 | n | test.rs:410:21:410:21 | n |
|
||||
| test.rs:410:21:410:21 | n | test.rs:410:35:410:35 | n |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:21:410:21 | n |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:25:410:25 | 1 |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:28:410:29 | 10 |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:35:410:35 | n |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:21:410:21 | n |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:28:410:29 | 10 |
|
||||
| test.rs:411:13:411:21 | ref mut n | test.rs:411:13:411:21 | ref mut n |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:35:410:35 | n |
|
||||
| test.rs:410:35:410:35 | n | test.rs:410:35:410:35 | n |
|
||||
| test.rs:411:21:411:21 | n | test.rs:411:21:411:21 | n |
|
||||
| test.rs:418:5:423:5 | enter fn test_infinite_loop | test.rs:418:5:423:5 | enter fn test_infinite_loop |
|
||||
| test.rs:418:5:423:5 | enter fn test_infinite_loop | test.rs:420:13:420:14 | TupleExpr |
|
||||
| test.rs:420:13:420:14 | TupleExpr | test.rs:420:13:420:14 | TupleExpr |
|
||||
@@ -1223,25 +1233,29 @@ postDominance
|
||||
| test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:401:9:404:9 | match 43 { ... } |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:402:13:402:21 | [match(true)] n @ ... |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:402:13:402:13 | n |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:402:17:402:17 | 1 |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:402:20:402:21 | 10 |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:402:26:402:26 | 2 |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:403:13:403:13 | _ |
|
||||
| test.rs:402:13:402:21 | [match(true)] n @ ... | test.rs:402:13:402:21 | [match(true)] n @ ... |
|
||||
| test.rs:402:13:402:13 | n | test.rs:402:13:402:13 | n |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:17:402:17 | 1 |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:20:402:21 | 10 |
|
||||
| test.rs:402:26:402:26 | 2 | test.rs:402:26:402:26 | 2 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:403:13:403:13 | _ |
|
||||
| test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:409:9:412:9 | match a { ... } |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:410:21:410:21 | n |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:410:25:410:25 | 1 |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:410:28:410:29 | 10 |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:411:13:411:21 | ref mut n |
|
||||
| test.rs:410:13:410:29 | [match(true)] ref mut n @ ... | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:410:35:410:35 | n |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:411:21:411:21 | n |
|
||||
| test.rs:410:21:410:21 | n | test.rs:410:21:410:21 | n |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:25:410:25 | 1 |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:28:410:29 | 10 |
|
||||
| test.rs:411:13:411:21 | ref mut n | test.rs:411:13:411:21 | ref mut n |
|
||||
| test.rs:410:35:410:35 | n | test.rs:410:35:410:35 | n |
|
||||
| test.rs:411:21:411:21 | n | test.rs:411:21:411:21 | n |
|
||||
| test.rs:418:5:423:5 | enter fn test_infinite_loop | test.rs:418:5:423:5 | enter fn test_infinite_loop |
|
||||
| test.rs:420:13:420:14 | TupleExpr | test.rs:420:13:420:14 | TupleExpr |
|
||||
| test.rs:427:5:429:5 | enter fn say_hello | test.rs:427:5:429:5 | enter fn say_hello |
|
||||
@@ -1503,15 +1517,17 @@ immediateDominator
|
||||
| test.rs:395:20:395:20 | 3 | test.rs:395:13:395:13 | 5 |
|
||||
| test.rs:396:13:396:13 | _ | test.rs:395:13:395:15 | RangePat |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern |
|
||||
| test.rs:402:13:402:21 | [match(true)] n @ ... | test.rs:402:20:402:21 | 10 |
|
||||
| test.rs:402:13:402:13 | n | test.rs:402:20:402:21 | 10 |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:17:402:17 | 1 |
|
||||
| test.rs:402:26:402:26 | 2 | test.rs:402:13:402:13 | n |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref |
|
||||
| test.rs:410:13:410:29 | [match(true)] ref mut n @ ... | test.rs:410:28:410:29 | 10 |
|
||||
| test.rs:410:21:410:21 | n | test.rs:410:28:410:29 | 10 |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:25:410:25 | 1 |
|
||||
| test.rs:411:13:411:21 | ref mut n | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref |
|
||||
| test.rs:410:35:410:35 | n | test.rs:410:21:410:21 | n |
|
||||
| test.rs:411:21:411:21 | n | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref |
|
||||
| test.rs:420:13:420:14 | TupleExpr | test.rs:418:5:423:5 | enter fn test_infinite_loop |
|
||||
| test.rs:444:28:449:9 | exit { ... } (normal) | test.rs:444:28:449:9 | enter { ... } |
|
||||
| test.rs:445:13:447:13 | if b {...} | test.rs:444:28:449:9 | enter { ... } |
|
||||
@@ -2011,16 +2027,18 @@ joinBlockPredecessor
|
||||
| test.rs:395:13:395:15 | RangePat | test.rs:394:16:394:16 | 2 | 0 |
|
||||
| test.rs:396:13:396:13 | _ | test.rs:395:13:395:13 | 5 | 0 |
|
||||
| test.rs:396:13:396:13 | _ | test.rs:395:13:395:15 | RangePat | 1 |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:402:13:402:21 | [match(true)] n @ ... | 0 |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:402:26:402:26 | 2 | 0 |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:403:13:403:13 | _ | 1 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | 2 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:402:17:402:17 | 1 | 1 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:402:20:402:21 | 10 | 0 |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... | 0 |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:411:13:411:21 | ref mut n | 1 |
|
||||
| test.rs:411:13:411:21 | ref mut n | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | 2 |
|
||||
| test.rs:411:13:411:21 | ref mut n | test.rs:410:25:410:25 | 1 | 1 |
|
||||
| test.rs:411:13:411:21 | ref mut n | test.rs:410:28:410:29 | 10 | 0 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:400:5:405:5 | enter fn identifier_pattern_with_subpattern | 3 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:402:13:402:13 | n | 0 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:402:17:402:17 | 1 | 2 |
|
||||
| test.rs:403:13:403:13 | _ | test.rs:402:20:402:21 | 10 | 1 |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:410:35:410:35 | n | 0 |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:411:21:411:21 | n | 1 |
|
||||
| test.rs:411:21:411:21 | n | test.rs:407:5:414:5 | enter fn identifier_pattern_with_ref | 3 |
|
||||
| test.rs:411:21:411:21 | n | test.rs:410:21:410:21 | n | 0 |
|
||||
| test.rs:411:21:411:21 | n | test.rs:410:25:410:25 | 1 | 2 |
|
||||
| test.rs:411:21:411:21 | n | test.rs:410:28:410:29 | 10 | 1 |
|
||||
| test.rs:420:13:420:14 | TupleExpr | test.rs:418:5:423:5 | enter fn test_infinite_loop | 1 |
|
||||
| test.rs:420:13:420:14 | TupleExpr | test.rs:420:13:420:14 | TupleExpr | 0 |
|
||||
| test.rs:444:28:449:9 | exit { ... } (normal) | test.rs:445:13:447:13 | if b {...} | 1 |
|
||||
|
||||
@@ -16,8 +16,9 @@ edges
|
||||
| test.rs:10:22:13:5 | { ... } | test.rs:10:5:13:5 | exit fn method_call (normal) | |
|
||||
| test.rs:11:9:11:37 | let ... = ... | test.rs:11:23:11:34 | ...::new | |
|
||||
| test.rs:11:13:11:19 | mut map | test.rs:12:9:12:28 | ExprStmt | match |
|
||||
| test.rs:11:17:11:19 | map | test.rs:11:13:11:19 | mut map | |
|
||||
| test.rs:11:23:11:34 | ...::new | test.rs:11:23:11:36 | ...::new(...) | |
|
||||
| test.rs:11:23:11:36 | ...::new(...) | test.rs:11:13:11:19 | mut map | |
|
||||
| test.rs:11:23:11:36 | ...::new(...) | test.rs:11:17:11:19 | map | |
|
||||
| test.rs:12:9:12:11 | map | test.rs:12:20:12:21 | 37 | |
|
||||
| test.rs:12:9:12:27 | map.insert(...) | test.rs:10:22:13:5 | { ... } | |
|
||||
| test.rs:12:9:12:28 | ExprStmt | test.rs:12:9:12:11 | map | |
|
||||
@@ -25,6 +26,7 @@ edges
|
||||
| test.rs:12:24:12:26 | "a" | test.rs:12:9:12:27 | map.insert(...) | |
|
||||
| test.rs:18:5:24:5 | enter fn next | test.rs:18:13:18:13 | n | |
|
||||
| test.rs:18:5:24:5 | exit fn next (normal) | test.rs:18:5:24:5 | exit fn next | |
|
||||
| test.rs:18:13:18:13 | n | test.rs:18:13:18:13 | n | |
|
||||
| test.rs:18:13:18:13 | n | test.rs:18:13:18:18 | ...: i64 | match |
|
||||
| test.rs:18:13:18:18 | ...: i64 | test.rs:19:12:19:12 | n | |
|
||||
| test.rs:18:28:24:5 | { ... } | test.rs:18:5:24:5 | exit fn next (normal) | |
|
||||
@@ -47,11 +49,13 @@ edges
|
||||
| test.rs:22:21:22:21 | 1 | test.rs:22:13:22:21 | ... + ... | |
|
||||
| test.rs:26:5:42:5 | enter fn test_break_and_continue | test.rs:26:32:26:32 | n | |
|
||||
| test.rs:26:5:42:5 | exit fn test_break_and_continue (normal) | test.rs:26:5:42:5 | exit fn test_break_and_continue | |
|
||||
| test.rs:26:32:26:32 | n | test.rs:26:32:26:32 | n | |
|
||||
| test.rs:26:32:26:32 | n | test.rs:26:32:26:37 | ...: i64 | match |
|
||||
| test.rs:26:32:26:37 | ...: i64 | test.rs:27:9:27:22 | let ... = n | |
|
||||
| test.rs:27:9:27:22 | let ... = n | test.rs:27:21:27:21 | n | |
|
||||
| test.rs:27:13:27:17 | mut i | test.rs:28:9:40:9 | ExprStmt | match |
|
||||
| test.rs:27:21:27:21 | n | test.rs:27:13:27:17 | mut i | |
|
||||
| test.rs:27:17:27:17 | i | test.rs:27:13:27:17 | mut i | |
|
||||
| test.rs:27:21:27:21 | n | test.rs:27:17:27:17 | i | |
|
||||
| test.rs:28:9:40:9 | ExprStmt | test.rs:29:13:29:24 | ExprStmt | |
|
||||
| test.rs:28:9:40:9 | loop { ... } | test.rs:41:9:41:20 | ExprStmt | |
|
||||
| test.rs:28:14:40:9 | { ... } | test.rs:29:13:29:24 | ExprStmt | |
|
||||
@@ -98,6 +102,7 @@ edges
|
||||
| test.rs:41:16:41:19 | true | test.rs:41:9:41:19 | return true | |
|
||||
| test.rs:44:5:56:5 | enter fn test_break_with_labels | test.rs:44:31:44:31 | b | |
|
||||
| test.rs:44:5:56:5 | exit fn test_break_with_labels (normal) | test.rs:44:5:56:5 | exit fn test_break_with_labels | |
|
||||
| test.rs:44:31:44:31 | b | test.rs:44:31:44:31 | b | |
|
||||
| test.rs:44:31:44:31 | b | test.rs:44:31:44:37 | ...: bool | match |
|
||||
| test.rs:44:31:44:37 | ...: bool | test.rs:45:9:54:9 | ExprStmt | |
|
||||
| test.rs:44:48:56:5 | { ... } | test.rs:44:5:56:5 | exit fn test_break_with_labels (normal) | |
|
||||
@@ -120,6 +125,7 @@ edges
|
||||
| test.rs:52:17:52:29 | ExprStmt | test.rs:52:17:52:28 | break ''inner | |
|
||||
| test.rs:55:9:55:12 | true | test.rs:44:48:56:5 | { ... } | |
|
||||
| test.rs:58:5:70:5 | enter fn test_continue_with_labels | test.rs:58:34:58:34 | b | |
|
||||
| test.rs:58:34:58:34 | b | test.rs:58:34:58:34 | b | |
|
||||
| test.rs:58:34:58:34 | b | test.rs:58:34:58:40 | ...: bool | match |
|
||||
| test.rs:58:34:58:40 | ...: bool | test.rs:60:13:60:14 | ExprStmt | |
|
||||
| test.rs:60:13:60:13 | 1 | test.rs:62:17:66:17 | ExprStmt | |
|
||||
@@ -138,6 +144,7 @@ edges
|
||||
| test.rs:67:17:67:31 | continue 'inner | test.rs:62:17:66:17 | ExprStmt | continue |
|
||||
| test.rs:67:17:67:32 | ExprStmt | test.rs:67:17:67:31 | continue 'inner | |
|
||||
| test.rs:72:5:84:5 | enter fn test_loop_label_shadowing | test.rs:72:34:72:34 | b | |
|
||||
| test.rs:72:34:72:34 | b | test.rs:72:34:72:34 | b | |
|
||||
| test.rs:72:34:72:34 | b | test.rs:72:34:72:40 | ...: bool | match |
|
||||
| test.rs:72:34:72:40 | ...: bool | test.rs:74:13:74:14 | ExprStmt | |
|
||||
| test.rs:74:13:74:13 | 1 | test.rs:76:17:80:17 | ExprStmt | |
|
||||
@@ -157,12 +164,14 @@ edges
|
||||
| test.rs:81:17:81:32 | ExprStmt | test.rs:81:17:81:31 | continue 'label | |
|
||||
| test.rs:86:5:95:5 | enter fn test_while | test.rs:86:19:86:19 | i | |
|
||||
| test.rs:86:5:95:5 | exit fn test_while (normal) | test.rs:86:5:95:5 | exit fn test_while | |
|
||||
| test.rs:86:19:86:19 | i | test.rs:86:19:86:19 | i | |
|
||||
| test.rs:86:19:86:19 | i | test.rs:86:19:86:24 | ...: i64 | match |
|
||||
| test.rs:86:19:86:24 | ...: i64 | test.rs:87:9:87:25 | let ... = true | |
|
||||
| test.rs:86:27:95:5 | { ... } | test.rs:86:5:95:5 | exit fn test_while (normal) | |
|
||||
| test.rs:87:9:87:25 | let ... = true | test.rs:87:21:87:24 | true | |
|
||||
| test.rs:87:13:87:17 | mut b | test.rs:88:15:88:15 | b | match |
|
||||
| test.rs:87:21:87:24 | true | test.rs:87:13:87:17 | mut b | |
|
||||
| test.rs:87:17:87:17 | b | test.rs:87:13:87:17 | mut b | |
|
||||
| test.rs:87:21:87:24 | true | test.rs:87:17:87:17 | b | |
|
||||
| test.rs:88:9:94:9 | while b { ... } | test.rs:86:27:95:5 | { ... } | |
|
||||
| test.rs:88:15:88:15 | b | test.rs:88:9:94:9 | while b { ... } | false |
|
||||
| test.rs:88:15:88:15 | b | test.rs:89:13:89:14 | ExprStmt | true |
|
||||
@@ -186,13 +195,15 @@ edges
|
||||
| test.rs:97:25:104:5 | { ... } | test.rs:97:5:104:5 | exit fn test_while_let (normal) | |
|
||||
| test.rs:98:9:98:29 | let ... = ... | test.rs:98:24:98:24 | 1 | |
|
||||
| test.rs:98:13:98:20 | mut iter | test.rs:99:15:99:39 | let ... = ... | match |
|
||||
| test.rs:98:17:98:20 | iter | test.rs:98:13:98:20 | mut iter | |
|
||||
| test.rs:98:24:98:24 | 1 | test.rs:98:27:98:28 | 10 | |
|
||||
| test.rs:98:24:98:28 | 1..10 | test.rs:98:13:98:20 | mut iter | |
|
||||
| test.rs:98:24:98:28 | 1..10 | test.rs:98:17:98:20 | iter | |
|
||||
| test.rs:98:27:98:28 | 10 | test.rs:98:24:98:28 | 1..10 | |
|
||||
| test.rs:99:9:103:9 | while ... { ... } | test.rs:97:25:104:5 | { ... } | |
|
||||
| test.rs:99:15:99:39 | let ... = ... | test.rs:99:29:99:32 | iter | |
|
||||
| test.rs:99:19:99:25 | Some(...) | test.rs:99:9:103:9 | while ... { ... } | no-match |
|
||||
| test.rs:99:19:99:25 | Some(...) | test.rs:99:24:99:24 | x | match |
|
||||
| test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x | |
|
||||
| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x | match |
|
||||
| test.rs:99:29:99:32 | iter | test.rs:99:29:99:39 | iter.next(...) | |
|
||||
| test.rs:99:29:99:39 | iter.next(...) | test.rs:99:19:99:25 | Some(...) | |
|
||||
@@ -206,11 +217,13 @@ edges
|
||||
| test.rs:101:17:101:22 | ExprStmt | test.rs:101:17:101:21 | break | |
|
||||
| test.rs:106:5:113:5 | enter fn test_for | test.rs:106:17:106:17 | j | |
|
||||
| test.rs:106:5:113:5 | exit fn test_for (normal) | test.rs:106:5:113:5 | exit fn test_for | |
|
||||
| test.rs:106:17:106:17 | j | test.rs:106:17:106:17 | j | |
|
||||
| test.rs:106:17:106:17 | j | test.rs:106:17:106:22 | ...: i64 | match |
|
||||
| test.rs:106:17:106:22 | ...: i64 | test.rs:107:18:107:18 | 0 | |
|
||||
| test.rs:106:25:113:5 | { ... } | test.rs:106:5:113:5 | exit fn test_for (normal) | |
|
||||
| test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:106:25:113:5 | { ... } | |
|
||||
| test.rs:107:13:107:13 | i | test.rs:107:9:112:9 | for ... in ... { ... } | no-match |
|
||||
| test.rs:107:13:107:13 | i | test.rs:107:13:107:13 | i | |
|
||||
| test.rs:107:13:107:13 | i | test.rs:108:13:110:13 | ExprStmt | match |
|
||||
| test.rs:107:18:107:18 | 0 | test.rs:107:21:107:22 | 10 | |
|
||||
| test.rs:107:18:107:22 | 0..10 | test.rs:107:13:107:13 | i | |
|
||||
@@ -233,16 +246,19 @@ edges
|
||||
| test.rs:117:26:117:26 | 1 | test.rs:117:19:117:26 | return 1 | |
|
||||
| test.rs:122:1:125:1 | enter fn test_nested_function | test.rs:122:25:122:25 | n | |
|
||||
| test.rs:122:1:125:1 | exit fn test_nested_function (normal) | test.rs:122:1:125:1 | exit fn test_nested_function | |
|
||||
| test.rs:122:25:122:25 | n | test.rs:122:25:122:25 | n | |
|
||||
| test.rs:122:25:122:25 | n | test.rs:122:25:122:30 | ...: i64 | match |
|
||||
| test.rs:122:25:122:30 | ...: i64 | test.rs:123:5:123:28 | let ... = ... | |
|
||||
| test.rs:122:40:125:1 | { ... } | test.rs:122:1:125:1 | exit fn test_nested_function (normal) | |
|
||||
| test.rs:123:5:123:28 | let ... = ... | test.rs:123:19:123:27 | \|...\| ... | |
|
||||
| test.rs:123:9:123:15 | add_one | test.rs:123:9:123:15 | add_one | |
|
||||
| test.rs:123:9:123:15 | add_one | test.rs:124:5:124:11 | add_one | match |
|
||||
| test.rs:123:19:123:27 | \|...\| ... | test.rs:123:9:123:15 | add_one | |
|
||||
| test.rs:123:19:123:27 | enter \|...\| ... | test.rs:123:20:123:20 | i | |
|
||||
| test.rs:123:19:123:27 | exit \|...\| ... (normal) | test.rs:123:19:123:27 | exit \|...\| ... | |
|
||||
| test.rs:123:20:123:20 | ... | test.rs:123:23:123:23 | i | |
|
||||
| test.rs:123:20:123:20 | i | test.rs:123:20:123:20 | ... | match |
|
||||
| test.rs:123:20:123:20 | i | test.rs:123:20:123:20 | i | |
|
||||
| test.rs:123:23:123:23 | i | test.rs:123:27:123:27 | 1 | |
|
||||
| test.rs:123:23:123:27 | ... + ... | test.rs:123:19:123:27 | exit \|...\| ... (normal) | |
|
||||
| test.rs:123:27:123:27 | 1 | test.rs:123:23:123:27 | ... + ... | |
|
||||
@@ -253,6 +269,7 @@ edges
|
||||
| test.rs:124:21:124:21 | n | test.rs:124:13:124:22 | add_one(...) | |
|
||||
| test.rs:129:5:135:5 | enter fn test_if_else | test.rs:129:21:129:21 | n | |
|
||||
| test.rs:129:5:135:5 | exit fn test_if_else (normal) | test.rs:129:5:135:5 | exit fn test_if_else | |
|
||||
| test.rs:129:21:129:21 | n | test.rs:129:21:129:21 | n | |
|
||||
| test.rs:129:21:129:21 | n | test.rs:129:21:129:26 | ...: i64 | match |
|
||||
| test.rs:129:21:129:26 | ...: i64 | test.rs:130:12:130:12 | n | |
|
||||
| test.rs:129:36:135:5 | { ... } | test.rs:129:5:135:5 | exit fn test_if_else (normal) | |
|
||||
@@ -269,12 +286,14 @@ edges
|
||||
| test.rs:133:17:133:17 | 1 | test.rs:133:13:133:17 | ... - ... | |
|
||||
| test.rs:137:5:143:5 | enter fn test_if_without_else | test.rs:137:29:137:29 | b | |
|
||||
| test.rs:137:5:143:5 | exit fn test_if_without_else (normal) | test.rs:137:5:143:5 | exit fn test_if_without_else | |
|
||||
| test.rs:137:29:137:29 | b | test.rs:137:29:137:29 | b | |
|
||||
| test.rs:137:29:137:29 | b | test.rs:137:29:137:35 | ...: bool | match |
|
||||
| test.rs:137:29:137:35 | ...: bool | test.rs:138:9:138:22 | let ... = 3 | |
|
||||
| test.rs:137:45:143:5 | { ... } | test.rs:137:5:143:5 | exit fn test_if_without_else (normal) | |
|
||||
| test.rs:138:9:138:22 | let ... = 3 | test.rs:138:21:138:21 | 3 | |
|
||||
| test.rs:138:13:138:17 | mut i | test.rs:139:9:141:9 | ExprStmt | match |
|
||||
| test.rs:138:21:138:21 | 3 | test.rs:138:13:138:17 | mut i | |
|
||||
| test.rs:138:17:138:17 | i | test.rs:138:13:138:17 | mut i | |
|
||||
| test.rs:138:21:138:21 | 3 | test.rs:138:17:138:17 | i | |
|
||||
| test.rs:139:9:141:9 | ExprStmt | test.rs:139:12:139:12 | b | |
|
||||
| test.rs:139:9:141:9 | if b {...} | test.rs:142:9:142:9 | i | |
|
||||
| test.rs:139:12:139:12 | b | test.rs:139:9:141:9 | if b {...} | false |
|
||||
@@ -287,6 +306,7 @@ edges
|
||||
| test.rs:142:9:142:9 | i | test.rs:137:45:143:5 | { ... } | |
|
||||
| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:145:25:145:25 | a | |
|
||||
| test.rs:145:5:151:5 | exit fn test_if_let_else (normal) | test.rs:145:5:151:5 | exit fn test_if_let_else | |
|
||||
| test.rs:145:25:145:25 | a | test.rs:145:25:145:25 | a | |
|
||||
| test.rs:145:25:145:25 | a | test.rs:145:25:145:38 | ...: Option::<...> | match |
|
||||
| test.rs:145:25:145:38 | ...: Option::<...> | test.rs:146:12:146:26 | let ... = a | |
|
||||
| test.rs:145:48:151:5 | { ... } | test.rs:145:5:151:5 | exit fn test_if_let_else (normal) | |
|
||||
@@ -294,6 +314,7 @@ edges
|
||||
| test.rs:146:12:146:26 | let ... = a | test.rs:146:26:146:26 | a | |
|
||||
| test.rs:146:16:146:22 | Some(...) | test.rs:146:21:146:21 | n | match |
|
||||
| test.rs:146:16:146:22 | Some(...) | test.rs:149:13:149:13 | 0 | no-match |
|
||||
| test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n | |
|
||||
| test.rs:146:21:146:21 | n | test.rs:147:13:147:13 | n | match |
|
||||
| test.rs:146:26:146:26 | a | test.rs:146:16:146:22 | Some(...) | |
|
||||
| test.rs:146:28:148:9 | { ... } | test.rs:146:9:150:9 | if ... {...} else {...} | |
|
||||
@@ -302,6 +323,7 @@ edges
|
||||
| test.rs:149:13:149:13 | 0 | test.rs:148:16:150:9 | { ... } | |
|
||||
| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:153:20:153:20 | a | |
|
||||
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | exit fn test_if_let | |
|
||||
| test.rs:153:20:153:20 | a | test.rs:153:20:153:20 | a | |
|
||||
| test.rs:153:20:153:20 | a | test.rs:153:20:153:33 | ...: Option::<...> | match |
|
||||
| test.rs:153:20:153:33 | ...: Option::<...> | test.rs:154:9:156:9 | ExprStmt | |
|
||||
| test.rs:153:43:158:5 | { ... } | test.rs:153:5:158:5 | exit fn test_if_let (normal) | |
|
||||
@@ -310,6 +332,7 @@ edges
|
||||
| test.rs:154:12:154:26 | let ... = a | test.rs:154:26:154:26 | a | |
|
||||
| test.rs:154:16:154:22 | Some(...) | test.rs:154:9:156:9 | if ... {...} | no-match |
|
||||
| test.rs:154:16:154:22 | Some(...) | test.rs:154:21:154:21 | n | match |
|
||||
| test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n | |
|
||||
| test.rs:154:21:154:21 | n | test.rs:155:13:155:21 | ExprStmt | match |
|
||||
| test.rs:154:26:154:26 | a | test.rs:154:16:154:22 | Some(...) | |
|
||||
| test.rs:155:13:155:20 | return n | test.rs:153:5:158:5 | exit fn test_if_let (normal) | return |
|
||||
@@ -318,6 +341,7 @@ edges
|
||||
| test.rs:157:9:157:9 | 0 | test.rs:153:43:158:5 | { ... } | |
|
||||
| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:160:23:160:23 | a | |
|
||||
| test.rs:160:5:166:5 | exit fn test_nested_if (normal) | test.rs:160:5:166:5 | exit fn test_nested_if | |
|
||||
| test.rs:160:23:160:23 | a | test.rs:160:23:160:23 | a | |
|
||||
| test.rs:160:23:160:23 | a | test.rs:160:23:160:28 | ...: i64 | match |
|
||||
| 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) | |
|
||||
@@ -347,8 +371,10 @@ edges
|
||||
| test.rs:164:13:164:13 | 0 | test.rs:163:16:165:9 | { ... } | |
|
||||
| test.rs:168:5:177:5 | enter fn test_nested_if_2 | test.rs:168:25:168:29 | cond1 | |
|
||||
| test.rs:168:5:177:5 | exit fn test_nested_if_2 (normal) | test.rs:168:5:177:5 | exit fn test_nested_if_2 | |
|
||||
| test.rs:168:25:168:29 | cond1 | test.rs:168:25:168:29 | cond1 | |
|
||||
| test.rs:168:25:168:29 | cond1 | test.rs:168:25:168:35 | ...: bool | match |
|
||||
| test.rs:168:25:168:35 | ...: bool | test.rs:168:38:168:42 | cond2 | |
|
||||
| test.rs:168:38:168:42 | cond2 | test.rs:168:38:168:42 | cond2 | |
|
||||
| test.rs:168:38:168:42 | cond2 | test.rs:168:38:168:48 | ...: bool | match |
|
||||
| test.rs:168:38:168:48 | ...: bool | test.rs:169:9:176:10 | ExprStmt | |
|
||||
| test.rs:168:57:177:5 | { ... } | test.rs:168:5:177:5 | exit fn test_nested_if_2 (normal) | |
|
||||
@@ -401,6 +427,7 @@ edges
|
||||
| test.rs:175:22:175:24 | { ... } | test.rs:175:13:175:25 | println!... | |
|
||||
| test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:179:29:179:29 | a | |
|
||||
| test.rs:179:5:188:5 | exit fn test_nested_if_match (normal) | test.rs:179:5:188:5 | exit fn test_nested_if_match | |
|
||||
| test.rs:179:29:179:29 | a | test.rs:179:29:179:29 | a | |
|
||||
| test.rs:179:29:179:29 | a | test.rs:179:29:179:34 | ...: i64 | match |
|
||||
| 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) | |
|
||||
@@ -420,6 +447,7 @@ edges
|
||||
| test.rs:186:13:186:13 | 0 | test.rs:185:16:187:9 | { ... } | |
|
||||
| test.rs:190:5:199:5 | enter fn test_nested_if_block | test.rs:190:29:190:29 | a | |
|
||||
| test.rs:190:5:199:5 | exit fn test_nested_if_block (normal) | test.rs:190:5:199:5 | exit fn test_nested_if_block | |
|
||||
| test.rs:190:29:190:29 | a | test.rs:190:29:190:29 | a | |
|
||||
| test.rs:190:29:190:29 | a | test.rs:190:29:190:34 | ...: i64 | match |
|
||||
| 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) | |
|
||||
@@ -438,12 +466,14 @@ edges
|
||||
| test.rs:197:13:197:13 | 0 | test.rs:196:16:198:9 | { ... } | |
|
||||
| test.rs:201:5:211:5 | enter fn test_if_assignment | test.rs:201:27:201:27 | a | |
|
||||
| test.rs:201:5:211:5 | exit fn test_if_assignment (normal) | test.rs:201:5:211:5 | exit fn test_if_assignment | |
|
||||
| test.rs:201:27:201:27 | a | test.rs:201:27:201:27 | a | |
|
||||
| test.rs:201:27:201:27 | a | test.rs:201:27:201:32 | ...: i64 | match |
|
||||
| test.rs:201:27:201:32 | ...: i64 | test.rs:202:9:202:26 | let ... = false | |
|
||||
| test.rs:201:42:211:5 | { ... } | test.rs:201:5:211:5 | exit fn test_if_assignment (normal) | |
|
||||
| test.rs:202:9:202:26 | let ... = false | test.rs:202:21:202:25 | false | |
|
||||
| test.rs:202:13:202:17 | mut x | test.rs:204:13:204:21 | ExprStmt | match |
|
||||
| test.rs:202:21:202:25 | false | test.rs:202:13:202:17 | mut x | |
|
||||
| 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 |
|
||||
@@ -459,6 +489,7 @@ edges
|
||||
| test.rs:209:13:209:13 | 0 | test.rs:208:16:210:9 | { ... } | |
|
||||
| test.rs:213:5:224:5 | enter fn test_if_loop1 | test.rs:213:22:213:22 | a | |
|
||||
| test.rs:213:5:224:5 | exit fn test_if_loop1 (normal) | test.rs:213:5:224:5 | exit fn test_if_loop1 | |
|
||||
| test.rs:213:22:213:22 | a | test.rs:213:22:213:22 | a | |
|
||||
| test.rs:213:22:213:22 | a | test.rs:213:22:213:27 | ...: i64 | match |
|
||||
| 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) | |
|
||||
@@ -489,6 +520,7 @@ edges
|
||||
| test.rs:222:13:222:13 | 0 | test.rs:221:16:223:9 | { ... } | |
|
||||
| test.rs:226:5:237:5 | enter fn test_if_loop2 | test.rs:226:22:226:22 | a | |
|
||||
| test.rs:226:5:237:5 | exit fn test_if_loop2 (normal) | test.rs:226:5:237:5 | exit fn test_if_loop2 | |
|
||||
| test.rs:226:22:226:22 | a | test.rs:226:22:226:22 | a | |
|
||||
| test.rs:226:22:226:22 | a | test.rs:226:22:226:27 | ...: i64 | match |
|
||||
| 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) | |
|
||||
@@ -519,6 +551,7 @@ edges
|
||||
| test.rs:235:13:235:13 | 0 | test.rs:234:16:236:9 | { ... } | |
|
||||
| test.rs:239:5:247:5 | enter fn test_labelled_block | test.rs:239:28:239:28 | a | |
|
||||
| test.rs:239:5:247:5 | exit fn test_labelled_block (normal) | test.rs:239:5:247:5 | exit fn test_labelled_block | |
|
||||
| test.rs:239:28:239:28 | a | test.rs:239:28:239:28 | a | |
|
||||
| test.rs:239:28:239:28 | a | test.rs:239:28:239:33 | ...: i64 | match |
|
||||
| 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) | |
|
||||
@@ -538,14 +571,18 @@ edges
|
||||
| test.rs:245:13:245:13 | 0 | test.rs:244:16:246:9 | { ... } | |
|
||||
| test.rs:252:5:255:5 | enter fn test_and_operator | test.rs:252:30:252:30 | a | |
|
||||
| test.rs:252:5:255:5 | exit fn test_and_operator (normal) | test.rs:252:5:255:5 | exit fn test_and_operator | |
|
||||
| test.rs:252:30:252:30 | a | test.rs:252:30:252:30 | a | |
|
||||
| test.rs:252:30:252:30 | a | test.rs:252:30:252:36 | ...: bool | match |
|
||||
| test.rs:252:30:252:36 | ...: bool | test.rs:252:39:252:39 | b | |
|
||||
| test.rs:252:39:252:39 | b | test.rs:252:39:252:39 | b | |
|
||||
| test.rs:252:39:252:39 | b | test.rs:252:39:252:45 | ...: bool | match |
|
||||
| test.rs:252:39:252:45 | ...: bool | test.rs:252:48:252:48 | c | |
|
||||
| test.rs:252:48:252:48 | c | test.rs:252:48:252:48 | c | |
|
||||
| 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: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:22:253:22 | b | true |
|
||||
@@ -558,14 +595,18 @@ edges
|
||||
| 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 | |
|
||||
| test.rs:257:25:257:25 | a | test.rs:257:25:257:25 | a | |
|
||||
| test.rs:257:25:257:25 | a | test.rs:257:25:257:31 | ...: bool | match |
|
||||
| test.rs:257:25:257:31 | ...: bool | test.rs:257:34:257:34 | b | |
|
||||
| test.rs:257:34:257:34 | b | test.rs:257:34:257:34 | b | |
|
||||
| test.rs:257:34:257:34 | b | test.rs:257:34:257:40 | ...: bool | match |
|
||||
| test.rs:257:34:257:40 | ...: bool | test.rs:257:43:257:43 | c | |
|
||||
| test.rs:257:43:257:43 | c | test.rs:257:43:257:43 | c | |
|
||||
| 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: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:22:258:22 | b | false |
|
||||
@@ -578,14 +619,18 @@ edges
|
||||
| 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 | |
|
||||
| test.rs:262:27:262:27 | a | test.rs:262:27:262:27 | a | |
|
||||
| test.rs:262:27:262:27 | a | test.rs:262:27:262:33 | ...: bool | match |
|
||||
| test.rs:262:27:262:33 | ...: bool | test.rs:262:36:262:36 | b | |
|
||||
| test.rs:262:36:262:36 | b | test.rs:262:36:262:36 | b | |
|
||||
| test.rs:262:36:262:36 | b | test.rs:262:36:262:41 | ...: i64 | match |
|
||||
| test.rs:262:36:262:41 | ...: i64 | test.rs:262:44:262:44 | c | |
|
||||
| test.rs:262:44:262:44 | c | test.rs:262:44:262:44 | c | |
|
||||
| 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: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:23:263:23 | b | false |
|
||||
@@ -600,20 +645,25 @@ edges
|
||||
| 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 | |
|
||||
| test.rs:267:26:267:26 | a | test.rs:267:26:267:26 | a | |
|
||||
| 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: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: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 | |
|
||||
| test.rs:272:29:272:29 | a | test.rs:272:29:272:29 | a | |
|
||||
| test.rs:272:29:272:29 | a | test.rs:272:29:272:35 | ...: bool | match |
|
||||
| test.rs:272:29:272:35 | ...: bool | test.rs:272:38:272:38 | b | |
|
||||
| test.rs:272:38:272:38 | b | test.rs:272:38:272:38 | b | |
|
||||
| test.rs:272:38:272:38 | b | test.rs:272:38:272:44 | ...: bool | match |
|
||||
| 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:64:278:5 | { ... } | test.rs:272:5:278:5 | exit fn test_if_and_operator (normal) | |
|
||||
@@ -634,10 +684,13 @@ edges
|
||||
| test.rs:276:13:276:17 | false | test.rs:275:16:277:9 | { ... } | |
|
||||
| test.rs:280:5:286:5 | enter fn test_if_or_operator | test.rs:280:28:280:28 | a | |
|
||||
| test.rs:280:5:286:5 | exit fn test_if_or_operator (normal) | test.rs:280:5:286:5 | exit fn test_if_or_operator | |
|
||||
| test.rs:280:28:280:28 | a | test.rs:280:28:280:28 | a | |
|
||||
| test.rs:280:28:280:28 | a | test.rs:280:28:280:34 | ...: bool | match |
|
||||
| test.rs:280:28:280:34 | ...: bool | test.rs:280:37:280:37 | b | |
|
||||
| test.rs:280:37:280:37 | b | test.rs:280:37:280:37 | b | |
|
||||
| test.rs:280:37:280:37 | b | test.rs:280:37:280:43 | ...: bool | match |
|
||||
| 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:63:286:5 | { ... } | test.rs:280:5:286:5 | exit fn test_if_or_operator (normal) | |
|
||||
@@ -658,6 +711,7 @@ edges
|
||||
| test.rs:284:13:284:17 | false | test.rs:283:16:285:9 | { ... } | |
|
||||
| test.rs:288:5:294:5 | enter fn test_if_not_operator | test.rs:288:29:288:29 | a | |
|
||||
| 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:46:294:5 | { ... } | test.rs:288:5:294:5 | exit fn test_if_not_operator (normal) | |
|
||||
@@ -672,6 +726,7 @@ edges
|
||||
| test.rs:292:13:292:17 | false | test.rs:291:16:293:9 | { ... } | |
|
||||
| test.rs:296:5:298:5 | enter fn test_and_return | test.rs:296:24:296:24 | a | |
|
||||
| test.rs:296:5:298:5 | exit fn test_and_return (normal) | test.rs:296:5:298:5 | exit fn test_and_return | |
|
||||
| test.rs:296:24:296:24 | a | test.rs:296:24:296:24 | a | |
|
||||
| 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) | |
|
||||
@@ -682,6 +737,7 @@ edges
|
||||
| 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 | |
|
||||
| test.rs:300:22:300:22 | a | test.rs:300:22:300:22 | a | |
|
||||
| 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) | |
|
||||
@@ -698,6 +754,7 @@ edges
|
||||
| test.rs:304:9:304:9 | 0 | test.rs:300:38:305:5 | { ... } | |
|
||||
| test.rs:311:5:313:5 | enter fn test_question_mark_operator_1 | test.rs:311:38:311:38 | s | |
|
||||
| test.rs:311:5:313:5 | exit fn test_question_mark_operator_1 (normal) | test.rs:311:5:313:5 | exit fn test_question_mark_operator_1 | |
|
||||
| test.rs:311:38:311:38 | s | test.rs:311:38:311:38 | s | |
|
||||
| test.rs:311:38:311:38 | s | test.rs:311:38:311:44 | ...: ... | match |
|
||||
| test.rs:311:38:311:44 | ...: ... | test.rs:312:9:312:10 | Ok | |
|
||||
| test.rs:311:87:313:5 | { ... } | test.rs:311:5:313:5 | exit fn test_question_mark_operator_1 (normal) | |
|
||||
@@ -711,6 +768,7 @@ edges
|
||||
| test.rs:312:32:312:32 | 4 | test.rs:312:12:312:32 | ... + ... | |
|
||||
| test.rs:315:5:320:5 | enter fn test_question_mark_operator_2 | test.rs:315:38:315:38 | b | |
|
||||
| test.rs:315:5:320:5 | exit fn test_question_mark_operator_2 (normal) | test.rs:315:5:320:5 | exit fn test_question_mark_operator_2 | |
|
||||
| test.rs:315:38:315:38 | b | test.rs:315:38:315:38 | b | |
|
||||
| test.rs:315:38:315:38 | b | test.rs:315:38:315:52 | ...: Option::<...> | match |
|
||||
| test.rs:315:38:315:52 | ...: Option::<...> | test.rs:316:15:316:15 | b | |
|
||||
| test.rs:315:71:320:5 | { ... } | test.rs:315:5:320:5 | exit fn test_question_mark_operator_2 (normal) | |
|
||||
@@ -731,6 +789,7 @@ edges
|
||||
| test.rs:318:27:318:30 | true | test.rs:318:22:318:31 | Some(...) | |
|
||||
| test.rs:326:5:332:5 | enter fn test_match | test.rs:326:19:326:29 | maybe_digit | |
|
||||
| test.rs:326:5:332:5 | exit fn test_match (normal) | test.rs:326:5:332:5 | exit fn test_match | |
|
||||
| test.rs:326:19:326:29 | maybe_digit | test.rs:326:19:326:29 | maybe_digit | |
|
||||
| test.rs:326:19:326:29 | maybe_digit | test.rs:326:19:326:42 | ...: Option::<...> | match |
|
||||
| test.rs:326:19:326:42 | ...: Option::<...> | test.rs:327:15:327:25 | maybe_digit | |
|
||||
| test.rs:326:52:332:5 | { ... } | test.rs:326:5:332:5 | exit fn test_match (normal) | |
|
||||
@@ -738,6 +797,7 @@ edges
|
||||
| test.rs:327:15:327:25 | maybe_digit | test.rs:328:13:328:27 | ...::Some(...) | |
|
||||
| test.rs:328:13:328:27 | ...::Some(...) | test.rs:328:26:328:26 | x | match |
|
||||
| test.rs:328:13:328:27 | ...::Some(...) | test.rs:329:13:329:27 | ...::Some(...) | no-match |
|
||||
| test.rs:328:26:328:26 | x | test.rs:328:26:328:26 | x | |
|
||||
| test.rs:328:26:328:26 | x | test.rs:328:32:328:32 | x | match |
|
||||
| test.rs:328:32:328:32 | x | test.rs:328:36:328:37 | 10 | |
|
||||
| test.rs:328:32:328:37 | ... < ... | test.rs:328:42:328:42 | x | true |
|
||||
@@ -748,12 +808,14 @@ edges
|
||||
| test.rs:328:46:328:46 | 5 | test.rs:328:42:328:46 | ... + ... | |
|
||||
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:329:26:329:26 | x | match |
|
||||
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:330:13:330:24 | ...::None | no-match |
|
||||
| test.rs:329:26:329:26 | x | test.rs:329:26:329:26 | x | |
|
||||
| test.rs:329:26:329:26 | x | test.rs:329:32:329:32 | x | match |
|
||||
| test.rs:329:32:329:32 | x | test.rs:327:9:331:9 | match maybe_digit { ... } | |
|
||||
| test.rs:330:13:330:24 | ...::None | test.rs:330:29:330:29 | 5 | match |
|
||||
| test.rs:330:29:330:29 | 5 | test.rs:327:9:331:9 | match maybe_digit { ... } | |
|
||||
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:334:44:334:54 | maybe_digit | |
|
||||
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee | |
|
||||
| test.rs:334:44:334:54 | maybe_digit | test.rs:334:44:334:54 | maybe_digit | |
|
||||
| test.rs:334:44:334:54 | maybe_digit | test.rs:334:44:334:67 | ...: Option::<...> | match |
|
||||
| test.rs:334:44:334:67 | ...: Option::<...> | test.rs:335:19:335:29 | maybe_digit | |
|
||||
| test.rs:334:77:343:5 | { ... } | test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | |
|
||||
@@ -772,6 +834,7 @@ edges
|
||||
| test.rs:338:13:338:23 | maybe_digit | test.rs:337:16:339:9 | { ... } | |
|
||||
| test.rs:340:13:340:27 | ...::Some(...) | test.rs:340:26:340:26 | x | match |
|
||||
| test.rs:340:13:340:27 | ...::Some(...) | test.rs:341:13:341:24 | ...::None | no-match |
|
||||
| test.rs:340:26:340:26 | x | test.rs:340:26:340:26 | x | |
|
||||
| test.rs:340:26:340:26 | x | test.rs:340:32:340:32 | x | match |
|
||||
| test.rs:340:32:340:32 | x | test.rs:340:36:340:36 | 5 | |
|
||||
| test.rs:340:32:340:36 | ... + ... | test.rs:335:9:342:9 | match ... { ... } | |
|
||||
@@ -780,8 +843,10 @@ edges
|
||||
| test.rs:341:29:341:29 | 5 | test.rs:335:9:342:9 | match ... { ... } | |
|
||||
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:345:23:345:26 | cond | |
|
||||
| test.rs:345:5:350:5 | exit fn test_match_and (normal) | test.rs:345:5:350:5 | exit fn test_match_and | |
|
||||
| test.rs:345:23:345:26 | cond | test.rs:345:23:345:26 | cond | |
|
||||
| test.rs:345:23:345:26 | cond | test.rs:345:23:345:32 | ...: bool | match |
|
||||
| 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:60:350:5 | { ... } | test.rs:345:5:350:5 | exit fn test_match_and (normal) | |
|
||||
@@ -791,6 +856,7 @@ edges
|
||||
| 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 |
|
||||
@@ -799,6 +865,7 @@ edges
|
||||
| test.rs:349:15:349:18 | cond | test.rs:346:9:349:18 | ... && ... | |
|
||||
| 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 | |
|
||||
| test.rs:352:35:352:35 | r | test.rs:352:35:352:58 | ...: Result::<...> | match |
|
||||
| test.rs:352:35:352:58 | ...: Result::<...> | test.rs:353:15:353:15 | r | |
|
||||
| test.rs:352:66:357:5 | { ... } | test.rs:352:5:357:5 | exit fn test_match_with_no_arms (normal) | |
|
||||
@@ -806,20 +873,24 @@ edges
|
||||
| test.rs:353:15:353:15 | r | test.rs:354:13:354:21 | Ok(...) | |
|
||||
| test.rs:354:13:354:21 | Ok(...) | test.rs:354:16:354:20 | value | match |
|
||||
| test.rs:354:13:354:21 | Ok(...) | test.rs:355:13:355:22 | Err(...) | no-match |
|
||||
| test.rs:354:16:354:20 | value | test.rs:354:16:354:20 | value | |
|
||||
| test.rs:354:16:354:20 | value | test.rs:354:26:354:30 | value | match |
|
||||
| test.rs:354:26:354:30 | value | test.rs:353:9:356:9 | match r { ... } | |
|
||||
| test.rs:355:13:355:22 | Err(...) | test.rs:355:17:355:21 | never | match |
|
||||
| test.rs:355:17:355:21 | never | test.rs:355:17:355:21 | never | |
|
||||
| test.rs:355:17:355:21 | never | test.rs:355:33:355:37 | never | match |
|
||||
| test.rs:355:27:355:40 | match never { ... } | test.rs:353:9:356:9 | match r { ... } | |
|
||||
| test.rs:355:33:355:37 | never | test.rs:355:27:355:40 | match never { ... } | |
|
||||
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:362:23:362:23 | a | |
|
||||
| test.rs:362:5:365:5 | exit fn test_let_match (normal) | test.rs:362:5:365:5 | exit fn test_let_match | |
|
||||
| test.rs:362:23:362:23 | a | test.rs:362:23:362:23 | a | |
|
||||
| test.rs:362:23:362:23 | a | test.rs:362:23:362:36 | ...: Option::<...> | match |
|
||||
| test.rs:362:23:362:36 | ...: Option::<...> | test.rs:363:9:363:57 | let ... = a else {...} | |
|
||||
| test.rs:362:46:365:5 | { ... } | test.rs:362:5:365:5 | exit fn test_let_match (normal) | |
|
||||
| test.rs:363:9:363:57 | let ... = a else {...} | test.rs:363:23:363:23 | a | |
|
||||
| test.rs:363:13:363:19 | Some(...) | test.rs:363:18:363:18 | n | match |
|
||||
| test.rs:363:13:363:19 | Some(...) | test.rs:363:39:363:53 | MacroStmts | no-match |
|
||||
| test.rs:363:18:363:18 | n | test.rs:363:18:363:18 | n | |
|
||||
| test.rs:363:18:363:18 | n | test.rs:364:9:364:9 | n | match |
|
||||
| test.rs:363:23:363:23 | a | test.rs:363:13:363:19 | Some(...) | |
|
||||
| test.rs:363:32:363:54 | ...::panic_fmt | test.rs:363:39:363:53 | "Expected some" | |
|
||||
@@ -839,23 +910,28 @@ edges
|
||||
| test.rs:364:9:364:9 | n | test.rs:362:46:365:5 | { ... } | |
|
||||
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:29:367:29 | m | |
|
||||
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | exit fn test_let_with_return | |
|
||||
| test.rs:367:29:367:29 | m | test.rs:367:29:367:29 | m | |
|
||||
| test.rs:367:29:367:29 | m | test.rs:367:29:367:42 | ...: Option::<...> | match |
|
||||
| test.rs:367:29:367:42 | ...: Option::<...> | test.rs:368:9:371:10 | let ... = ... | |
|
||||
| test.rs:367:53:373:5 | { ... } | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | |
|
||||
| test.rs:368:9:371:10 | let ... = ... | test.rs:368:25:368:25 | m | |
|
||||
| test.rs:368:13:368:15 | ret | test.rs:368:13:368:15 | ret | |
|
||||
| test.rs:368:13:368:15 | ret | test.rs:372:9:372:12 | true | match |
|
||||
| test.rs:368:19:371:9 | match m { ... } | test.rs:368:13:368:15 | ret | |
|
||||
| test.rs:368:25:368:25 | m | test.rs:369:13:369:21 | Some(...) | |
|
||||
| test.rs:369:13:369:21 | Some(...) | test.rs:369:18:369:20 | ret | match |
|
||||
| test.rs:369:13:369:21 | Some(...) | test.rs:370:13:370:16 | None | no-match |
|
||||
| test.rs:369:18:369:20 | ret | test.rs:369:18:369:20 | ret | |
|
||||
| test.rs:369:18:369:20 | ret | test.rs:369:26:369:28 | ret | match |
|
||||
| test.rs:369:26:369:28 | ret | test.rs:368:19:371:9 | match m { ... } | |
|
||||
| test.rs:370:13:370:16 | None | test.rs:370:13:370:16 | None | |
|
||||
| test.rs:370:13:370:16 | None | test.rs:370:28:370:32 | false | match |
|
||||
| test.rs:370:21:370:32 | return false | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | return |
|
||||
| test.rs:370:28:370:32 | false | test.rs:370:21:370:32 | return false | |
|
||||
| test.rs:372:9:372:12 | true | test.rs:367:53:373:5 | { ... } | |
|
||||
| test.rs:378:5:381:5 | enter fn empty_tuple_pattern | test.rs:378:28:378:31 | unit | |
|
||||
| test.rs:378:5:381:5 | exit fn empty_tuple_pattern (normal) | test.rs:378:5:381:5 | exit fn empty_tuple_pattern | |
|
||||
| test.rs:378:28:378:31 | unit | test.rs:378:28:378:31 | unit | |
|
||||
| test.rs:378:28:378:31 | unit | test.rs:378:28:378:35 | ...: ... | match |
|
||||
| test.rs:378:28:378:35 | ...: ... | test.rs:379:9:379:22 | let ... = unit | |
|
||||
| test.rs:379:9:379:22 | let ... = unit | test.rs:379:18:379:21 | unit | |
|
||||
@@ -865,6 +941,7 @@ edges
|
||||
| test.rs:380:9:380:15 | ExprStmt | test.rs:380:9:380:14 | return | |
|
||||
| test.rs:385:5:389:5 | enter fn empty_struct_pattern | test.rs:385:29:385:30 | st | |
|
||||
| test.rs:385:5:389:5 | exit fn empty_struct_pattern (normal) | test.rs:385:5:389:5 | exit fn empty_struct_pattern | |
|
||||
| test.rs:385:29:385:30 | st | test.rs:385:29:385:30 | st | |
|
||||
| test.rs:385:29:385:30 | st | test.rs:385:29:385:40 | ...: MyStruct | match |
|
||||
| test.rs:385:29:385:40 | ...: MyStruct | test.rs:386:15:386:16 | st | |
|
||||
| test.rs:385:50:389:5 | { ... } | test.rs:385:5:389:5 | exit fn empty_struct_pattern (normal) | |
|
||||
@@ -906,13 +983,15 @@ edges
|
||||
| test.rs:400:52:405:5 | { ... } | test.rs:400:5:405:5 | exit fn identifier_pattern_with_subpattern (normal) | |
|
||||
| test.rs:401:9:404:9 | match 43 { ... } | test.rs:400:52:405:5 | { ... } | |
|
||||
| test.rs:401:15:401:16 | 43 | test.rs:402:17:402:21 | RangePat | |
|
||||
| test.rs:402:13:402:21 | [match(true)] n @ ... | test.rs:402:26:402:26 | 2 | match |
|
||||
| test.rs:402:13:402:13 | n | test.rs:402:13:402:21 | n @ ... | |
|
||||
| test.rs:402:13:402:21 | n @ ... | test.rs:402:26:402:26 | 2 | match |
|
||||
| test.rs:402:13:402:21 | n @ ... | test.rs:403:13:403:13 | _ | no-match |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:17:402:17 | 1 | |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:402:20:402:21 | 10 | match |
|
||||
| test.rs:402:17:402:17 | 1 | test.rs:403:13:403:13 | _ | no-match |
|
||||
| test.rs:402:17:402:21 | RangePat | test.rs:402:17:402:17 | 1 | match |
|
||||
| test.rs:402:17:402:21 | RangePat | test.rs:403:13:403:13 | _ | no-match |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:13:402:21 | [match(true)] n @ ... | match |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:13:402:13 | n | match |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:402:20:402:21 | 10 | |
|
||||
| test.rs:402:20:402:21 | 10 | test.rs:403:13:403:13 | _ | no-match |
|
||||
| test.rs:402:26:402:26 | 2 | test.rs:402:30:402:30 | n | |
|
||||
@@ -925,24 +1004,28 @@ edges
|
||||
| test.rs:407:45:414:5 | { ... } | test.rs:407:5:414:5 | exit fn identifier_pattern_with_ref (normal) | |
|
||||
| test.rs:408:9:408:23 | let ... = 10 | test.rs:408:21:408:22 | 10 | |
|
||||
| test.rs:408:13:408:17 | mut a | test.rs:409:9:412:10 | ExprStmt | match |
|
||||
| test.rs:408:21:408:22 | 10 | test.rs:408:13:408:17 | mut a | |
|
||||
| test.rs:408:17:408:17 | a | test.rs:408:13:408:17 | mut a | |
|
||||
| test.rs:408:21:408:22 | 10 | test.rs:408:17:408:17 | a | |
|
||||
| test.rs:409:9:412:9 | match a { ... } | test.rs:413:9:413:9 | a | |
|
||||
| test.rs:409:9:412:10 | ExprStmt | test.rs:409:15:409:15 | a | |
|
||||
| test.rs:409:15:409:15 | a | test.rs:410:25:410:29 | RangePat | |
|
||||
| test.rs:410:13:410:29 | [match(true)] ref mut n @ ... | test.rs:410:35:410:35 | n | match |
|
||||
| test.rs:410:13:410:29 | ref mut n @ ... | test.rs:410:35:410:35 | n | match |
|
||||
| test.rs:410:13:410:29 | ref mut n @ ... | test.rs:411:21:411:21 | n | no-match |
|
||||
| test.rs:410:21:410:21 | n | test.rs:410:13:410:29 | ref mut n @ ... | |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:25:410:25 | 1 | |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:410:28:410:29 | 10 | match |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:411:13:411:21 | ref mut n | no-match |
|
||||
| test.rs:410:25:410:25 | 1 | test.rs:411:21:411:21 | n | no-match |
|
||||
| test.rs:410:25:410:29 | RangePat | test.rs:410:25:410:25 | 1 | match |
|
||||
| test.rs:410:25:410:29 | RangePat | test.rs:411:13:411:21 | ref mut n | no-match |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:13:410:29 | [match(true)] ref mut n @ ... | match |
|
||||
| test.rs:410:25:410:29 | RangePat | test.rs:411:21:411:21 | n | no-match |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:21:410:21 | n | match |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:410:28:410:29 | 10 | |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:411:13:411:21 | ref mut n | no-match |
|
||||
| test.rs:410:28:410:29 | 10 | test.rs:411:21:411:21 | n | no-match |
|
||||
| test.rs:410:34:410:35 | * ... | test.rs:410:40:410:41 | 10 | |
|
||||
| test.rs:410:34:410:41 | ... += ... | test.rs:409:9:412:9 | match a { ... } | |
|
||||
| test.rs:410:35:410:35 | n | test.rs:410:34:410:35 | * ... | |
|
||||
| test.rs:410:40:410:41 | 10 | test.rs:410:34:410:41 | ... += ... | |
|
||||
| test.rs:411:13:411:21 | ref mut n | test.rs:411:27:411:27 | n | match |
|
||||
| test.rs:411:21:411:21 | n | test.rs:411:13:411:21 | ref mut n | |
|
||||
| test.rs:411:26:411:27 | * ... | test.rs:411:31:411:31 | 0 | |
|
||||
| test.rs:411:26:411:31 | ... = ... | test.rs:409:9:412:9 | match a { ... } | |
|
||||
| test.rs:411:27:411:27 | n | test.rs:411:26:411:27 | * ... | |
|
||||
@@ -969,10 +1052,12 @@ edges
|
||||
| test.rs:428:18:428:32 | { ... } | test.rs:428:9:428:33 | println!... | |
|
||||
| test.rs:431:5:450:5 | enter fn async_block | test.rs:431:26:431:26 | b | |
|
||||
| test.rs:431:5:450:5 | exit fn async_block (normal) | test.rs:431:5:450:5 | exit fn async_block | |
|
||||
| test.rs:431:26:431:26 | b | test.rs:431:26:431:26 | b | |
|
||||
| test.rs:431:26:431:26 | b | test.rs:431:26:431:32 | ...: bool | match |
|
||||
| test.rs:431:26:431:32 | ...: bool | test.rs:432:9:434:10 | let ... = ... | |
|
||||
| test.rs:431:35:450:5 | { ... } | test.rs:431:5:450:5 | exit fn async_block (normal) | |
|
||||
| test.rs:432:9:434:10 | let ... = ... | test.rs:432:26:434:9 | { ... } | |
|
||||
| test.rs:432:13:432:22 | say_godbye | test.rs:432:13:432:22 | say_godbye | |
|
||||
| test.rs:432:13:432:22 | say_godbye | test.rs:435:9:437:10 | let ... = ... | match |
|
||||
| test.rs:432:26:434:9 | enter { ... } | test.rs:433:13:433:42 | ExprStmt | |
|
||||
| test.rs:432:26:434:9 | exit { ... } (normal) | test.rs:432:26:434:9 | exit { ... } | |
|
||||
@@ -990,6 +1075,7 @@ edges
|
||||
| test.rs:433:22:433:40 | MacroStmts | test.rs:433:22:433:40 | ExprStmt | |
|
||||
| test.rs:433:22:433:40 | { ... } | test.rs:433:13:433:41 | println!... | |
|
||||
| test.rs:435:9:437:10 | let ... = ... | test.rs:435:31:437:9 | { ... } | |
|
||||
| test.rs:435:13:435:27 | say_how_are_you | test.rs:435:13:435:27 | say_how_are_you | |
|
||||
| test.rs:435:13:435:27 | say_how_are_you | test.rs:438:9:438:28 | let ... = ... | match |
|
||||
| test.rs:435:31:437:9 | enter { ... } | test.rs:436:13:436:37 | ExprStmt | |
|
||||
| test.rs:435:31:437:9 | exit { ... } (normal) | test.rs:435:31:437:9 | exit { ... } | |
|
||||
@@ -1007,6 +1093,7 @@ edges
|
||||
| test.rs:436:22:436:35 | MacroStmts | test.rs:436:22:436:35 | ExprStmt | |
|
||||
| test.rs:436:22:436:35 | { ... } | test.rs:436:13:436:36 | println!... | |
|
||||
| test.rs:438:9:438:28 | let ... = ... | test.rs:438:20:438:27 | { ... } | |
|
||||
| test.rs:438:13:438:16 | noop | test.rs:438:13:438:16 | noop | |
|
||||
| test.rs:438:13:438:16 | noop | test.rs:439:9:439:26 | ExprStmt | match |
|
||||
| test.rs:438:20:438:27 | { ... } | test.rs:438:13:438:16 | noop | |
|
||||
| test.rs:439:9:439:17 | say_hello | test.rs:439:9:439:19 | say_hello(...) | |
|
||||
@@ -1024,11 +1111,13 @@ edges
|
||||
| test.rs:442:9:442:19 | ExprStmt | test.rs:442:9:442:12 | noop | |
|
||||
| test.rs:444:9:449:10 | let ... = ... | test.rs:444:22:449:9 | \|...\| ... | |
|
||||
| test.rs:444:13:444:18 | lambda | test.rs:431:35:450:5 | { ... } | match |
|
||||
| test.rs:444:13:444:18 | lambda | test.rs:444:13:444:18 | lambda | |
|
||||
| test.rs:444:22:449:9 | \|...\| ... | test.rs:444:13:444:18 | lambda | |
|
||||
| test.rs:444:22:449:9 | enter \|...\| ... | test.rs:444:23:444:25 | foo | |
|
||||
| test.rs:444:22:449:9 | exit \|...\| ... (normal) | test.rs:444:22:449:9 | exit \|...\| ... | |
|
||||
| test.rs:444:23:444:25 | ... | test.rs:444:28:449:9 | { ... } | |
|
||||
| test.rs:444:23:444:25 | foo | test.rs:444:23:444:25 | ... | match |
|
||||
| test.rs:444:23:444:25 | foo | test.rs:444:23:444:25 | foo | |
|
||||
| test.rs:444:28:449:9 | enter { ... } | test.rs:445:13:447:14 | ExprStmt | |
|
||||
| test.rs:444:28:449:9 | exit { ... } (normal) | test.rs:444:28:449:9 | exit { ... } | |
|
||||
| test.rs:444:28:449:9 | { ... } | test.rs:444:22:449:9 | exit \|...\| ... (normal) | |
|
||||
@@ -1044,6 +1133,7 @@ edges
|
||||
| test.rs:448:13:448:15 | foo | test.rs:444:28:449:9 | exit { ... } (normal) | |
|
||||
| test.rs:456:5:458:5 | enter fn add_two | test.rs:456:22:456:22 | n | |
|
||||
| test.rs:456:5:458:5 | exit fn add_two (normal) | test.rs:456:5:458:5 | exit fn add_two | |
|
||||
| test.rs:456:22:456:22 | n | test.rs:456:22:456:22 | n | |
|
||||
| test.rs:456:22:456:22 | n | test.rs:456:22:456:27 | ...: i64 | match |
|
||||
| test.rs:456:22:456:27 | ...: i64 | test.rs:457:9:457:9 | n | |
|
||||
| test.rs:456:37:458:5 | { ... } | test.rs:456:5:458:5 | exit fn add_two (normal) | |
|
||||
@@ -1121,6 +1211,7 @@ edges
|
||||
| test.rs:501:1:515:1 | exit fn labelled_block1 (normal) | test.rs:501:1:515:1 | exit fn labelled_block1 | |
|
||||
| test.rs:501:29:515:1 | { ... } | test.rs:501:1:515:1 | exit fn labelled_block1 (normal) | |
|
||||
| test.rs:502:5:513:6 | let ... = ... | test.rs:503:9:503:19 | ExprStmt | |
|
||||
| test.rs:502:9:502:14 | result | test.rs:502:9:502:14 | result | |
|
||||
| test.rs:502:9:502:14 | result | test.rs:514:5:514:10 | result | match |
|
||||
| test.rs:502:18:513:5 | 'block: { ... } | test.rs:502:9:502:14 | result | |
|
||||
| test.rs:503:9:503:16 | do_thing | test.rs:503:9:503:18 | do_thing(...) | |
|
||||
@@ -1155,13 +1246,16 @@ edges
|
||||
| test.rs:517:22:525:1 | { ... } | test.rs:517:1:525:1 | exit fn labelled_block2 (normal) | |
|
||||
| test.rs:518:5:524:6 | let ... = ... | test.rs:519:9:519:34 | let ... = None | |
|
||||
| test.rs:518:9:518:14 | result | test.rs:517:22:525:1 | { ... } | match |
|
||||
| test.rs:518:9:518:14 | result | test.rs:518:9:518:14 | result | |
|
||||
| test.rs:518:18:524:5 | 'block: { ... } | test.rs:518:9:518:14 | result | |
|
||||
| test.rs:519:9:519:34 | let ... = None | test.rs:519:30:519:33 | None | |
|
||||
| test.rs:519:13:519:13 | x | test.rs:519:13:519:13 | x | |
|
||||
| test.rs:519:13:519:13 | x | test.rs:520:9:522:10 | let ... = x else {...} | match |
|
||||
| test.rs:519:30:519:33 | None | test.rs:519:13:519:13 | x | |
|
||||
| test.rs:520:9:522:10 | let ... = x else {...} | test.rs:520:23:520:23 | x | |
|
||||
| test.rs:520:13:520:19 | Some(...) | test.rs:520:18:520:18 | y | match |
|
||||
| test.rs:520:13:520:19 | Some(...) | test.rs:521:13:521:27 | ExprStmt | no-match |
|
||||
| test.rs:520:18:520:18 | y | test.rs:520:18:520:18 | y | |
|
||||
| test.rs:520:18:520:18 | y | test.rs:523:9:523:9 | 0 | match |
|
||||
| test.rs:520:23:520:23 | x | test.rs:520:13:520:19 | Some(...) | |
|
||||
| test.rs:521:13:521:26 | break ''block 1 | test.rs:518:18:524:5 | 'block: { ... } | break |
|
||||
@@ -1173,10 +1267,12 @@ edges
|
||||
| test.rs:527:28:533:1 | { ... } | test.rs:527:1:533:1 | exit fn test_nested_function2 (normal) | |
|
||||
| test.rs:528:5:528:18 | let ... = 0 | test.rs:528:17:528:17 | 0 | |
|
||||
| test.rs:528:9:528:13 | mut x | test.rs:529:5:531:5 | fn nested | match |
|
||||
| test.rs:528:17:528:17 | 0 | test.rs:528:9:528:13 | mut x | |
|
||||
| test.rs:528:13:528:13 | x | test.rs:528:9:528:13 | mut x | |
|
||||
| test.rs:528:17:528:17 | 0 | test.rs:528:13:528:13 | x | |
|
||||
| test.rs:529:5:531:5 | enter fn nested | test.rs:529:15:529:15 | x | |
|
||||
| test.rs:529:5:531:5 | exit fn nested (normal) | test.rs:529:5:531:5 | exit fn nested | |
|
||||
| test.rs:529:5:531:5 | fn nested | test.rs:532:5:532:19 | ExprStmt | |
|
||||
| test.rs:529:15:529:15 | x | test.rs:529:15:529:15 | x | |
|
||||
| test.rs:529:15:529:15 | x | test.rs:529:15:529:25 | ...: ... | match |
|
||||
| test.rs:529:15:529:25 | ...: ... | test.rs:530:9:530:16 | ExprStmt | |
|
||||
| test.rs:529:28:531:5 | { ... } | test.rs:529:5:531:5 | exit fn nested (normal) | |
|
||||
@@ -1192,6 +1288,7 @@ edges
|
||||
| test.rs:532:17:532:17 | x | test.rs:532:12:532:17 | &mut x | |
|
||||
| test.rs:544:5:546:5 | enter fn new | test.rs:544:12:544:12 | a | |
|
||||
| test.rs:544:5:546:5 | exit fn new (normal) | test.rs:544:5:546:5 | exit fn new | |
|
||||
| test.rs:544:12:544:12 | a | test.rs:544:12:544:12 | a | |
|
||||
| test.rs:544:12:544:12 | a | test.rs:544:12:544:17 | ...: i64 | match |
|
||||
| test.rs:544:12:544:17 | ...: i64 | test.rs:545:23:545:23 | a | |
|
||||
| test.rs:544:28:546:5 | { ... } | test.rs:544:5:546:5 | exit fn new (normal) | |
|
||||
@@ -1209,8 +1306,10 @@ edges
|
||||
| test.rs:552:5:554:5 | exit fn multifly_add (normal) | test.rs:552:5:554:5 | exit fn multifly_add | |
|
||||
| test.rs:552:21:552:29 | SelfParam | test.rs:552:32:552:32 | a | |
|
||||
| test.rs:552:26:552:29 | self | test.rs:552:21:552:29 | SelfParam | |
|
||||
| test.rs:552:32:552:32 | a | test.rs:552:32:552:32 | a | |
|
||||
| test.rs:552:32:552:32 | a | test.rs:552:32:552:37 | ...: i64 | match |
|
||||
| test.rs:552:32:552:37 | ...: i64 | test.rs:552:40:552:40 | b | |
|
||||
| test.rs:552:40:552:40 | b | test.rs:552:40:552:40 | b | |
|
||||
| test.rs:552:40:552:40 | b | test.rs:552:40:552:45 | ...: i64 | match |
|
||||
| test.rs:552:40:552:45 | ...: i64 | test.rs:553:9:553:34 | ExprStmt | |
|
||||
| test.rs:552:48:554:5 | { ... } | test.rs:552:5:554:5 | exit fn multifly_add (normal) | |
|
||||
|
||||
@@ -105,32 +105,40 @@ localStep
|
||||
| file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::<crate::option::Option>::take_if | file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[0] in lang:core::_::<crate::option::Option>::take_if | MaD:43 |
|
||||
| main.rs:3:11:3:11 | [SSA] i | main.rs:4:12:4:12 | i | |
|
||||
| main.rs:3:11:3:11 | i | main.rs:3:11:3:11 | [SSA] i | |
|
||||
| main.rs:3:11:3:11 | i | main.rs:3:11:3:11 | i | |
|
||||
| main.rs:3:11:3:16 | ...: i64 | main.rs:3:11:3:11 | i | |
|
||||
| main.rs:4:5:4:12 | ... + ... | main.rs:3:26:5:1 | { ... } | |
|
||||
| main.rs:6:9:6:9 | [SSA] s | main.rs:7:20:7:20 | s | |
|
||||
| main.rs:6:9:6:9 | s | main.rs:6:9:6:9 | [SSA] s | |
|
||||
| main.rs:6:9:6:9 | s | main.rs:6:9:6:9 | s | |
|
||||
| main.rs:6:9:6:14 | ...: i64 | main.rs:6:9:6:9 | s | |
|
||||
| main.rs:7:14:7:20 | FormatArgsExpr | main.rs:7:14:7:20 | MacroExpr | |
|
||||
| main.rs:7:14:7:20 | MacroExpr | main.rs:7:5:7:21 | ...::_print | MaD:1 |
|
||||
| main.rs:10:13:10:14 | [SSA] sr | main.rs:11:20:11:21 | sr | |
|
||||
| main.rs:10:13:10:14 | sr | main.rs:10:13:10:14 | [SSA] sr | |
|
||||
| main.rs:10:13:10:14 | sr | main.rs:10:13:10:14 | sr | |
|
||||
| main.rs:10:13:10:20 | ...: ... | main.rs:10:13:10:14 | sr | |
|
||||
| main.rs:11:14:11:21 | FormatArgsExpr | main.rs:11:14:11:21 | MacroExpr | |
|
||||
| main.rs:11:14:11:21 | MacroExpr | main.rs:11:5:11:22 | ...::_print | MaD:1 |
|
||||
| main.rs:22:9:22:9 | [SSA] s | main.rs:23:10:23:10 | s | |
|
||||
| main.rs:22:9:22:9 | s | main.rs:22:9:22:9 | [SSA] s | |
|
||||
| main.rs:22:9:22:9 | s | main.rs:22:9:22:9 | s | |
|
||||
| main.rs:22:13:22:21 | source(...) | main.rs:22:9:22:9 | s | |
|
||||
| main.rs:26:18:26:21 | [SSA] cond | main.rs:29:16:29:19 | cond | |
|
||||
| main.rs:26:18:26:21 | cond | main.rs:26:18:26:21 | [SSA] cond | |
|
||||
| main.rs:26:18:26:21 | cond | main.rs:26:18:26:21 | cond | |
|
||||
| main.rs:26:18:26:27 | ...: bool | main.rs:26:18:26:21 | cond | |
|
||||
| main.rs:27:9:27:9 | [SSA] a | main.rs:29:23:29:23 | a | |
|
||||
| main.rs:27:9:27:9 | a | main.rs:27:9:27:9 | [SSA] a | |
|
||||
| main.rs:27:9:27:9 | a | main.rs:27:9:27:9 | a | |
|
||||
| main.rs:27:13:27:21 | source(...) | main.rs:27:9:27:9 | a | |
|
||||
| main.rs:28:9:28:9 | [SSA] b | main.rs:29:34:29:34 | b | |
|
||||
| main.rs:28:9:28:9 | b | main.rs:28:9:28:9 | [SSA] b | |
|
||||
| main.rs:28:9:28:9 | b | main.rs:28:9:28:9 | b | |
|
||||
| main.rs:28:13:28:13 | 2 | main.rs:28:9:28:9 | b | |
|
||||
| main.rs:29:9:29:9 | [SSA] c | main.rs:30:10:30:10 | c | |
|
||||
| main.rs:29:9:29:9 | c | main.rs:29:9:29:9 | [SSA] c | |
|
||||
| main.rs:29:9:29:9 | c | main.rs:29:9:29:9 | c | |
|
||||
| main.rs:29:13:29:36 | if cond {...} else {...} | main.rs:29:9:29:9 | c | |
|
||||
| main.rs:29:21:29:25 | { ... } | main.rs:29:13:29:36 | if cond {...} else {...} | |
|
||||
| main.rs:29:23:29:23 | a | main.rs:29:21:29:25 | { ... } | |
|
||||
@@ -138,12 +146,15 @@ localStep
|
||||
| main.rs:29:34:29:34 | b | main.rs:29:32:29:36 | { ... } | |
|
||||
| main.rs:33:21:33:21 | [SSA] m | main.rs:35:19:35:19 | m | |
|
||||
| main.rs:33:21:33:21 | m | main.rs:33:21:33:21 | [SSA] m | |
|
||||
| main.rs:33:21:33:21 | m | main.rs:33:21:33:21 | m | |
|
||||
| main.rs:33:21:33:34 | ...: Option::<...> | main.rs:33:21:33:21 | m | |
|
||||
| main.rs:34:9:34:9 | [SSA] a | main.rs:36:20:36:20 | a | |
|
||||
| main.rs:34:9:34:9 | a | main.rs:34:9:34:9 | [SSA] a | |
|
||||
| main.rs:34:9:34:9 | a | main.rs:34:9:34:9 | a | |
|
||||
| main.rs:34:13:34:21 | source(...) | main.rs:34:9:34:9 | a | |
|
||||
| main.rs:35:9:35:9 | [SSA] b | main.rs:39:10:39:10 | b | |
|
||||
| main.rs:35:9:35:9 | b | main.rs:35:9:35:9 | [SSA] b | |
|
||||
| main.rs:35:9:35:9 | b | main.rs:35:9:35:9 | b | |
|
||||
| main.rs:35:13:38:5 | match m { ... } | main.rs:35:9:35:9 | b | |
|
||||
| main.rs:35:19:35:19 | m | main.rs:36:9:36:15 | Some(...) | |
|
||||
| main.rs:35:19:35:19 | m | main.rs:37:9:37:12 | None | |
|
||||
@@ -151,30 +162,36 @@ localStep
|
||||
| main.rs:37:17:37:17 | 0 | main.rs:35:13:38:5 | match m { ... } | |
|
||||
| main.rs:43:9:43:9 | [SSA] a | main.rs:46:10:46:10 | a | |
|
||||
| main.rs:43:9:43:9 | a | main.rs:43:9:43:9 | [SSA] a | |
|
||||
| main.rs:43:9:43:9 | a | main.rs:43:9:43:9 | a | |
|
||||
| main.rs:43:13:45:5 | loop { ... } | main.rs:43:9:43:9 | a | |
|
||||
| main.rs:44:9:44:15 | break 1 | main.rs:43:13:45:5 | loop { ... } | |
|
||||
| main.rs:44:15:44:15 | 1 | main.rs:44:9:44:15 | break 1 | |
|
||||
| main.rs:47:9:47:9 | [SSA] b | main.rs:50:10:50:10 | b | |
|
||||
| main.rs:47:9:47:9 | b | main.rs:47:9:47:9 | [SSA] b | |
|
||||
| main.rs:47:9:47:9 | b | main.rs:47:9:47:9 | b | |
|
||||
| main.rs:47:13:49:5 | loop { ... } | main.rs:47:9:47:9 | b | |
|
||||
| main.rs:48:9:48:23 | break ... | main.rs:47:13:49:5 | loop { ... } | |
|
||||
| main.rs:48:15:48:23 | source(...) | main.rs:48:9:48:23 | break ... | |
|
||||
| main.rs:54:9:54:13 | [SSA] mut i | main.rs:55:10:55:10 | i | |
|
||||
| main.rs:54:9:54:13 | mut i | main.rs:54:9:54:13 | [SSA] mut i | |
|
||||
| main.rs:54:9:54:13 | mut i | main.rs:54:13:54:13 | i | |
|
||||
| main.rs:54:13:54:13 | [SSA] i | main.rs:55:10:55:10 | i | |
|
||||
| main.rs:54:13:54:13 | i | main.rs:54:13:54:13 | [SSA] i | |
|
||||
| main.rs:54:17:54:17 | 1 | main.rs:54:9:54:13 | mut i | |
|
||||
| main.rs:56:5:56:5 | [SSA] i | main.rs:57:10:57:10 | i | |
|
||||
| main.rs:56:5:56:5 | i | main.rs:56:5:56:5 | [SSA] i | |
|
||||
| main.rs:56:9:56:17 | source(...) | main.rs:56:5:56:5 | i | |
|
||||
| main.rs:61:9:61:9 | [SSA] a | main.rs:62:5:62:5 | a | |
|
||||
| main.rs:61:9:61:9 | a | main.rs:61:9:61:9 | [SSA] a | |
|
||||
| main.rs:61:9:61:9 | a | main.rs:61:9:61:9 | a | |
|
||||
| main.rs:61:13:61:17 | { ... } | main.rs:61:9:61:9 | a | |
|
||||
| main.rs:61:15:61:15 | 0 | main.rs:61:13:61:17 | { ... } | |
|
||||
| main.rs:62:5:62:5 | a | main.rs:60:31:63:1 | { ... } | |
|
||||
| main.rs:65:22:65:22 | [SSA] b | main.rs:67:12:67:12 | b | |
|
||||
| main.rs:65:22:65:22 | b | main.rs:65:22:65:22 | [SSA] b | |
|
||||
| main.rs:65:22:65:22 | b | main.rs:65:22:65:22 | b | |
|
||||
| main.rs:65:22:65:28 | ...: bool | main.rs:65:22:65:22 | b | |
|
||||
| main.rs:66:9:66:9 | [SSA] a | main.rs:72:5:72:5 | a | |
|
||||
| main.rs:66:9:66:9 | a | main.rs:66:9:66:9 | [SSA] a | |
|
||||
| main.rs:66:9:66:9 | a | main.rs:66:9:66:9 | a | |
|
||||
| main.rs:66:13:71:5 | 'block: { ... } | main.rs:66:9:66:9 | a | |
|
||||
| main.rs:68:13:68:26 | break ''block 1 | main.rs:66:13:71:5 | 'block: { ... } | |
|
||||
| main.rs:68:26:68:26 | 1 | main.rs:68:13:68:26 | break ''block 1 | |
|
||||
@@ -182,9 +199,11 @@ localStep
|
||||
| main.rs:72:5:72:5 | a | main.rs:65:38:73:1 | { ... } | |
|
||||
| main.rs:75:22:75:22 | [SSA] b | main.rs:77:12:77:12 | b | |
|
||||
| main.rs:75:22:75:22 | b | main.rs:75:22:75:22 | [SSA] b | |
|
||||
| main.rs:75:22:75:22 | b | main.rs:75:22:75:22 | b | |
|
||||
| main.rs:75:22:75:28 | ...: bool | main.rs:75:22:75:22 | b | |
|
||||
| main.rs:76:9:76:9 | [SSA] a | main.rs:82:5:82:5 | a | |
|
||||
| main.rs:76:9:76:9 | a | main.rs:76:9:76:9 | [SSA] a | |
|
||||
| main.rs:76:9:76:9 | a | main.rs:76:9:76:9 | a | |
|
||||
| main.rs:76:13:81:5 | 'block: { ... } | main.rs:76:9:76:9 | a | |
|
||||
| main.rs:78:13:78:26 | break ''block 1 | main.rs:76:13:81:5 | 'block: { ... } | |
|
||||
| main.rs:78:26:78:26 | 1 | main.rs:78:13:78:26 | break ''block 1 | |
|
||||
@@ -193,24 +212,31 @@ localStep
|
||||
| main.rs:82:5:82:5 | a | main.rs:75:38:83:1 | { ... } | |
|
||||
| main.rs:89:9:89:9 | [SSA] i | main.rs:90:11:90:11 | i | |
|
||||
| main.rs:89:9:89:9 | i | main.rs:89:9:89:9 | [SSA] i | |
|
||||
| main.rs:89:9:89:9 | i | main.rs:89:9:89:9 | i | |
|
||||
| main.rs:89:13:89:31 | ...::new(...) | main.rs:89:9:89:9 | i | |
|
||||
| main.rs:97:9:97:9 | [SSA] a | main.rs:98:10:98:10 | a | |
|
||||
| main.rs:97:9:97:9 | a | main.rs:97:9:97:9 | [SSA] a | |
|
||||
| main.rs:97:9:97:9 | a | main.rs:97:9:97:9 | a | |
|
||||
| main.rs:97:13:97:26 | TupleExpr | main.rs:97:9:97:9 | a | |
|
||||
| main.rs:98:10:98:10 | [post] a | main.rs:99:10:99:10 | a | |
|
||||
| main.rs:98:10:98:10 | a | main.rs:99:10:99:10 | a | |
|
||||
| main.rs:103:9:103:9 | [SSA] a | main.rs:104:24:104:24 | a | |
|
||||
| main.rs:103:9:103:9 | a | main.rs:103:9:103:9 | [SSA] a | |
|
||||
| main.rs:103:9:103:9 | a | main.rs:103:9:103:9 | a | |
|
||||
| main.rs:103:13:103:30 | TupleExpr | main.rs:103:9:103:9 | a | |
|
||||
| main.rs:104:10:104:11 | [SSA] a0 | main.rs:105:10:105:11 | a0 | |
|
||||
| main.rs:104:10:104:11 | a0 | main.rs:104:10:104:11 | [SSA] a0 | |
|
||||
| main.rs:104:10:104:11 | a0 | main.rs:104:10:104:11 | a0 | |
|
||||
| main.rs:104:14:104:15 | [SSA] a1 | main.rs:106:10:106:11 | a1 | |
|
||||
| main.rs:104:14:104:15 | a1 | main.rs:104:14:104:15 | [SSA] a1 | |
|
||||
| main.rs:104:14:104:15 | a1 | main.rs:104:14:104:15 | a1 | |
|
||||
| main.rs:104:18:104:19 | [SSA] a2 | main.rs:107:10:107:11 | a2 | |
|
||||
| main.rs:104:18:104:19 | a2 | main.rs:104:18:104:19 | [SSA] a2 | |
|
||||
| main.rs:104:18:104:19 | a2 | main.rs:104:18:104:19 | a2 | |
|
||||
| main.rs:104:24:104:24 | a | main.rs:104:9:104:20 | TuplePat | |
|
||||
| main.rs:111:9:111:13 | [SSA] mut a | main.rs:112:10:112:10 | a | |
|
||||
| main.rs:111:9:111:13 | mut a | main.rs:111:9:111:13 | [SSA] mut a | |
|
||||
| main.rs:111:9:111:13 | mut a | main.rs:111:13:111:13 | a | |
|
||||
| main.rs:111:13:111:13 | [SSA] a | main.rs:112:10:112:10 | a | |
|
||||
| main.rs:111:13:111:13 | a | main.rs:111:13:111:13 | [SSA] a | |
|
||||
| main.rs:111:17:111:31 | TupleExpr | main.rs:111:9:111:13 | mut a | |
|
||||
| main.rs:112:10:112:10 | [post] a | main.rs:113:10:113:10 | a | |
|
||||
| main.rs:112:10:112:10 | a | main.rs:113:10:113:10 | a | |
|
||||
@@ -226,9 +252,11 @@ localStep
|
||||
| main.rs:116:10:116:10 | a | main.rs:117:10:117:10 | a | |
|
||||
| main.rs:121:9:121:9 | [SSA] a | main.rs:122:14:122:14 | a | |
|
||||
| main.rs:121:9:121:9 | a | main.rs:121:9:121:9 | [SSA] a | |
|
||||
| main.rs:121:9:121:9 | a | main.rs:121:9:121:9 | a | |
|
||||
| main.rs:121:13:121:27 | TupleExpr | main.rs:121:9:121:9 | a | |
|
||||
| main.rs:122:9:122:9 | [SSA] b | main.rs:123:10:123:10 | b | |
|
||||
| main.rs:122:9:122:9 | b | main.rs:122:9:122:9 | [SSA] b | |
|
||||
| main.rs:122:9:122:9 | b | main.rs:122:9:122:9 | b | |
|
||||
| main.rs:122:13:122:18 | TupleExpr | main.rs:122:9:122:9 | b | |
|
||||
| main.rs:123:10:123:10 | [post] b | main.rs:124:10:124:10 | b | |
|
||||
| main.rs:123:10:123:10 | b | main.rs:124:10:124:10 | b | |
|
||||
@@ -236,11 +264,13 @@ localStep
|
||||
| main.rs:124:10:124:10 | b | main.rs:125:10:125:10 | b | |
|
||||
| main.rs:137:9:137:9 | [SSA] p | main.rs:138:10:138:10 | p | |
|
||||
| main.rs:137:9:137:9 | p | main.rs:137:9:137:9 | [SSA] p | |
|
||||
| main.rs:137:9:137:9 | p | main.rs:137:9:137:9 | p | |
|
||||
| main.rs:137:13:137:40 | Point {...} | main.rs:137:9:137:9 | p | |
|
||||
| main.rs:138:10:138:10 | [post] p | main.rs:139:10:139:10 | p | |
|
||||
| main.rs:138:10:138:10 | p | main.rs:139:10:139:10 | p | |
|
||||
| main.rs:143:9:143:13 | [SSA] mut p | main.rs:144:10:144:10 | p | |
|
||||
| main.rs:143:9:143:13 | mut p | main.rs:143:9:143:13 | [SSA] mut p | |
|
||||
| main.rs:143:9:143:13 | mut p | main.rs:143:13:143:13 | p | |
|
||||
| main.rs:143:13:143:13 | [SSA] p | main.rs:144:10:144:10 | p | |
|
||||
| main.rs:143:13:143:13 | p | main.rs:143:13:143:13 | [SSA] p | |
|
||||
| main.rs:143:17:143:44 | Point {...} | main.rs:143:9:143:13 | mut p | |
|
||||
| main.rs:144:10:144:10 | [post] p | main.rs:145:5:145:5 | p | |
|
||||
| main.rs:144:10:144:10 | p | main.rs:145:5:145:5 | p | |
|
||||
@@ -249,14 +279,18 @@ localStep
|
||||
| main.rs:145:11:145:20 | source(...) | main.rs:145:5:145:7 | p.y | |
|
||||
| main.rs:150:9:150:9 | [SSA] p | main.rs:154:32:154:32 | p | |
|
||||
| main.rs:150:9:150:9 | p | main.rs:150:9:150:9 | [SSA] p | |
|
||||
| main.rs:150:9:150:9 | p | main.rs:150:9:150:9 | p | |
|
||||
| main.rs:150:13:153:5 | Point {...} | main.rs:150:9:150:9 | p | |
|
||||
| main.rs:154:20:154:20 | [SSA] a | main.rs:155:10:155:10 | a | |
|
||||
| main.rs:154:20:154:20 | a | main.rs:154:20:154:20 | [SSA] a | |
|
||||
| main.rs:154:20:154:20 | a | main.rs:154:20:154:20 | a | |
|
||||
| main.rs:154:26:154:26 | [SSA] b | main.rs:156:10:156:10 | b | |
|
||||
| main.rs:154:26:154:26 | b | main.rs:154:26:154:26 | [SSA] b | |
|
||||
| main.rs:154:26:154:26 | b | main.rs:154:26:154:26 | b | |
|
||||
| main.rs:154:32:154:32 | p | main.rs:154:9:154:28 | Point {...} | |
|
||||
| main.rs:165:9:165:9 | [SSA] p | main.rs:172:10:172:10 | p | |
|
||||
| main.rs:165:9:165:9 | p | main.rs:165:9:165:9 | [SSA] p | |
|
||||
| main.rs:165:9:165:9 | p | main.rs:165:9:165:9 | p | |
|
||||
| main.rs:165:13:171:5 | Point3D {...} | main.rs:165:9:165:9 | p | |
|
||||
| main.rs:172:10:172:10 | [post] p | main.rs:173:10:173:10 | p | |
|
||||
| main.rs:172:10:172:10 | p | main.rs:173:10:173:10 | p | |
|
||||
@@ -264,21 +298,27 @@ localStep
|
||||
| main.rs:173:10:173:10 | p | main.rs:174:10:174:10 | p | |
|
||||
| main.rs:178:9:178:9 | [SSA] y | main.rs:180:30:180:30 | y | |
|
||||
| main.rs:178:9:178:9 | y | main.rs:178:9:178:9 | [SSA] y | |
|
||||
| main.rs:178:9:178:9 | y | main.rs:178:9:178:9 | y | |
|
||||
| main.rs:178:13:178:22 | source(...) | main.rs:178:9:178:9 | y | |
|
||||
| main.rs:179:9:179:9 | [SSA] p | main.rs:183:11:183:11 | p | |
|
||||
| main.rs:179:9:179:9 | p | main.rs:179:9:179:9 | [SSA] p | |
|
||||
| main.rs:179:9:179:9 | p | main.rs:179:9:179:9 | p | |
|
||||
| main.rs:179:13:182:5 | Point3D {...} | main.rs:179:9:179:9 | p | |
|
||||
| main.rs:183:5:192:5 | match p { ... } | main.rs:177:26:193:1 | { ... } | |
|
||||
| main.rs:183:11:183:11 | p | main.rs:184:9:187:9 | Point3D {...} | |
|
||||
| main.rs:185:28:185:28 | [SSA] x | main.rs:188:18:188:18 | x | |
|
||||
| main.rs:185:28:185:28 | x | main.rs:185:28:185:28 | [SSA] x | |
|
||||
| main.rs:185:28:185:28 | x | main.rs:185:28:185:28 | x | |
|
||||
| main.rs:185:31:185:31 | [SSA] y | main.rs:189:18:189:18 | y | |
|
||||
| main.rs:185:31:185:31 | y | main.rs:185:31:185:31 | [SSA] y | |
|
||||
| main.rs:185:31:185:31 | y | main.rs:185:31:185:31 | y | |
|
||||
| main.rs:186:13:186:13 | [SSA] z | main.rs:190:18:190:18 | z | |
|
||||
| main.rs:186:13:186:13 | z | main.rs:186:13:186:13 | [SSA] z | |
|
||||
| main.rs:186:13:186:13 | z | main.rs:186:13:186:13 | z | |
|
||||
| main.rs:187:14:191:9 | { ... } | main.rs:183:5:192:5 | match p { ... } | |
|
||||
| main.rs:198:9:198:9 | [SSA] s | main.rs:199:10:199:10 | s | |
|
||||
| main.rs:198:9:198:9 | s | main.rs:198:9:198:9 | [SSA] s | |
|
||||
| main.rs:198:9:198:9 | s | main.rs:198:9:198:9 | s | |
|
||||
| main.rs:198:13:198:40 | MyTupleStruct(...) | main.rs:198:9:198:9 | s | |
|
||||
| main.rs:199:10:199:10 | [post] s | main.rs:200:10:200:10 | s | |
|
||||
| main.rs:199:10:199:10 | s | main.rs:200:10:200:10 | s | |
|
||||
@@ -288,19 +328,24 @@ localStep
|
||||
| main.rs:202:11:202:11 | s | main.rs:203:9:203:27 | MyTupleStruct(...) | |
|
||||
| main.rs:203:23:203:23 | [SSA] x | main.rs:204:18:204:18 | x | |
|
||||
| main.rs:203:23:203:23 | x | main.rs:203:23:203:23 | [SSA] x | |
|
||||
| main.rs:203:23:203:23 | x | main.rs:203:23:203:23 | x | |
|
||||
| main.rs:203:26:203:26 | [SSA] y | main.rs:205:18:205:18 | y | |
|
||||
| main.rs:203:26:203:26 | y | main.rs:203:26:203:26 | [SSA] y | |
|
||||
| main.rs:203:26:203:26 | y | main.rs:203:26:203:26 | y | |
|
||||
| main.rs:203:32:206:9 | { ... } | main.rs:202:5:207:5 | match s { ... } | |
|
||||
| main.rs:214:9:214:10 | [SSA] s1 | main.rs:216:11:216:12 | s1 | |
|
||||
| main.rs:214:9:214:10 | s1 | main.rs:214:9:214:10 | [SSA] s1 | |
|
||||
| main.rs:214:9:214:10 | s1 | main.rs:214:9:214:10 | s1 | |
|
||||
| main.rs:214:14:214:37 | ...::Some(...) | main.rs:214:9:214:10 | s1 | |
|
||||
| main.rs:215:9:215:10 | [SSA] s2 | main.rs:220:11:220:12 | s2 | |
|
||||
| main.rs:215:9:215:10 | s2 | main.rs:215:9:215:10 | [SSA] s2 | |
|
||||
| main.rs:215:9:215:10 | s2 | main.rs:215:9:215:10 | s2 | |
|
||||
| main.rs:215:14:215:28 | ...::Some(...) | main.rs:215:9:215:10 | s2 | |
|
||||
| main.rs:216:11:216:12 | s1 | main.rs:217:9:217:23 | ...::Some(...) | |
|
||||
| main.rs:216:11:216:12 | s1 | main.rs:218:9:218:20 | ...::None | |
|
||||
| main.rs:217:22:217:22 | [SSA] n | main.rs:217:33:217:33 | n | |
|
||||
| main.rs:217:22:217:22 | n | main.rs:217:22:217:22 | [SSA] n | |
|
||||
| main.rs:217:22:217:22 | n | main.rs:217:22:217:22 | n | |
|
||||
| main.rs:217:28:217:34 | sink(...) | main.rs:216:5:219:5 | match s1 { ... } | |
|
||||
| main.rs:218:25:218:31 | sink(...) | main.rs:216:5:219:5 | match s1 { ... } | |
|
||||
| main.rs:220:5:223:5 | match s2 { ... } | main.rs:213:37:224:1 | { ... } | |
|
||||
@@ -308,18 +353,22 @@ localStep
|
||||
| main.rs:220:11:220:12 | s2 | main.rs:222:9:222:20 | ...::None | |
|
||||
| main.rs:221:22:221:22 | [SSA] n | main.rs:221:33:221:33 | n | |
|
||||
| main.rs:221:22:221:22 | n | main.rs:221:22:221:22 | [SSA] n | |
|
||||
| main.rs:221:22:221:22 | n | main.rs:221:22:221:22 | n | |
|
||||
| main.rs:221:28:221:34 | sink(...) | main.rs:220:5:223:5 | match s2 { ... } | |
|
||||
| main.rs:222:25:222:31 | sink(...) | main.rs:220:5:223:5 | match s2 { ... } | |
|
||||
| main.rs:227:9:227:10 | [SSA] s1 | main.rs:229:11:229:12 | s1 | |
|
||||
| main.rs:227:9:227:10 | s1 | main.rs:227:9:227:10 | [SSA] s1 | |
|
||||
| main.rs:227:9:227:10 | s1 | main.rs:227:9:227:10 | s1 | |
|
||||
| main.rs:227:14:227:29 | Some(...) | main.rs:227:9:227:10 | s1 | |
|
||||
| main.rs:228:9:228:10 | [SSA] s2 | main.rs:233:11:233:12 | s2 | |
|
||||
| main.rs:228:9:228:10 | s2 | main.rs:228:9:228:10 | [SSA] s2 | |
|
||||
| main.rs:228:9:228:10 | s2 | main.rs:228:9:228:10 | s2 | |
|
||||
| main.rs:228:14:228:20 | Some(...) | main.rs:228:9:228:10 | s2 | |
|
||||
| main.rs:229:11:229:12 | s1 | main.rs:230:9:230:15 | Some(...) | |
|
||||
| main.rs:229:11:229:12 | s1 | main.rs:231:9:231:12 | None | |
|
||||
| main.rs:230:14:230:14 | [SSA] n | main.rs:230:25:230:25 | n | |
|
||||
| main.rs:230:14:230:14 | n | main.rs:230:14:230:14 | [SSA] n | |
|
||||
| main.rs:230:14:230:14 | n | main.rs:230:14:230:14 | n | |
|
||||
| main.rs:230:20:230:26 | sink(...) | main.rs:229:5:232:5 | match s1 { ... } | |
|
||||
| main.rs:231:17:231:23 | sink(...) | main.rs:229:5:232:5 | match s1 { ... } | |
|
||||
| main.rs:233:5:236:5 | match s2 { ... } | main.rs:226:39:237:1 | { ... } | |
|
||||
@@ -327,76 +376,97 @@ localStep
|
||||
| main.rs:233:11:233:12 | s2 | main.rs:235:9:235:12 | None | |
|
||||
| main.rs:234:14:234:14 | [SSA] n | main.rs:234:25:234:25 | n | |
|
||||
| main.rs:234:14:234:14 | n | main.rs:234:14:234:14 | [SSA] n | |
|
||||
| main.rs:234:14:234:14 | n | main.rs:234:14:234:14 | n | |
|
||||
| main.rs:234:20:234:26 | sink(...) | main.rs:233:5:236:5 | match s2 { ... } | |
|
||||
| main.rs:235:17:235:23 | sink(...) | main.rs:233:5:236:5 | match s2 { ... } | |
|
||||
| main.rs:240:9:240:10 | [SSA] s1 | main.rs:241:10:241:11 | s1 | |
|
||||
| main.rs:240:9:240:10 | s1 | main.rs:240:9:240:10 | [SSA] s1 | |
|
||||
| main.rs:240:9:240:10 | s1 | main.rs:240:9:240:10 | s1 | |
|
||||
| main.rs:240:14:240:29 | Some(...) | main.rs:240:9:240:10 | s1 | |
|
||||
| main.rs:245:9:245:10 | [SSA] s1 | main.rs:246:10:246:11 | s1 | |
|
||||
| main.rs:245:9:245:10 | s1 | main.rs:245:9:245:10 | [SSA] s1 | |
|
||||
| main.rs:245:9:245:10 | s1 | main.rs:245:9:245:10 | s1 | |
|
||||
| main.rs:245:14:245:29 | Some(...) | main.rs:245:9:245:10 | s1 | |
|
||||
| main.rs:248:9:248:10 | [SSA] s2 | main.rs:249:10:249:11 | s2 | |
|
||||
| main.rs:248:9:248:10 | s2 | main.rs:248:9:248:10 | [SSA] s2 | |
|
||||
| main.rs:248:9:248:10 | s2 | main.rs:248:9:248:10 | s2 | |
|
||||
| main.rs:248:14:248:20 | Some(...) | main.rs:248:9:248:10 | s2 | |
|
||||
| main.rs:253:9:253:10 | [SSA] s1 | main.rs:254:10:254:11 | s1 | |
|
||||
| main.rs:253:9:253:10 | s1 | main.rs:253:9:253:10 | [SSA] s1 | |
|
||||
| main.rs:253:9:253:10 | s1 | main.rs:253:9:253:10 | s1 | |
|
||||
| main.rs:253:14:253:29 | Some(...) | main.rs:253:9:253:10 | s1 | |
|
||||
| main.rs:256:9:256:10 | [SSA] s2 | main.rs:257:10:257:11 | s2 | |
|
||||
| main.rs:256:9:256:10 | s2 | main.rs:256:9:256:10 | [SSA] s2 | |
|
||||
| main.rs:256:9:256:10 | s2 | main.rs:256:9:256:10 | s2 | |
|
||||
| main.rs:256:14:256:17 | None | main.rs:256:9:256:10 | s2 | |
|
||||
| main.rs:261:9:261:10 | [SSA] s1 | main.rs:263:14:263:15 | s1 | |
|
||||
| main.rs:261:9:261:10 | s1 | main.rs:261:9:261:10 | [SSA] s1 | |
|
||||
| main.rs:261:9:261:10 | s1 | main.rs:261:9:261:10 | s1 | |
|
||||
| main.rs:261:14:261:29 | Some(...) | main.rs:261:9:261:10 | s1 | |
|
||||
| main.rs:262:9:262:10 | [SSA] s2 | main.rs:265:10:265:11 | s2 | |
|
||||
| main.rs:262:9:262:10 | s2 | main.rs:262:9:262:10 | [SSA] s2 | |
|
||||
| main.rs:262:9:262:10 | s2 | main.rs:262:9:262:10 | s2 | |
|
||||
| main.rs:262:14:262:20 | Some(...) | main.rs:262:9:262:10 | s2 | |
|
||||
| main.rs:263:9:263:10 | [SSA] i1 | main.rs:264:10:264:11 | i1 | |
|
||||
| main.rs:263:9:263:10 | i1 | main.rs:263:9:263:10 | [SSA] i1 | |
|
||||
| main.rs:263:9:263:10 | i1 | main.rs:263:9:263:10 | i1 | |
|
||||
| main.rs:263:14:263:16 | TryExpr | main.rs:263:9:263:10 | i1 | |
|
||||
| main.rs:266:5:266:11 | Some(...) | main.rs:260:41:267:1 | { ... } | |
|
||||
| main.rs:270:9:270:10 | [SSA] s1 | main.rs:273:14:273:15 | s1 | |
|
||||
| main.rs:270:9:270:10 | s1 | main.rs:270:9:270:10 | [SSA] s1 | |
|
||||
| main.rs:270:9:270:10 | s1 | main.rs:270:9:270:10 | s1 | |
|
||||
| main.rs:270:32:270:45 | Ok(...) | main.rs:270:9:270:10 | s1 | |
|
||||
| main.rs:271:9:271:10 | [SSA] s2 | main.rs:274:14:274:15 | s2 | |
|
||||
| main.rs:271:9:271:10 | s2 | main.rs:271:9:271:10 | [SSA] s2 | |
|
||||
| main.rs:271:9:271:10 | s2 | main.rs:271:9:271:10 | s2 | |
|
||||
| main.rs:271:32:271:36 | Ok(...) | main.rs:271:9:271:10 | s2 | |
|
||||
| main.rs:272:9:272:10 | [SSA] s3 | main.rs:277:14:277:15 | s3 | |
|
||||
| main.rs:272:9:272:10 | s3 | main.rs:272:9:272:10 | [SSA] s3 | |
|
||||
| main.rs:272:9:272:10 | s3 | main.rs:272:9:272:10 | s3 | |
|
||||
| main.rs:272:32:272:46 | Err(...) | main.rs:272:9:272:10 | s3 | |
|
||||
| main.rs:273:9:273:10 | [SSA] i1 | main.rs:275:10:275:11 | i1 | |
|
||||
| main.rs:273:9:273:10 | i1 | main.rs:273:9:273:10 | [SSA] i1 | |
|
||||
| main.rs:273:9:273:10 | i1 | main.rs:273:9:273:10 | i1 | |
|
||||
| main.rs:273:14:273:16 | TryExpr | main.rs:273:9:273:10 | i1 | |
|
||||
| main.rs:274:9:274:10 | [SSA] i2 | main.rs:276:10:276:11 | i2 | |
|
||||
| main.rs:274:9:274:10 | i2 | main.rs:274:9:274:10 | [SSA] i2 | |
|
||||
| main.rs:274:9:274:10 | i2 | main.rs:274:9:274:10 | i2 | |
|
||||
| main.rs:274:14:274:16 | TryExpr | main.rs:274:9:274:10 | i2 | |
|
||||
| main.rs:277:9:277:10 | [SSA] i3 | main.rs:278:10:278:11 | i3 | |
|
||||
| main.rs:277:9:277:10 | i3 | main.rs:277:9:277:10 | [SSA] i3 | |
|
||||
| main.rs:277:9:277:10 | i3 | main.rs:277:9:277:10 | i3 | |
|
||||
| main.rs:277:14:277:16 | TryExpr | main.rs:277:9:277:10 | i3 | |
|
||||
| main.rs:279:5:279:9 | Ok(...) | main.rs:269:46:280:1 | { ... } | |
|
||||
| main.rs:283:9:283:10 | [SSA] s1 | main.rs:284:10:284:11 | s1 | |
|
||||
| main.rs:283:9:283:10 | s1 | main.rs:283:9:283:10 | [SSA] s1 | |
|
||||
| main.rs:283:9:283:10 | s1 | main.rs:283:9:283:10 | s1 | |
|
||||
| main.rs:283:32:283:45 | Ok(...) | main.rs:283:9:283:10 | s1 | |
|
||||
| main.rs:284:10:284:11 | [post] s1 | main.rs:285:10:285:11 | s1 | |
|
||||
| main.rs:284:10:284:11 | s1 | main.rs:285:10:285:11 | s1 | |
|
||||
| main.rs:287:9:287:10 | [SSA] s2 | main.rs:288:10:288:11 | s2 | |
|
||||
| main.rs:287:9:287:10 | s2 | main.rs:287:9:287:10 | [SSA] s2 | |
|
||||
| main.rs:287:9:287:10 | s2 | main.rs:287:9:287:10 | s2 | |
|
||||
| main.rs:287:32:287:46 | Err(...) | main.rs:287:9:287:10 | s2 | |
|
||||
| main.rs:288:10:288:11 | [post] s2 | main.rs:289:10:289:11 | s2 | |
|
||||
| main.rs:288:10:288:11 | s2 | main.rs:289:10:289:11 | s2 | |
|
||||
| main.rs:298:9:298:10 | [SSA] s1 | main.rs:300:11:300:12 | s1 | |
|
||||
| main.rs:298:9:298:10 | s1 | main.rs:298:9:298:10 | [SSA] s1 | |
|
||||
| main.rs:298:9:298:10 | s1 | main.rs:298:9:298:10 | s1 | |
|
||||
| main.rs:298:14:298:39 | ...::A(...) | main.rs:298:9:298:10 | s1 | |
|
||||
| main.rs:299:9:299:10 | [SSA] s2 | main.rs:307:11:307:12 | s2 | |
|
||||
| main.rs:299:9:299:10 | s2 | main.rs:299:9:299:10 | [SSA] s2 | |
|
||||
| main.rs:299:9:299:10 | s2 | main.rs:299:9:299:10 | s2 | |
|
||||
| main.rs:299:14:299:30 | ...::B(...) | main.rs:299:9:299:10 | s2 | |
|
||||
| main.rs:300:11:300:12 | s1 | main.rs:301:9:301:25 | ...::A(...) | |
|
||||
| main.rs:300:11:300:12 | s1 | main.rs:302:9:302:25 | ...::B(...) | |
|
||||
| main.rs:300:11:300:12 | s1 | main.rs:304:11:304:12 | s1 | |
|
||||
| main.rs:301:24:301:24 | [SSA] n | main.rs:301:35:301:35 | n | |
|
||||
| main.rs:301:24:301:24 | n | main.rs:301:24:301:24 | [SSA] n | |
|
||||
| main.rs:301:24:301:24 | n | main.rs:301:24:301:24 | n | |
|
||||
| main.rs:301:30:301:36 | sink(...) | main.rs:300:5:303:5 | match s1 { ... } | |
|
||||
| main.rs:302:24:302:24 | [SSA] n | main.rs:302:35:302:35 | n | |
|
||||
| main.rs:302:24:302:24 | n | main.rs:302:24:302:24 | [SSA] n | |
|
||||
| main.rs:302:24:302:24 | n | main.rs:302:24:302:24 | n | |
|
||||
| main.rs:302:30:302:36 | sink(...) | main.rs:300:5:303:5 | match s1 { ... } | |
|
||||
| main.rs:304:11:304:12 | s1 | main.rs:305:9:305:45 | ... \| ... | |
|
||||
| main.rs:305:9:305:45 | ... \| ... | main.rs:305:9:305:25 | ...::A(...) | |
|
||||
@@ -405,33 +475,41 @@ localStep
|
||||
| main.rs:305:24:305:24 | [SSA] [input] [match(true)] phi | main.rs:305:9:305:45 | [SSA] [match(true)] phi | |
|
||||
| main.rs:305:24:305:24 | [SSA] n | main.rs:305:24:305:24 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:305:24:305:24 | n | main.rs:305:24:305:24 | [SSA] n | |
|
||||
| main.rs:305:24:305:24 | n | main.rs:305:24:305:24 | n | |
|
||||
| main.rs:305:44:305:44 | [SSA] [input] [match(true)] phi | main.rs:305:9:305:45 | [SSA] [match(true)] phi | |
|
||||
| main.rs:305:44:305:44 | [SSA] n | main.rs:305:44:305:44 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:305:44:305:44 | n | main.rs:305:44:305:44 | [SSA] n | |
|
||||
| main.rs:305:44:305:44 | n | main.rs:305:44:305:44 | n | |
|
||||
| main.rs:305:50:305:56 | sink(...) | main.rs:304:5:306:5 | match s1 { ... } | |
|
||||
| main.rs:307:5:310:5 | match s2 { ... } | main.rs:297:48:311:1 | { ... } | |
|
||||
| main.rs:307:11:307:12 | s2 | main.rs:308:9:308:25 | ...::A(...) | |
|
||||
| main.rs:307:11:307:12 | s2 | main.rs:309:9:309:25 | ...::B(...) | |
|
||||
| main.rs:308:24:308:24 | [SSA] n | main.rs:308:35:308:35 | n | |
|
||||
| main.rs:308:24:308:24 | n | main.rs:308:24:308:24 | [SSA] n | |
|
||||
| main.rs:308:24:308:24 | n | main.rs:308:24:308:24 | n | |
|
||||
| main.rs:308:30:308:36 | sink(...) | main.rs:307:5:310:5 | match s2 { ... } | |
|
||||
| main.rs:309:24:309:24 | [SSA] n | main.rs:309:35:309:35 | n | |
|
||||
| main.rs:309:24:309:24 | n | main.rs:309:24:309:24 | [SSA] n | |
|
||||
| main.rs:309:24:309:24 | n | main.rs:309:24:309:24 | n | |
|
||||
| main.rs:309:30:309:36 | sink(...) | main.rs:307:5:310:5 | match s2 { ... } | |
|
||||
| main.rs:316:9:316:10 | [SSA] s1 | main.rs:318:11:318:12 | s1 | |
|
||||
| main.rs:316:9:316:10 | s1 | main.rs:316:9:316:10 | [SSA] s1 | |
|
||||
| main.rs:316:9:316:10 | s1 | main.rs:316:9:316:10 | s1 | |
|
||||
| main.rs:316:14:316:26 | A(...) | main.rs:316:9:316:10 | s1 | |
|
||||
| main.rs:317:9:317:10 | [SSA] s2 | main.rs:325:11:325:12 | s2 | |
|
||||
| main.rs:317:9:317:10 | s2 | main.rs:317:9:317:10 | [SSA] s2 | |
|
||||
| main.rs:317:9:317:10 | s2 | main.rs:317:9:317:10 | s2 | |
|
||||
| main.rs:317:14:317:17 | B(...) | main.rs:317:9:317:10 | s2 | |
|
||||
| main.rs:318:11:318:12 | s1 | main.rs:319:9:319:12 | A(...) | |
|
||||
| main.rs:318:11:318:12 | s1 | main.rs:320:9:320:12 | B(...) | |
|
||||
| main.rs:318:11:318:12 | s1 | main.rs:322:11:322:12 | s1 | |
|
||||
| main.rs:319:11:319:11 | [SSA] n | main.rs:319:22:319:22 | n | |
|
||||
| main.rs:319:11:319:11 | n | main.rs:319:11:319:11 | [SSA] n | |
|
||||
| main.rs:319:11:319:11 | n | main.rs:319:11:319:11 | n | |
|
||||
| main.rs:319:17:319:23 | sink(...) | main.rs:318:5:321:5 | match s1 { ... } | |
|
||||
| main.rs:320:11:320:11 | [SSA] n | main.rs:320:22:320:22 | n | |
|
||||
| main.rs:320:11:320:11 | n | main.rs:320:11:320:11 | [SSA] n | |
|
||||
| main.rs:320:11:320:11 | n | main.rs:320:11:320:11 | n | |
|
||||
| main.rs:320:17:320:23 | sink(...) | main.rs:318:5:321:5 | match s1 { ... } | |
|
||||
| main.rs:322:11:322:12 | s1 | main.rs:323:9:323:19 | ... \| ... | |
|
||||
| main.rs:323:9:323:19 | ... \| ... | main.rs:323:9:323:12 | A(...) | |
|
||||
@@ -440,33 +518,41 @@ localStep
|
||||
| main.rs:323:11:323:11 | [SSA] [input] [match(true)] phi | main.rs:323:9:323:19 | [SSA] [match(true)] phi | |
|
||||
| main.rs:323:11:323:11 | [SSA] n | main.rs:323:11:323:11 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:323:11:323:11 | n | main.rs:323:11:323:11 | [SSA] n | |
|
||||
| main.rs:323:11:323:11 | n | main.rs:323:11:323:11 | n | |
|
||||
| main.rs:323:18:323:18 | [SSA] [input] [match(true)] phi | main.rs:323:9:323:19 | [SSA] [match(true)] phi | |
|
||||
| main.rs:323:18:323:18 | [SSA] n | main.rs:323:18:323:18 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:323:18:323:18 | n | main.rs:323:18:323:18 | [SSA] n | |
|
||||
| main.rs:323:18:323:18 | n | main.rs:323:18:323:18 | n | |
|
||||
| main.rs:323:24:323:30 | sink(...) | main.rs:322:5:324:5 | match s1 { ... } | |
|
||||
| main.rs:325:5:328:5 | match s2 { ... } | main.rs:315:50:329:1 | { ... } | |
|
||||
| main.rs:325:11:325:12 | s2 | main.rs:326:9:326:12 | A(...) | |
|
||||
| main.rs:325:11:325:12 | s2 | main.rs:327:9:327:12 | B(...) | |
|
||||
| main.rs:326:11:326:11 | [SSA] n | main.rs:326:22:326:22 | n | |
|
||||
| main.rs:326:11:326:11 | n | main.rs:326:11:326:11 | [SSA] n | |
|
||||
| main.rs:326:11:326:11 | n | main.rs:326:11:326:11 | n | |
|
||||
| main.rs:326:17:326:23 | sink(...) | main.rs:325:5:328:5 | match s2 { ... } | |
|
||||
| main.rs:327:11:327:11 | [SSA] n | main.rs:327:22:327:22 | n | |
|
||||
| main.rs:327:11:327:11 | n | main.rs:327:11:327:11 | [SSA] n | |
|
||||
| main.rs:327:11:327:11 | n | main.rs:327:11:327:11 | n | |
|
||||
| main.rs:327:17:327:23 | sink(...) | main.rs:325:5:328:5 | match s2 { ... } | |
|
||||
| main.rs:337:9:337:10 | [SSA] s1 | main.rs:341:11:341:12 | s1 | |
|
||||
| main.rs:337:9:337:10 | s1 | main.rs:337:9:337:10 | [SSA] s1 | |
|
||||
| main.rs:337:9:337:10 | s1 | main.rs:337:9:337:10 | s1 | |
|
||||
| main.rs:337:14:339:5 | ...::C {...} | main.rs:337:9:337:10 | s1 | |
|
||||
| main.rs:340:9:340:10 | [SSA] s2 | main.rs:348:11:348:12 | s2 | |
|
||||
| main.rs:340:9:340:10 | s2 | main.rs:340:9:340:10 | [SSA] s2 | |
|
||||
| main.rs:340:9:340:10 | s2 | main.rs:340:9:340:10 | s2 | |
|
||||
| main.rs:340:14:340:43 | ...::D {...} | main.rs:340:9:340:10 | s2 | |
|
||||
| main.rs:341:11:341:12 | s1 | main.rs:342:9:342:38 | ...::C {...} | |
|
||||
| main.rs:341:11:341:12 | s1 | main.rs:343:9:343:38 | ...::D {...} | |
|
||||
| main.rs:341:11:341:12 | s1 | main.rs:345:11:345:12 | s1 | |
|
||||
| main.rs:342:36:342:36 | [SSA] n | main.rs:342:48:342:48 | n | |
|
||||
| main.rs:342:36:342:36 | n | main.rs:342:36:342:36 | [SSA] n | |
|
||||
| main.rs:342:36:342:36 | n | main.rs:342:36:342:36 | n | |
|
||||
| main.rs:342:43:342:49 | sink(...) | main.rs:341:5:344:5 | match s1 { ... } | |
|
||||
| main.rs:343:36:343:36 | [SSA] n | main.rs:343:48:343:48 | n | |
|
||||
| main.rs:343:36:343:36 | n | main.rs:343:36:343:36 | [SSA] n | |
|
||||
| main.rs:343:36:343:36 | n | main.rs:343:36:343:36 | n | |
|
||||
| main.rs:343:43:343:49 | sink(...) | main.rs:341:5:344:5 | match s1 { ... } | |
|
||||
| main.rs:345:11:345:12 | s1 | main.rs:346:9:346:71 | ... \| ... | |
|
||||
| main.rs:346:9:346:71 | ... \| ... | main.rs:346:9:346:38 | ...::C {...} | |
|
||||
@@ -475,33 +561,41 @@ localStep
|
||||
| main.rs:346:36:346:36 | [SSA] [input] [match(true)] phi | main.rs:346:9:346:71 | [SSA] [match(true)] phi | |
|
||||
| main.rs:346:36:346:36 | [SSA] n | main.rs:346:36:346:36 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:346:36:346:36 | n | main.rs:346:36:346:36 | [SSA] n | |
|
||||
| main.rs:346:36:346:36 | n | main.rs:346:36:346:36 | n | |
|
||||
| main.rs:346:69:346:69 | [SSA] [input] [match(true)] phi | main.rs:346:9:346:71 | [SSA] [match(true)] phi | |
|
||||
| main.rs:346:69:346:69 | [SSA] n | main.rs:346:69:346:69 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:346:69:346:69 | n | main.rs:346:69:346:69 | [SSA] n | |
|
||||
| main.rs:346:69:346:69 | n | main.rs:346:69:346:69 | n | |
|
||||
| main.rs:346:76:346:82 | sink(...) | main.rs:345:5:347:5 | match s1 { ... } | |
|
||||
| main.rs:348:5:351:5 | match s2 { ... } | main.rs:336:49:352:1 | { ... } | |
|
||||
| main.rs:348:11:348:12 | s2 | main.rs:349:9:349:38 | ...::C {...} | |
|
||||
| main.rs:348:11:348:12 | s2 | main.rs:350:9:350:38 | ...::D {...} | |
|
||||
| main.rs:349:36:349:36 | [SSA] n | main.rs:349:48:349:48 | n | |
|
||||
| main.rs:349:36:349:36 | n | main.rs:349:36:349:36 | [SSA] n | |
|
||||
| main.rs:349:36:349:36 | n | main.rs:349:36:349:36 | n | |
|
||||
| main.rs:349:43:349:49 | sink(...) | main.rs:348:5:351:5 | match s2 { ... } | |
|
||||
| main.rs:350:36:350:36 | [SSA] n | main.rs:350:48:350:48 | n | |
|
||||
| main.rs:350:36:350:36 | n | main.rs:350:36:350:36 | [SSA] n | |
|
||||
| main.rs:350:36:350:36 | n | main.rs:350:36:350:36 | n | |
|
||||
| main.rs:350:43:350:49 | sink(...) | main.rs:348:5:351:5 | match s2 { ... } | |
|
||||
| main.rs:357:9:357:10 | [SSA] s1 | main.rs:361:11:361:12 | s1 | |
|
||||
| main.rs:357:9:357:10 | s1 | main.rs:357:9:357:10 | [SSA] s1 | |
|
||||
| main.rs:357:9:357:10 | s1 | main.rs:357:9:357:10 | s1 | |
|
||||
| main.rs:357:14:359:5 | C {...} | main.rs:357:9:357:10 | s1 | |
|
||||
| main.rs:360:9:360:10 | [SSA] s2 | main.rs:368:11:368:12 | s2 | |
|
||||
| main.rs:360:9:360:10 | s2 | main.rs:360:9:360:10 | [SSA] s2 | |
|
||||
| main.rs:360:9:360:10 | s2 | main.rs:360:9:360:10 | s2 | |
|
||||
| main.rs:360:14:360:29 | D {...} | main.rs:360:9:360:10 | s2 | |
|
||||
| main.rs:361:11:361:12 | s1 | main.rs:362:9:362:24 | C {...} | |
|
||||
| main.rs:361:11:361:12 | s1 | main.rs:363:9:363:24 | D {...} | |
|
||||
| main.rs:361:11:361:12 | s1 | main.rs:365:11:365:12 | s1 | |
|
||||
| main.rs:362:22:362:22 | [SSA] n | main.rs:362:34:362:34 | n | |
|
||||
| main.rs:362:22:362:22 | n | main.rs:362:22:362:22 | [SSA] n | |
|
||||
| main.rs:362:22:362:22 | n | main.rs:362:22:362:22 | n | |
|
||||
| main.rs:362:29:362:35 | sink(...) | main.rs:361:5:364:5 | match s1 { ... } | |
|
||||
| main.rs:363:22:363:22 | [SSA] n | main.rs:363:34:363:34 | n | |
|
||||
| main.rs:363:22:363:22 | n | main.rs:363:22:363:22 | [SSA] n | |
|
||||
| main.rs:363:22:363:22 | n | main.rs:363:22:363:22 | n | |
|
||||
| main.rs:363:29:363:35 | sink(...) | main.rs:361:5:364:5 | match s1 { ... } | |
|
||||
| main.rs:365:11:365:12 | s1 | main.rs:366:9:366:43 | ... \| ... | |
|
||||
| main.rs:366:9:366:43 | ... \| ... | main.rs:366:9:366:24 | C {...} | |
|
||||
@@ -510,62 +604,81 @@ localStep
|
||||
| main.rs:366:22:366:22 | [SSA] [input] [match(true)] phi | main.rs:366:9:366:43 | [SSA] [match(true)] phi | |
|
||||
| main.rs:366:22:366:22 | [SSA] n | main.rs:366:22:366:22 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:366:22:366:22 | n | main.rs:366:22:366:22 | [SSA] n | |
|
||||
| main.rs:366:22:366:22 | n | main.rs:366:22:366:22 | n | |
|
||||
| main.rs:366:41:366:41 | [SSA] [input] [match(true)] phi | main.rs:366:9:366:43 | [SSA] [match(true)] phi | |
|
||||
| main.rs:366:41:366:41 | [SSA] n | main.rs:366:41:366:41 | [SSA] [input] [match(true)] phi | |
|
||||
| main.rs:366:41:366:41 | n | main.rs:366:41:366:41 | [SSA] n | |
|
||||
| main.rs:366:41:366:41 | n | main.rs:366:41:366:41 | n | |
|
||||
| main.rs:366:48:366:54 | sink(...) | main.rs:365:5:367:5 | match s1 { ... } | |
|
||||
| main.rs:368:5:371:5 | match s2 { ... } | main.rs:356:51:372:1 | { ... } | |
|
||||
| main.rs:368:11:368:12 | s2 | main.rs:369:9:369:24 | C {...} | |
|
||||
| main.rs:368:11:368:12 | s2 | main.rs:370:9:370:24 | D {...} | |
|
||||
| main.rs:369:22:369:22 | [SSA] n | main.rs:369:34:369:34 | n | |
|
||||
| main.rs:369:22:369:22 | n | main.rs:369:22:369:22 | [SSA] n | |
|
||||
| main.rs:369:22:369:22 | n | main.rs:369:22:369:22 | n | |
|
||||
| main.rs:369:29:369:35 | sink(...) | main.rs:368:5:371:5 | match s2 { ... } | |
|
||||
| main.rs:370:22:370:22 | [SSA] n | main.rs:370:34:370:34 | n | |
|
||||
| main.rs:370:22:370:22 | n | main.rs:370:22:370:22 | [SSA] n | |
|
||||
| main.rs:370:22:370:22 | n | main.rs:370:22:370:22 | n | |
|
||||
| main.rs:370:29:370:35 | sink(...) | main.rs:368:5:371:5 | match s2 { ... } | |
|
||||
| main.rs:378:9:378:12 | [SSA] arr1 | main.rs:379:14:379:17 | arr1 | |
|
||||
| main.rs:378:9:378:12 | arr1 | main.rs:378:9:378:12 | [SSA] arr1 | |
|
||||
| main.rs:378:9:378:12 | arr1 | main.rs:378:9:378:12 | arr1 | |
|
||||
| main.rs:378:16:378:33 | [...] | main.rs:378:9:378:12 | arr1 | |
|
||||
| main.rs:379:9:379:10 | [SSA] n1 | main.rs:380:10:380:11 | n1 | |
|
||||
| main.rs:379:9:379:10 | n1 | main.rs:379:9:379:10 | [SSA] n1 | |
|
||||
| main.rs:379:9:379:10 | n1 | main.rs:379:9:379:10 | n1 | |
|
||||
| main.rs:379:14:379:20 | arr1[2] | main.rs:379:9:379:10 | n1 | |
|
||||
| main.rs:382:9:382:12 | [SSA] arr2 | main.rs:383:14:383:17 | arr2 | |
|
||||
| main.rs:382:9:382:12 | arr2 | main.rs:382:9:382:12 | [SSA] arr2 | |
|
||||
| main.rs:382:9:382:12 | arr2 | main.rs:382:9:382:12 | arr2 | |
|
||||
| main.rs:382:16:382:31 | [...; 10] | main.rs:382:9:382:12 | arr2 | |
|
||||
| main.rs:383:9:383:10 | [SSA] n2 | main.rs:384:10:384:11 | n2 | |
|
||||
| main.rs:383:9:383:10 | n2 | main.rs:383:9:383:10 | [SSA] n2 | |
|
||||
| main.rs:383:9:383:10 | n2 | main.rs:383:9:383:10 | n2 | |
|
||||
| main.rs:383:14:383:20 | arr2[4] | main.rs:383:9:383:10 | n2 | |
|
||||
| main.rs:386:9:386:12 | [SSA] arr3 | main.rs:387:14:387:17 | arr3 | |
|
||||
| main.rs:386:9:386:12 | arr3 | main.rs:386:9:386:12 | [SSA] arr3 | |
|
||||
| main.rs:386:9:386:12 | arr3 | main.rs:386:9:386:12 | arr3 | |
|
||||
| main.rs:386:16:386:24 | [...] | main.rs:386:9:386:12 | arr3 | |
|
||||
| main.rs:387:9:387:10 | [SSA] n3 | main.rs:388:10:388:11 | n3 | |
|
||||
| main.rs:387:9:387:10 | n3 | main.rs:387:9:387:10 | [SSA] n3 | |
|
||||
| main.rs:387:9:387:10 | n3 | main.rs:387:9:387:10 | n3 | |
|
||||
| main.rs:387:14:387:20 | arr3[2] | main.rs:387:9:387:10 | n3 | |
|
||||
| main.rs:392:9:392:12 | [SSA] arr1 | main.rs:393:15:393:18 | arr1 | |
|
||||
| main.rs:392:9:392:12 | arr1 | main.rs:392:9:392:12 | [SSA] arr1 | |
|
||||
| main.rs:392:9:392:12 | arr1 | main.rs:392:9:392:12 | arr1 | |
|
||||
| main.rs:392:16:392:33 | [...] | main.rs:392:9:392:12 | arr1 | |
|
||||
| main.rs:393:9:393:10 | [SSA] n1 | main.rs:394:14:394:15 | n1 | |
|
||||
| main.rs:393:9:393:10 | n1 | main.rs:393:9:393:10 | [SSA] n1 | |
|
||||
| main.rs:393:9:393:10 | n1 | main.rs:393:9:393:10 | n1 | |
|
||||
| main.rs:397:9:397:12 | [SSA] arr2 | main.rs:398:15:398:18 | arr2 | |
|
||||
| main.rs:397:9:397:12 | arr2 | main.rs:397:9:397:12 | [SSA] arr2 | |
|
||||
| main.rs:397:9:397:12 | arr2 | main.rs:397:9:397:12 | arr2 | |
|
||||
| main.rs:397:16:397:24 | [...] | main.rs:397:9:397:12 | arr2 | |
|
||||
| main.rs:398:5:400:5 | for ... in ... { ... } | main.rs:391:21:401:1 | { ... } | |
|
||||
| main.rs:398:9:398:10 | [SSA] n2 | main.rs:399:14:399:15 | n2 | |
|
||||
| main.rs:398:9:398:10 | n2 | main.rs:398:9:398:10 | [SSA] n2 | |
|
||||
| main.rs:398:9:398:10 | n2 | main.rs:398:9:398:10 | n2 | |
|
||||
| main.rs:404:9:404:12 | [SSA] arr1 | main.rs:405:11:405:14 | arr1 | |
|
||||
| main.rs:404:9:404:12 | arr1 | main.rs:404:9:404:12 | [SSA] arr1 | |
|
||||
| main.rs:404:9:404:12 | arr1 | main.rs:404:9:404:12 | arr1 | |
|
||||
| main.rs:404:16:404:33 | [...] | main.rs:404:9:404:12 | arr1 | |
|
||||
| main.rs:405:5:411:5 | match arr1 { ... } | main.rs:403:26:412:1 | { ... } | |
|
||||
| main.rs:405:11:405:14 | arr1 | main.rs:406:9:406:17 | SlicePat | |
|
||||
| main.rs:406:10:406:10 | [SSA] a | main.rs:407:18:407:18 | a | |
|
||||
| main.rs:406:10:406:10 | a | main.rs:406:10:406:10 | [SSA] a | |
|
||||
| main.rs:406:10:406:10 | a | main.rs:406:10:406:10 | a | |
|
||||
| main.rs:406:13:406:13 | [SSA] b | main.rs:408:18:408:18 | b | |
|
||||
| main.rs:406:13:406:13 | b | main.rs:406:13:406:13 | [SSA] b | |
|
||||
| main.rs:406:13:406:13 | b | main.rs:406:13:406:13 | b | |
|
||||
| main.rs:406:16:406:16 | [SSA] c | main.rs:409:18:409:18 | c | |
|
||||
| main.rs:406:16:406:16 | c | main.rs:406:16:406:16 | [SSA] c | |
|
||||
| main.rs:406:16:406:16 | c | main.rs:406:16:406:16 | c | |
|
||||
| main.rs:406:22:410:9 | { ... } | main.rs:405:5:411:5 | match arr1 { ... } | |
|
||||
| main.rs:415:9:415:19 | [SSA] mut mut_arr | main.rs:416:10:416:16 | mut_arr | |
|
||||
| main.rs:415:9:415:19 | mut mut_arr | main.rs:415:9:415:19 | [SSA] mut mut_arr | |
|
||||
| main.rs:415:9:415:19 | mut mut_arr | main.rs:415:13:415:19 | mut_arr | |
|
||||
| main.rs:415:13:415:19 | [SSA] mut_arr | main.rs:416:10:416:16 | mut_arr | |
|
||||
| main.rs:415:13:415:19 | mut_arr | main.rs:415:13:415:19 | [SSA] mut_arr | |
|
||||
| main.rs:415:23:415:31 | [...] | main.rs:415:9:415:19 | mut mut_arr | |
|
||||
| main.rs:416:10:416:16 | [post] mut_arr | main.rs:418:5:418:11 | mut_arr | |
|
||||
| main.rs:416:10:416:16 | mut_arr | main.rs:418:5:418:11 | mut_arr | |
|
||||
@@ -574,13 +687,16 @@ localStep
|
||||
| main.rs:418:18:418:27 | source(...) | main.rs:418:5:418:14 | mut_arr[1] | |
|
||||
| main.rs:419:9:419:9 | [SSA] d | main.rs:420:10:420:10 | d | |
|
||||
| main.rs:419:9:419:9 | d | main.rs:419:9:419:9 | [SSA] d | |
|
||||
| main.rs:419:9:419:9 | d | main.rs:419:9:419:9 | d | |
|
||||
| main.rs:419:13:419:19 | [post] mut_arr | main.rs:421:10:421:16 | mut_arr | |
|
||||
| main.rs:419:13:419:19 | mut_arr | main.rs:421:10:421:16 | mut_arr | |
|
||||
| main.rs:419:13:419:22 | mut_arr[1] | main.rs:419:9:419:9 | d | |
|
||||
| main.rs:426:39:426:43 | [SSA] names | main.rs:428:25:428:29 | names | |
|
||||
| main.rs:426:39:426:43 | names | main.rs:426:39:426:43 | [SSA] names | |
|
||||
| main.rs:426:39:426:43 | names | main.rs:426:39:426:43 | names | |
|
||||
| main.rs:426:39:426:72 | ...: Vec::<...> | main.rs:426:39:426:43 | names | |
|
||||
| main.rs:427:9:427:20 | default_name | main.rs:427:9:427:20 | [SSA] default_name | |
|
||||
| main.rs:427:9:427:20 | default_name | main.rs:427:9:427:20 | default_name | |
|
||||
| main.rs:427:24:427:45 | ... .to_string(...) | main.rs:427:9:427:20 | default_name | |
|
||||
| main.rs:427:24:427:45 | ... .to_string(...) | main.rs:428:9:428:20 | phi(default_name) | |
|
||||
| main.rs:428:5:434:5 | for ... in ... { ... } | main.rs:426:75:435:1 | { ... } | |
|
||||
@@ -588,30 +704,38 @@ localStep
|
||||
| main.rs:428:9:428:20 | phi(default_name) | main.rs:430:41:430:67 | default_name | |
|
||||
| main.rs:428:10:428:13 | [SSA] cond | main.rs:429:12:429:15 | cond | |
|
||||
| main.rs:428:10:428:13 | cond | main.rs:428:10:428:13 | [SSA] cond | |
|
||||
| main.rs:428:10:428:13 | cond | main.rs:428:10:428:13 | cond | |
|
||||
| main.rs:428:16:428:19 | [SSA] name | main.rs:430:21:430:24 | name | |
|
||||
| main.rs:428:16:428:19 | name | main.rs:428:16:428:19 | [SSA] name | |
|
||||
| main.rs:428:16:428:19 | name | main.rs:428:16:428:19 | name | |
|
||||
| main.rs:429:9:433:9 | if cond {...} | main.rs:428:31:434:5 | { ... } | |
|
||||
| main.rs:430:17:430:17 | [SSA] n | main.rs:431:18:431:18 | n | |
|
||||
| main.rs:430:17:430:17 | n | main.rs:430:17:430:17 | [SSA] n | |
|
||||
| main.rs:430:17:430:17 | n | main.rs:430:17:430:17 | n | |
|
||||
| main.rs:430:21:430:68 | name.unwrap_or_else(...) | main.rs:430:17:430:17 | n | |
|
||||
| main.rs:430:41:430:67 | [post] default_name | main.rs:428:9:428:20 | phi(default_name) | |
|
||||
| main.rs:430:41:430:67 | closure self in \|...\| ... | main.rs:430:44:430:55 | this | |
|
||||
| main.rs:430:41:430:67 | default_name | main.rs:428:9:428:20 | phi(default_name) | |
|
||||
| main.rs:444:9:444:9 | [SSA] s | main.rs:445:10:445:10 | s | |
|
||||
| main.rs:444:9:444:9 | s | main.rs:444:9:444:9 | [SSA] s | |
|
||||
| main.rs:444:9:444:9 | s | main.rs:444:9:444:9 | s | |
|
||||
| main.rs:444:13:444:27 | MacroExpr | main.rs:444:9:444:9 | s | |
|
||||
| main.rs:444:25:444:26 | source(...) | main.rs:444:13:444:27 | MacroExpr | |
|
||||
| main.rs:449:9:449:9 | [SSA] a | main.rs:454:10:454:10 | a | |
|
||||
| main.rs:449:9:449:9 | a | main.rs:449:9:449:9 | [SSA] a | |
|
||||
| main.rs:449:9:449:9 | a | main.rs:449:9:449:9 | a | |
|
||||
| main.rs:449:13:449:22 | source(...) | main.rs:449:9:449:9 | a | |
|
||||
| main.rs:450:9:450:9 | [SSA] b | main.rs:455:15:455:15 | b | |
|
||||
| main.rs:450:9:450:9 | b | main.rs:450:9:450:9 | [SSA] b | |
|
||||
| main.rs:450:9:450:9 | b | main.rs:450:9:450:9 | b | |
|
||||
| main.rs:450:13:450:22 | source(...) | main.rs:450:9:450:9 | b | |
|
||||
| main.rs:451:9:451:9 | [SSA] c | main.rs:452:18:452:18 | c | |
|
||||
| main.rs:451:9:451:9 | c | main.rs:451:9:451:9 | [SSA] c | |
|
||||
| main.rs:451:9:451:9 | c | main.rs:451:9:451:9 | c | |
|
||||
| main.rs:451:13:451:22 | source(...) | main.rs:451:9:451:9 | c | |
|
||||
| main.rs:452:9:452:13 | [SSA] c_ref | main.rs:456:14:456:18 | c_ref | |
|
||||
| main.rs:452:9:452:13 | c_ref | main.rs:452:9:452:13 | [SSA] c_ref | |
|
||||
| main.rs:452:9:452:13 | c_ref | main.rs:452:9:452:13 | c_ref | |
|
||||
| main.rs:452:17:452:18 | &c | main.rs:452:9:452:13 | c_ref | |
|
||||
| main.rs:456:14:456:18 | [post] c_ref | main.rs:457:11:457:15 | c_ref | |
|
||||
| main.rs:456:14:456:18 | c_ref | main.rs:457:11:457:15 | c_ref | |
|
||||
|
||||
@@ -18,35 +18,52 @@ edges
|
||||
| main.rs:42:15:42:24 | source(...) | main.rs:42:9:42:11 | val | provenance | |
|
||||
| main.rs:43:26:43:29 | &val [&ref] | main.rs:37:25:37:32 | ...: ... [&ref] | provenance | |
|
||||
| main.rs:43:27:43:29 | val | main.rs:43:26:43:29 | &val [&ref] | provenance | |
|
||||
| main.rs:51:18:51:21 | SelfParam [MyNumber] | main.rs:52:15:52:18 | self [MyNumber] | provenance | |
|
||||
| main.rs:52:15:52:18 | self [MyNumber] | main.rs:53:13:53:38 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:53:13:53:38 | ...::MyNumber(...) [MyNumber] | main.rs:53:32:53:37 | number | provenance | |
|
||||
| main.rs:53:32:53:37 | number | main.rs:51:31:57:5 | { ... } | provenance | |
|
||||
| main.rs:59:19:59:23 | SelfParam [&ref, MyNumber] | main.rs:60:15:60:18 | self [&ref, MyNumber] | provenance | |
|
||||
| main.rs:60:15:60:18 | self [&ref, MyNumber] | main.rs:61:13:61:39 | &... [&ref, MyNumber] | provenance | |
|
||||
| main.rs:61:13:61:39 | &... [&ref, MyNumber] | main.rs:61:14:61:39 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:61:14:61:39 | ...::MyNumber(...) [MyNumber] | main.rs:61:33:61:38 | number | provenance | |
|
||||
| main.rs:61:33:61:38 | number | main.rs:59:33:65:5 | { ... } | provenance | |
|
||||
| main.rs:69:9:69:17 | my_number [MyNumber] | main.rs:70:10:70:18 | my_number [MyNumber] | provenance | |
|
||||
| main.rs:69:21:69:50 | ...::MyNumber(...) [MyNumber] | main.rs:69:9:69:17 | my_number [MyNumber] | provenance | |
|
||||
| main.rs:69:40:69:49 | source(...) | main.rs:69:21:69:50 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:70:10:70:18 | my_number [MyNumber] | main.rs:51:18:51:21 | SelfParam [MyNumber] | provenance | |
|
||||
| main.rs:70:10:70:18 | my_number [MyNumber] | main.rs:70:10:70:30 | my_number.to_number(...) | provenance | |
|
||||
| main.rs:79:9:79:17 | my_number [&ref, MyNumber] | main.rs:80:10:80:18 | my_number [&ref, MyNumber] | provenance | |
|
||||
| main.rs:79:21:79:51 | &... [&ref, MyNumber] | main.rs:79:9:79:17 | my_number [&ref, MyNumber] | provenance | |
|
||||
| main.rs:79:22:79:51 | ...::MyNumber(...) [MyNumber] | main.rs:79:21:79:51 | &... [&ref, MyNumber] | provenance | |
|
||||
| main.rs:79:41:79:50 | source(...) | main.rs:79:22:79:51 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:80:10:80:18 | my_number [&ref, MyNumber] | main.rs:59:19:59:23 | SelfParam [&ref, MyNumber] | provenance | |
|
||||
| main.rs:80:10:80:18 | my_number [&ref, MyNumber] | main.rs:80:10:80:31 | my_number.get_number(...) | provenance | |
|
||||
| main.rs:84:9:84:9 | a [&ref, tuple.0] | main.rs:87:19:87:19 | a [&ref, tuple.0] | provenance | |
|
||||
| main.rs:84:13:84:28 | &... [&ref, tuple.0] | main.rs:84:9:84:9 | a [&ref, tuple.0] | provenance | |
|
||||
| main.rs:84:14:84:28 | TupleExpr [tuple.0] | main.rs:84:13:84:28 | &... [&ref, tuple.0] | provenance | |
|
||||
| main.rs:84:15:84:24 | source(...) | main.rs:84:14:84:28 | TupleExpr [tuple.0] | provenance | |
|
||||
| main.rs:87:9:87:9 | b | main.rs:90:10:90:10 | b | provenance | |
|
||||
| main.rs:87:19:87:19 | a [&ref, tuple.0] | main.rs:88:9:88:15 | &... [&ref, tuple.0] | provenance | |
|
||||
| main.rs:88:9:88:15 | &... [&ref, tuple.0] | main.rs:88:10:88:15 | TuplePat [tuple.0] | provenance | |
|
||||
| main.rs:88:10:88:15 | TuplePat [tuple.0] | main.rs:88:11:88:11 | n | provenance | |
|
||||
| main.rs:88:11:88:11 | n | main.rs:87:9:87:9 | b | provenance | |
|
||||
| main.rs:50:13:50:13 | a | main.rs:51:13:51:17 | ref p | provenance | |
|
||||
| main.rs:50:17:50:26 | source(...) | main.rs:50:13:50:13 | a | provenance | |
|
||||
| main.rs:51:13:51:17 | ref p | main.rs:51:17:51:17 | p [&ref] | provenance | |
|
||||
| main.rs:51:17:51:17 | p [&ref] | main.rs:52:15:52:15 | p [&ref] | provenance | |
|
||||
| main.rs:52:15:52:15 | p [&ref] | main.rs:52:14:52:15 | * ... | provenance | |
|
||||
| main.rs:56:13:56:21 | ref mut a | main.rs:56:21:56:21 | a [&ref] | provenance | |
|
||||
| main.rs:56:21:56:21 | a [&ref] | main.rs:57:15:57:15 | a [&ref] | provenance | |
|
||||
| main.rs:56:25:56:34 | source(...) | main.rs:56:13:56:21 | ref mut a | provenance | |
|
||||
| main.rs:57:15:57:15 | a [&ref] | main.rs:57:14:57:15 | * ... | provenance | |
|
||||
| main.rs:63:13:63:13 | a [Some] | main.rs:64:23:64:23 | a [Some] | provenance | |
|
||||
| main.rs:63:17:63:32 | Some(...) [Some] | main.rs:63:13:63:13 | a [Some] | provenance | |
|
||||
| main.rs:63:22:63:31 | source(...) | main.rs:63:17:63:32 | Some(...) [Some] | provenance | |
|
||||
| main.rs:64:23:64:23 | a [Some] | main.rs:65:13:65:23 | Some(...) [Some] | provenance | |
|
||||
| main.rs:65:13:65:23 | Some(...) [Some] | main.rs:65:18:65:22 | ref p | provenance | |
|
||||
| main.rs:65:18:65:22 | ref p | main.rs:65:22:65:22 | p [&ref] | provenance | |
|
||||
| main.rs:65:22:65:22 | p [&ref] | main.rs:65:34:65:34 | p [&ref] | provenance | |
|
||||
| main.rs:65:34:65:34 | p [&ref] | main.rs:65:33:65:34 | * ... | provenance | |
|
||||
| main.rs:76:18:76:21 | SelfParam [MyNumber] | main.rs:77:15:77:18 | self [MyNumber] | provenance | |
|
||||
| main.rs:77:15:77:18 | self [MyNumber] | main.rs:78:13:78:38 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:78:13:78:38 | ...::MyNumber(...) [MyNumber] | main.rs:78:32:78:37 | number | provenance | |
|
||||
| main.rs:78:32:78:37 | number | main.rs:76:31:80:5 | { ... } | provenance | |
|
||||
| main.rs:82:19:82:23 | SelfParam [&ref, MyNumber] | main.rs:83:15:83:18 | self [&ref, MyNumber] | provenance | |
|
||||
| main.rs:83:15:83:18 | self [&ref, MyNumber] | main.rs:84:13:84:39 | &... [&ref, MyNumber] | provenance | |
|
||||
| main.rs:84:13:84:39 | &... [&ref, MyNumber] | main.rs:84:14:84:39 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:84:14:84:39 | ...::MyNumber(...) [MyNumber] | main.rs:84:33:84:38 | number | provenance | |
|
||||
| main.rs:84:33:84:38 | number | main.rs:82:33:86:5 | { ... } | provenance | |
|
||||
| main.rs:90:9:90:17 | my_number [MyNumber] | main.rs:91:10:91:18 | my_number [MyNumber] | provenance | |
|
||||
| main.rs:90:21:90:50 | ...::MyNumber(...) [MyNumber] | main.rs:90:9:90:17 | my_number [MyNumber] | provenance | |
|
||||
| main.rs:90:40:90:49 | source(...) | main.rs:90:21:90:50 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:91:10:91:18 | my_number [MyNumber] | main.rs:76:18:76:21 | SelfParam [MyNumber] | provenance | |
|
||||
| main.rs:91:10:91:18 | my_number [MyNumber] | main.rs:91:10:91:30 | my_number.to_number(...) | provenance | |
|
||||
| main.rs:100:9:100:17 | my_number [&ref, MyNumber] | main.rs:101:10:101:18 | my_number [&ref, MyNumber] | provenance | |
|
||||
| main.rs:100:21:100:51 | &... [&ref, MyNumber] | main.rs:100:9:100:17 | my_number [&ref, MyNumber] | provenance | |
|
||||
| main.rs:100:22:100:51 | ...::MyNumber(...) [MyNumber] | main.rs:100:21:100:51 | &... [&ref, MyNumber] | provenance | |
|
||||
| main.rs:100:41:100:50 | source(...) | main.rs:100:22:100:51 | ...::MyNumber(...) [MyNumber] | provenance | |
|
||||
| main.rs:101:10:101:18 | my_number [&ref, MyNumber] | main.rs:82:19:82:23 | SelfParam [&ref, MyNumber] | provenance | |
|
||||
| main.rs:101:10:101:18 | my_number [&ref, MyNumber] | main.rs:101:10:101:31 | my_number.get_number(...) | provenance | |
|
||||
| main.rs:105:9:105:9 | a [&ref, tuple.0] | main.rs:108:19:108:19 | a [&ref, tuple.0] | provenance | |
|
||||
| main.rs:105:13:105:28 | &... [&ref, tuple.0] | main.rs:105:9:105:9 | a [&ref, tuple.0] | provenance | |
|
||||
| main.rs:105:14:105:28 | TupleExpr [tuple.0] | main.rs:105:13:105:28 | &... [&ref, tuple.0] | provenance | |
|
||||
| main.rs:105:15:105:24 | source(...) | main.rs:105:14:105:28 | TupleExpr [tuple.0] | provenance | |
|
||||
| main.rs:108:9:108:9 | b | main.rs:111:10:111:10 | b | provenance | |
|
||||
| main.rs:108:19:108:19 | a [&ref, tuple.0] | main.rs:109:9:109:15 | &... [&ref, tuple.0] | provenance | |
|
||||
| main.rs:109:9:109:15 | &... [&ref, tuple.0] | main.rs:109:10:109:15 | TuplePat [tuple.0] | provenance | |
|
||||
| main.rs:109:10:109:15 | TuplePat [tuple.0] | main.rs:109:11:109:11 | n | provenance | |
|
||||
| main.rs:109:11:109:11 | n | main.rs:108:9:108:9 | b | provenance | |
|
||||
nodes
|
||||
| main.rs:13:9:13:9 | a | semmle.label | a |
|
||||
| main.rs:13:13:13:22 | source(...) | semmle.label | source(...) |
|
||||
@@ -69,46 +86,69 @@ nodes
|
||||
| main.rs:42:15:42:24 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:43:26:43:29 | &val [&ref] | semmle.label | &val [&ref] |
|
||||
| main.rs:43:27:43:29 | val | semmle.label | val |
|
||||
| main.rs:51:18:51:21 | SelfParam [MyNumber] | semmle.label | SelfParam [MyNumber] |
|
||||
| main.rs:51:31:57:5 | { ... } | semmle.label | { ... } |
|
||||
| main.rs:52:15:52:18 | self [MyNumber] | semmle.label | self [MyNumber] |
|
||||
| main.rs:53:13:53:38 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:53:32:53:37 | number | semmle.label | number |
|
||||
| main.rs:59:19:59:23 | SelfParam [&ref, MyNumber] | semmle.label | SelfParam [&ref, MyNumber] |
|
||||
| main.rs:59:33:65:5 | { ... } | semmle.label | { ... } |
|
||||
| main.rs:60:15:60:18 | self [&ref, MyNumber] | semmle.label | self [&ref, MyNumber] |
|
||||
| main.rs:61:13:61:39 | &... [&ref, MyNumber] | semmle.label | &... [&ref, MyNumber] |
|
||||
| main.rs:61:14:61:39 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:61:33:61:38 | number | semmle.label | number |
|
||||
| main.rs:69:9:69:17 | my_number [MyNumber] | semmle.label | my_number [MyNumber] |
|
||||
| main.rs:69:21:69:50 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:69:40:69:49 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:70:10:70:18 | my_number [MyNumber] | semmle.label | my_number [MyNumber] |
|
||||
| main.rs:70:10:70:30 | my_number.to_number(...) | semmle.label | my_number.to_number(...) |
|
||||
| main.rs:79:9:79:17 | my_number [&ref, MyNumber] | semmle.label | my_number [&ref, MyNumber] |
|
||||
| main.rs:79:21:79:51 | &... [&ref, MyNumber] | semmle.label | &... [&ref, MyNumber] |
|
||||
| main.rs:79:22:79:51 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:79:41:79:50 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:80:10:80:18 | my_number [&ref, MyNumber] | semmle.label | my_number [&ref, MyNumber] |
|
||||
| main.rs:80:10:80:31 | my_number.get_number(...) | semmle.label | my_number.get_number(...) |
|
||||
| main.rs:84:9:84:9 | a [&ref, tuple.0] | semmle.label | a [&ref, tuple.0] |
|
||||
| main.rs:84:13:84:28 | &... [&ref, tuple.0] | semmle.label | &... [&ref, tuple.0] |
|
||||
| main.rs:84:14:84:28 | TupleExpr [tuple.0] | semmle.label | TupleExpr [tuple.0] |
|
||||
| main.rs:84:15:84:24 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:87:9:87:9 | b | semmle.label | b |
|
||||
| main.rs:87:19:87:19 | a [&ref, tuple.0] | semmle.label | a [&ref, tuple.0] |
|
||||
| main.rs:88:9:88:15 | &... [&ref, tuple.0] | semmle.label | &... [&ref, tuple.0] |
|
||||
| main.rs:88:10:88:15 | TuplePat [tuple.0] | semmle.label | TuplePat [tuple.0] |
|
||||
| main.rs:88:11:88:11 | n | semmle.label | n |
|
||||
| main.rs:90:10:90:10 | b | semmle.label | b |
|
||||
| main.rs:50:13:50:13 | a | semmle.label | a |
|
||||
| main.rs:50:17:50:26 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:51:13:51:17 | ref p | semmle.label | ref p |
|
||||
| main.rs:51:17:51:17 | p [&ref] | semmle.label | p [&ref] |
|
||||
| main.rs:52:14:52:15 | * ... | semmle.label | * ... |
|
||||
| main.rs:52:15:52:15 | p [&ref] | semmle.label | p [&ref] |
|
||||
| main.rs:56:13:56:21 | ref mut a | semmle.label | ref mut a |
|
||||
| main.rs:56:21:56:21 | a [&ref] | semmle.label | a [&ref] |
|
||||
| main.rs:56:25:56:34 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:57:14:57:15 | * ... | semmle.label | * ... |
|
||||
| main.rs:57:15:57:15 | a [&ref] | semmle.label | a [&ref] |
|
||||
| main.rs:63:13:63:13 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:63:17:63:32 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
| main.rs:63:22:63:31 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:64:23:64:23 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:65:13:65:23 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
| main.rs:65:18:65:22 | ref p | semmle.label | ref p |
|
||||
| main.rs:65:22:65:22 | p [&ref] | semmle.label | p [&ref] |
|
||||
| main.rs:65:33:65:34 | * ... | semmle.label | * ... |
|
||||
| main.rs:65:34:65:34 | p [&ref] | semmle.label | p [&ref] |
|
||||
| main.rs:76:18:76:21 | SelfParam [MyNumber] | semmle.label | SelfParam [MyNumber] |
|
||||
| main.rs:76:31:80:5 | { ... } | semmle.label | { ... } |
|
||||
| main.rs:77:15:77:18 | self [MyNumber] | semmle.label | self [MyNumber] |
|
||||
| main.rs:78:13:78:38 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:78:32:78:37 | number | semmle.label | number |
|
||||
| main.rs:82:19:82:23 | SelfParam [&ref, MyNumber] | semmle.label | SelfParam [&ref, MyNumber] |
|
||||
| main.rs:82:33:86:5 | { ... } | semmle.label | { ... } |
|
||||
| main.rs:83:15:83:18 | self [&ref, MyNumber] | semmle.label | self [&ref, MyNumber] |
|
||||
| main.rs:84:13:84:39 | &... [&ref, MyNumber] | semmle.label | &... [&ref, MyNumber] |
|
||||
| main.rs:84:14:84:39 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:84:33:84:38 | number | semmle.label | number |
|
||||
| main.rs:90:9:90:17 | my_number [MyNumber] | semmle.label | my_number [MyNumber] |
|
||||
| main.rs:90:21:90:50 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:90:40:90:49 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:91:10:91:18 | my_number [MyNumber] | semmle.label | my_number [MyNumber] |
|
||||
| main.rs:91:10:91:30 | my_number.to_number(...) | semmle.label | my_number.to_number(...) |
|
||||
| main.rs:100:9:100:17 | my_number [&ref, MyNumber] | semmle.label | my_number [&ref, MyNumber] |
|
||||
| main.rs:100:21:100:51 | &... [&ref, MyNumber] | semmle.label | &... [&ref, MyNumber] |
|
||||
| main.rs:100:22:100:51 | ...::MyNumber(...) [MyNumber] | semmle.label | ...::MyNumber(...) [MyNumber] |
|
||||
| main.rs:100:41:100:50 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:101:10:101:18 | my_number [&ref, MyNumber] | semmle.label | my_number [&ref, MyNumber] |
|
||||
| main.rs:101:10:101:31 | my_number.get_number(...) | semmle.label | my_number.get_number(...) |
|
||||
| main.rs:105:9:105:9 | a [&ref, tuple.0] | semmle.label | a [&ref, tuple.0] |
|
||||
| main.rs:105:13:105:28 | &... [&ref, tuple.0] | semmle.label | &... [&ref, tuple.0] |
|
||||
| main.rs:105:14:105:28 | TupleExpr [tuple.0] | semmle.label | TupleExpr [tuple.0] |
|
||||
| main.rs:105:15:105:24 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:108:9:108:9 | b | semmle.label | b |
|
||||
| main.rs:108:19:108:19 | a [&ref, tuple.0] | semmle.label | a [&ref, tuple.0] |
|
||||
| main.rs:109:9:109:15 | &... [&ref, tuple.0] | semmle.label | &... [&ref, tuple.0] |
|
||||
| main.rs:109:10:109:15 | TuplePat [tuple.0] | semmle.label | TuplePat [tuple.0] |
|
||||
| main.rs:109:11:109:11 | n | semmle.label | n |
|
||||
| main.rs:111:10:111:10 | b | semmle.label | b |
|
||||
subpaths
|
||||
| main.rs:70:10:70:18 | my_number [MyNumber] | main.rs:51:18:51:21 | SelfParam [MyNumber] | main.rs:51:31:57:5 | { ... } | main.rs:70:10:70:30 | my_number.to_number(...) |
|
||||
| main.rs:80:10:80:18 | my_number [&ref, MyNumber] | main.rs:59:19:59:23 | SelfParam [&ref, MyNumber] | main.rs:59:33:65:5 | { ... } | main.rs:80:10:80:31 | my_number.get_number(...) |
|
||||
| main.rs:91:10:91:18 | my_number [MyNumber] | main.rs:76:18:76:21 | SelfParam [MyNumber] | main.rs:76:31:80:5 | { ... } | main.rs:91:10:91:30 | my_number.to_number(...) |
|
||||
| main.rs:101:10:101:18 | my_number [&ref, MyNumber] | main.rs:82:19:82:23 | SelfParam [&ref, MyNumber] | main.rs:82:33:86:5 | { ... } | main.rs:101:10:101:31 | my_number.get_number(...) |
|
||||
testFailures
|
||||
#select
|
||||
| main.rs:16:10:16:10 | c | main.rs:13:13:13:22 | source(...) | main.rs:16:10:16:10 | c | $@ | main.rs:13:13:13:22 | source(...) | source(...) |
|
||||
| main.rs:32:10:32:11 | * ... | main.rs:31:10:31:19 | source(...) | main.rs:32:10:32:11 | * ... | $@ | main.rs:31:10:31:19 | source(...) | source(...) |
|
||||
| main.rs:38:10:38:10 | n | main.rs:42:15:42:24 | source(...) | main.rs:38:10:38:10 | n | $@ | main.rs:42:15:42:24 | source(...) | source(...) |
|
||||
| main.rs:70:10:70:30 | my_number.to_number(...) | main.rs:69:40:69:49 | source(...) | main.rs:70:10:70:30 | my_number.to_number(...) | $@ | main.rs:69:40:69:49 | source(...) | source(...) |
|
||||
| main.rs:80:10:80:31 | my_number.get_number(...) | main.rs:79:41:79:50 | source(...) | main.rs:80:10:80:31 | my_number.get_number(...) | $@ | main.rs:79:41:79:50 | source(...) | source(...) |
|
||||
| main.rs:90:10:90:10 | b | main.rs:84:15:84:24 | source(...) | main.rs:90:10:90:10 | b | $@ | main.rs:84:15:84:24 | source(...) | source(...) |
|
||||
| main.rs:52:14:52:15 | * ... | main.rs:50:17:50:26 | source(...) | main.rs:52:14:52:15 | * ... | $@ | main.rs:50:17:50:26 | source(...) | source(...) |
|
||||
| main.rs:57:14:57:15 | * ... | main.rs:56:25:56:34 | source(...) | main.rs:57:14:57:15 | * ... | $@ | main.rs:56:25:56:34 | source(...) | source(...) |
|
||||
| main.rs:65:33:65:34 | * ... | main.rs:63:22:63:31 | source(...) | main.rs:65:33:65:34 | * ... | $@ | main.rs:63:22:63:31 | source(...) | source(...) |
|
||||
| main.rs:91:10:91:30 | my_number.to_number(...) | main.rs:90:40:90:49 | source(...) | main.rs:91:10:91:30 | my_number.to_number(...) | $@ | main.rs:90:40:90:49 | source(...) | source(...) |
|
||||
| main.rs:101:10:101:31 | my_number.get_number(...) | main.rs:100:41:100:50 | source(...) | main.rs:101:10:101:31 | my_number.get_number(...) | $@ | main.rs:100:41:100:50 | source(...) | source(...) |
|
||||
| main.rs:111:10:111:10 | b | main.rs:105:15:105:24 | source(...) | main.rs:111:10:111:10 | b | $@ | main.rs:105:15:105:24 | source(...) | source(...) |
|
||||
|
||||
@@ -43,24 +43,45 @@ fn pass_borrowed_value() {
|
||||
takes_borrowed_value(&val);
|
||||
}
|
||||
|
||||
mod test_ref_pattern {
|
||||
use super::{sink, source};
|
||||
|
||||
pub fn read_through_ref() {
|
||||
let a = source(21);
|
||||
let ref p = a;
|
||||
sink(*p); // $ hasValueFlow=21
|
||||
}
|
||||
|
||||
pub fn write_through_ref_mut() {
|
||||
let ref mut a = source(78);
|
||||
sink(*a); // $ hasValueFlow=78
|
||||
*a = 0;
|
||||
sink(*a); // now cleared
|
||||
}
|
||||
|
||||
pub fn ref_pattern_in_match() {
|
||||
let a = Some(source(17));
|
||||
let b = match a {
|
||||
Some(ref p) => sink(*p), // $ hasValueFlow=17
|
||||
None => (),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
enum MyNumber {
|
||||
MyNumber(i64)
|
||||
MyNumber(i64),
|
||||
}
|
||||
|
||||
impl MyNumber {
|
||||
fn to_number(self) -> i64 {
|
||||
match self {
|
||||
MyNumber::MyNumber(number) => {
|
||||
number
|
||||
}
|
||||
MyNumber::MyNumber(number) => number,
|
||||
}
|
||||
}
|
||||
|
||||
fn get_number(&self) -> i64 {
|
||||
match self {
|
||||
&MyNumber::MyNumber(number) => {
|
||||
number
|
||||
}
|
||||
&MyNumber::MyNumber(number) => number,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -83,23 +104,23 @@ fn through_self_in_method_explicit_borrow() {
|
||||
fn ref_nested_pattern_match() {
|
||||
let a = &(source(23), 1);
|
||||
|
||||
// Match "in order", ref then tuple
|
||||
// Match "in order", reference pattern then tuple pattern
|
||||
let b = match a {
|
||||
&(n, _) => n
|
||||
&(n, _) => n,
|
||||
};
|
||||
sink(b); // $ hasValueFlow=23
|
||||
|
||||
// Match "out of order", tuple then ref
|
||||
// Match "out of order", tuple pattern then deref pattern
|
||||
let c = match a {
|
||||
(n, _) => {
|
||||
match n {
|
||||
&i => i
|
||||
}
|
||||
}
|
||||
(n, _) => match n {
|
||||
&i => i,
|
||||
},
|
||||
};
|
||||
sink(c); // $ MISSING: hasValueFlow=23
|
||||
}
|
||||
|
||||
use test_ref_pattern::*;
|
||||
|
||||
fn main() {
|
||||
read_through_borrow();
|
||||
write_through_borrow();
|
||||
@@ -109,4 +130,7 @@ fn main() {
|
||||
through_self_in_method_implicit_borrow();
|
||||
through_self_in_method_explicit_borrow();
|
||||
ref_nested_pattern_match();
|
||||
read_through_ref();
|
||||
write_through_ref_mut();
|
||||
ref_pattern_in_match();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
edges
|
||||
| main.rs:3:1:5:1 | enter fn print_str | main.rs:3:14:3:14 | s | |
|
||||
| main.rs:3:1:5:1 | exit fn print_str (normal) | main.rs:3:1:5:1 | exit fn print_str | |
|
||||
| main.rs:3:14:3:14 | s | main.rs:3:14:3:14 | s | |
|
||||
| main.rs:3:14:3:14 | s | main.rs:3:14:3:20 | ...: ... | match |
|
||||
| main.rs:3:14:3:20 | ...: ... | main.rs:4:5:4:22 | ExprStmt | |
|
||||
| main.rs:3:23:5:1 | { ... } | main.rs:3:1:5:1 | exit fn print_str (normal) | |
|
||||
@@ -19,6 +20,7 @@ edges
|
||||
| main.rs:4:20:4:20 | s | main.rs:4:14:4:20 | FormatArgsExpr | |
|
||||
| main.rs:7:1:9:1 | enter fn print_i64 | main.rs:7:14:7:14 | i | |
|
||||
| main.rs:7:1:9:1 | exit fn print_i64 (normal) | main.rs:7:1:9:1 | exit fn print_i64 | |
|
||||
| main.rs:7:14:7:14 | i | main.rs:7:14:7:14 | i | |
|
||||
| main.rs:7:14:7:14 | i | main.rs:7:14:7:19 | ...: i64 | match |
|
||||
| main.rs:7:14:7:19 | ...: i64 | main.rs:8:5:8:22 | ExprStmt | |
|
||||
| main.rs:7:22:9:1 | { ... } | main.rs:7:1:9:1 | exit fn print_i64 (normal) | |
|
||||
@@ -37,6 +39,7 @@ edges
|
||||
| main.rs:8:20:8:20 | i | main.rs:8:14:8:20 | FormatArgsExpr | |
|
||||
| main.rs:11:1:13:1 | enter fn print_i64_ref | main.rs:11:18:11:18 | i | |
|
||||
| main.rs:11:1:13:1 | exit fn print_i64_ref (normal) | main.rs:11:1:13:1 | exit fn print_i64_ref | |
|
||||
| main.rs:11:18:11:18 | i | main.rs:11:18:11:18 | i | |
|
||||
| main.rs:11:18:11:18 | i | main.rs:11:18:11:24 | ...: ... | match |
|
||||
| main.rs:11:18:11:24 | ...: ... | main.rs:12:5:12:13 | print_i64 | |
|
||||
| main.rs:11:27:13:1 | { ... } | main.rs:11:1:13:1 | exit fn print_i64_ref (normal) | |
|
||||
@@ -48,6 +51,7 @@ edges
|
||||
| main.rs:15:1:18:1 | exit fn immutable_variable (normal) | main.rs:15:1:18:1 | exit fn immutable_variable | |
|
||||
| main.rs:15:25:18:1 | { ... } | main.rs:15:1:18:1 | exit fn immutable_variable (normal) | |
|
||||
| main.rs:16:5:16:17 | let ... = "a" | main.rs:16:14:16:16 | "a" | |
|
||||
| main.rs:16:9:16:10 | x1 | main.rs:16:9:16:10 | x1 | |
|
||||
| main.rs:16:9:16:10 | x1 | main.rs:17:5:17:18 | ExprStmt | match |
|
||||
| main.rs:16:14:16:16 | "a" | main.rs:16:9:16:10 | x1 | |
|
||||
| main.rs:17:5:17:13 | print_str | main.rs:17:15:17:16 | x1 | |
|
||||
@@ -59,7 +63,8 @@ edges
|
||||
| main.rs:20:23:25:1 | { ... } | main.rs:20:1:25:1 | exit fn mutable_variable (normal) | |
|
||||
| main.rs:21:5:21:19 | let ... = 4 | main.rs:21:18:21:18 | 4 | |
|
||||
| main.rs:21:9:21:14 | mut x2 | main.rs:22:5:22:18 | ExprStmt | match |
|
||||
| main.rs:21:18:21:18 | 4 | main.rs:21:9:21:14 | mut x2 | |
|
||||
| main.rs:21:13:21:14 | x2 | main.rs:21:9:21:14 | mut x2 | |
|
||||
| main.rs:21:18:21:18 | 4 | main.rs:21:13:21:14 | x2 | |
|
||||
| main.rs:22:5:22:13 | print_i64 | main.rs:22:15:22:16 | x2 | |
|
||||
| main.rs:22:5:22:17 | print_i64(...) | main.rs:23:5:23:11 | ExprStmt | |
|
||||
| main.rs:22:5:22:18 | ExprStmt | main.rs:22:5:22:13 | print_i64 | |
|
||||
@@ -77,7 +82,8 @@ edges
|
||||
| main.rs:27:40:32:1 | { ... } | main.rs:27:1:32:1 | exit fn mutable_variable_immutable_borrow (normal) | |
|
||||
| main.rs:28:5:28:18 | let ... = 1 | main.rs:28:17:28:17 | 1 | |
|
||||
| main.rs:28:9:28:13 | mut x | main.rs:29:5:29:22 | ExprStmt | match |
|
||||
| main.rs:28:17:28:17 | 1 | main.rs:28:9:28:13 | mut x | |
|
||||
| main.rs:28:13:28:13 | x | main.rs:28:9:28:13 | mut x | |
|
||||
| main.rs:28:17:28:17 | 1 | main.rs:28:13:28:13 | x | |
|
||||
| main.rs:29:5:29:17 | print_i64_ref | main.rs:29:20:29:20 | x | |
|
||||
| main.rs:29:5:29:21 | print_i64_ref(...) | main.rs:30:5:30:10 | ExprStmt | |
|
||||
| main.rs:29:5:29:22 | ExprStmt | main.rs:29:5:29:17 | print_i64_ref | |
|
||||
@@ -96,6 +102,7 @@ edges
|
||||
| main.rs:34:1:40:1 | exit fn variable_shadow1 (normal) | main.rs:34:1:40:1 | exit fn variable_shadow1 | |
|
||||
| main.rs:34:23:40:1 | { ... } | main.rs:34:1:40:1 | exit fn variable_shadow1 (normal) | |
|
||||
| main.rs:35:5:35:15 | let ... = 1 | main.rs:35:14:35:14 | 1 | |
|
||||
| main.rs:35:9:35:10 | x3 | main.rs:35:9:35:10 | x3 | |
|
||||
| main.rs:35:9:35:10 | x3 | main.rs:36:5:36:18 | ExprStmt | match |
|
||||
| main.rs:35:14:35:14 | 1 | main.rs:35:9:35:10 | x3 | |
|
||||
| main.rs:36:5:36:13 | print_i64 | main.rs:36:15:36:16 | x3 | |
|
||||
@@ -103,6 +110,7 @@ edges
|
||||
| main.rs:36:5:36:18 | ExprStmt | main.rs:36:5:36:13 | print_i64 | |
|
||||
| main.rs:36:15:36:16 | x3 | main.rs:36:5:36:17 | print_i64(...) | |
|
||||
| main.rs:37:5:38:15 | let ... = ... | main.rs:38:9:38:10 | x3 | |
|
||||
| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | |
|
||||
| main.rs:37:9:37:10 | x3 | main.rs:39:5:39:18 | ExprStmt | match |
|
||||
| main.rs:38:9:38:10 | x3 | main.rs:38:14:38:14 | 1 | |
|
||||
| main.rs:38:9:38:14 | ... + ... | main.rs:37:9:37:10 | x3 | |
|
||||
@@ -115,6 +123,7 @@ edges
|
||||
| main.rs:42:1:50:1 | exit fn variable_shadow2 (normal) | main.rs:42:1:50:1 | exit fn variable_shadow2 | |
|
||||
| main.rs:42:23:50:1 | { ... } | main.rs:42:1:50:1 | exit fn variable_shadow2 (normal) | |
|
||||
| main.rs:43:5:43:17 | let ... = "a" | main.rs:43:14:43:16 | "a" | |
|
||||
| main.rs:43:9:43:10 | x4 | main.rs:43:9:43:10 | x4 | |
|
||||
| main.rs:43:9:43:10 | x4 | main.rs:44:5:44:18 | ExprStmt | match |
|
||||
| main.rs:43:14:43:16 | "a" | main.rs:43:9:43:10 | x4 | |
|
||||
| main.rs:44:5:44:13 | print_str | main.rs:44:15:44:16 | x4 | |
|
||||
@@ -124,6 +133,7 @@ edges
|
||||
| main.rs:45:5:48:5 | ExprStmt | main.rs:46:9:46:21 | let ... = "b" | |
|
||||
| main.rs:45:5:48:5 | { ... } | main.rs:49:5:49:18 | ExprStmt | |
|
||||
| main.rs:46:9:46:21 | let ... = "b" | main.rs:46:18:46:20 | "b" | |
|
||||
| main.rs:46:13:46:14 | x4 | main.rs:46:13:46:14 | x4 | |
|
||||
| main.rs:46:13:46:14 | x4 | main.rs:47:9:47:22 | ExprStmt | match |
|
||||
| main.rs:46:18:46:20 | "b" | main.rs:46:13:46:14 | x4 | |
|
||||
| main.rs:47:9:47:17 | print_str | main.rs:47:19:47:20 | x4 | |
|
||||
@@ -140,10 +150,14 @@ edges
|
||||
| main.rs:58:5:67:47 | let ... = ... | main.rs:67:11:67:13 | "a" | |
|
||||
| main.rs:58:9:67:5 | TuplePat | main.rs:59:9:62:9 | TuplePat | match |
|
||||
| main.rs:59:9:62:9 | TuplePat | main.rs:60:13:60:14 | a1 | match |
|
||||
| main.rs:60:13:60:14 | a1 | main.rs:60:13:60:14 | a1 | |
|
||||
| main.rs:60:13:60:14 | a1 | main.rs:61:13:61:14 | b1 | match |
|
||||
| main.rs:61:13:61:14 | b1 | main.rs:61:13:61:14 | b1 | |
|
||||
| main.rs:61:13:61:14 | b1 | main.rs:63:9:66:9 | Point {...} | match |
|
||||
| main.rs:63:9:66:9 | Point {...} | main.rs:64:13:64:13 | x | match |
|
||||
| main.rs:64:13:64:13 | x | main.rs:64:13:64:13 | x | |
|
||||
| main.rs:64:13:64:13 | x | main.rs:65:13:65:13 | y | match |
|
||||
| main.rs:65:13:65:13 | y | main.rs:65:13:65:13 | y | |
|
||||
| main.rs:65:13:65:13 | y | main.rs:68:5:68:18 | ExprStmt | match |
|
||||
| main.rs:67:9:67:46 | TupleExpr | main.rs:58:9:67:5 | TuplePat | |
|
||||
| main.rs:67:10:67:19 | TupleExpr | main.rs:67:33:67:35 | "x" | |
|
||||
@@ -172,13 +186,16 @@ edges
|
||||
| main.rs:74:1:82:1 | exit fn let_pattern2 (normal) | main.rs:74:1:82:1 | exit fn let_pattern2 | |
|
||||
| main.rs:74:19:82:1 | { ... } | main.rs:74:1:82:1 | exit fn let_pattern2 (normal) | |
|
||||
| main.rs:75:5:75:38 | let ... = ... | main.rs:75:25:75:27 | "a" | |
|
||||
| main.rs:75:9:75:10 | p1 | main.rs:75:9:75:10 | p1 | |
|
||||
| main.rs:75:9:75:10 | p1 | main.rs:76:5:79:11 | let ... = p1 | match |
|
||||
| main.rs:75:14:75:37 | Point {...} | main.rs:75:9:75:10 | p1 | |
|
||||
| main.rs:75:25:75:27 | "a" | main.rs:75:33:75:35 | "b" | |
|
||||
| main.rs:75:33:75:35 | "b" | main.rs:75:14:75:37 | Point {...} | |
|
||||
| main.rs:76:5:79:11 | let ... = p1 | main.rs:79:9:79:10 | p1 | |
|
||||
| main.rs:76:9:79:5 | Point {...} | main.rs:77:12:77:13 | a2 | match |
|
||||
| main.rs:77:12:77:13 | a2 | main.rs:77:12:77:13 | a2 | |
|
||||
| main.rs:77:12:77:13 | a2 | main.rs:78:12:78:13 | b2 | match |
|
||||
| main.rs:78:12:78:13 | b2 | main.rs:78:12:78:13 | b2 | |
|
||||
| main.rs:78:12:78:13 | b2 | main.rs:80:5:80:18 | ExprStmt | match |
|
||||
| main.rs:79:9:79:10 | p1 | main.rs:76:9:79:5 | Point {...} | |
|
||||
| main.rs:80:5:80:13 | print_str | main.rs:80:15:80:16 | a2 | |
|
||||
@@ -193,6 +210,7 @@ edges
|
||||
| main.rs:84:1:91:1 | exit fn let_pattern3 (normal) | main.rs:84:1:91:1 | exit fn let_pattern3 | |
|
||||
| main.rs:84:19:91:1 | { ... } | main.rs:84:1:91:1 | exit fn let_pattern3 (normal) | |
|
||||
| main.rs:85:5:85:42 | let ... = ... | main.rs:85:14:85:17 | Some | |
|
||||
| main.rs:85:9:85:10 | s1 | main.rs:85:9:85:10 | s1 | |
|
||||
| main.rs:85:9:85:10 | s1 | main.rs:87:8:88:12 | let ... = s1 | match |
|
||||
| main.rs:85:14:85:17 | Some | main.rs:85:19:85:30 | ...::from | |
|
||||
| main.rs:85:14:85:41 | Some(...) | main.rs:85:9:85:10 | s1 | |
|
||||
@@ -202,8 +220,9 @@ edges
|
||||
| main.rs:87:5:90:5 | if ... {...} | main.rs:84:19:91:1 | { ... } | |
|
||||
| main.rs:87:8:88:12 | let ... = s1 | main.rs:88:11:88:12 | s1 | |
|
||||
| main.rs:87:12:87:23 | Some(...) | main.rs:87:5:90:5 | if ... {...} | no-match |
|
||||
| main.rs:87:12:87:23 | Some(...) | main.rs:87:17:87:22 | ref s2 | match |
|
||||
| main.rs:87:12:87:23 | Some(...) | main.rs:87:21:87:22 | s2 | match |
|
||||
| main.rs:87:17:87:22 | ref s2 | main.rs:89:9:89:22 | ExprStmt | match |
|
||||
| main.rs:87:21:87:22 | s2 | main.rs:87:17:87:22 | ref s2 | |
|
||||
| main.rs:88:11:88:12 | s1 | main.rs:87:12:87:23 | Some(...) | |
|
||||
| main.rs:88:14:90:5 | { ... } | main.rs:87:5:90:5 | if ... {...} | |
|
||||
| main.rs:89:9:89:17 | print_str | main.rs:89:19:89:20 | s2 | |
|
||||
@@ -216,6 +235,7 @@ edges
|
||||
| main.rs:94:5:97:10 | let ... = ... else {...} | main.rs:94:34:94:37 | Some | |
|
||||
| main.rs:94:9:94:16 | Some(...) | main.rs:94:14:94:15 | x5 | match |
|
||||
| main.rs:94:9:94:16 | Some(...) | main.rs:96:13:96:19 | MacroStmts | no-match |
|
||||
| main.rs:94:14:94:15 | x5 | main.rs:94:14:94:15 | x5 | |
|
||||
| main.rs:94:14:94:15 | x5 | main.rs:98:5:98:18 | ExprStmt | match |
|
||||
| main.rs:94:34:94:37 | Some | main.rs:94:39:94:42 | "x5" | |
|
||||
| main.rs:94:34:94:43 | Some(...) | main.rs:94:9:94:16 | Some(...) | |
|
||||
@@ -234,6 +254,7 @@ edges
|
||||
| main.rs:101:1:108:1 | exit fn let_pattern5 (normal) | main.rs:101:1:108:1 | exit fn let_pattern5 | |
|
||||
| main.rs:101:19:108:1 | { ... } | main.rs:101:1:108:1 | exit fn let_pattern5 (normal) | |
|
||||
| main.rs:102:5:102:42 | let ... = ... | main.rs:102:14:102:17 | Some | |
|
||||
| main.rs:102:9:102:10 | s1 | main.rs:102:9:102:10 | s1 | |
|
||||
| main.rs:102:9:102:10 | s1 | main.rs:104:11:105:12 | let ... = s1 | match |
|
||||
| main.rs:102:14:102:17 | Some | main.rs:102:19:102:30 | ...::from | |
|
||||
| main.rs:102:14:102:41 | Some(...) | main.rs:102:9:102:10 | s1 | |
|
||||
@@ -243,8 +264,9 @@ edges
|
||||
| main.rs:104:5:107:5 | while ... { ... } | main.rs:101:19:108:1 | { ... } | |
|
||||
| main.rs:104:11:105:12 | let ... = s1 | main.rs:105:11:105:12 | s1 | |
|
||||
| main.rs:104:15:104:26 | Some(...) | main.rs:104:5:107:5 | while ... { ... } | no-match |
|
||||
| main.rs:104:15:104:26 | Some(...) | main.rs:104:20:104:25 | ref s2 | match |
|
||||
| main.rs:104:15:104:26 | Some(...) | main.rs:104:24:104:25 | s2 | match |
|
||||
| main.rs:104:20:104:25 | ref s2 | main.rs:106:9:106:22 | ExprStmt | match |
|
||||
| main.rs:104:24:104:25 | s2 | main.rs:104:20:104:25 | ref s2 | |
|
||||
| main.rs:105:11:105:12 | s1 | main.rs:104:15:104:26 | Some(...) | |
|
||||
| main.rs:105:14:107:5 | { ... } | main.rs:104:11:105:12 | let ... = s1 | |
|
||||
| main.rs:106:9:106:17 | print_str | main.rs:106:19:106:20 | s2 | |
|
||||
@@ -255,11 +277,13 @@ edges
|
||||
| main.rs:110:1:125:1 | exit fn match_pattern1 (normal) | main.rs:110:1:125:1 | exit fn match_pattern1 | |
|
||||
| main.rs:110:21:125:1 | { ... } | main.rs:110:1:125:1 | exit fn match_pattern1 (normal) | |
|
||||
| main.rs:111:5:111:21 | let ... = ... | main.rs:111:14:111:17 | Some | |
|
||||
| main.rs:111:9:111:10 | x6 | main.rs:111:9:111:10 | x6 | |
|
||||
| main.rs:111:9:111:10 | x6 | main.rs:112:5:112:16 | let ... = 10 | match |
|
||||
| main.rs:111:14:111:17 | Some | main.rs:111:19:111:19 | 5 | |
|
||||
| main.rs:111:14:111:20 | Some(...) | main.rs:111:9:111:10 | x6 | |
|
||||
| main.rs:111:19:111:19 | 5 | main.rs:111:14:111:20 | Some(...) | |
|
||||
| main.rs:112:5:112:16 | let ... = 10 | main.rs:112:14:112:15 | 10 | |
|
||||
| main.rs:112:9:112:10 | y1 | main.rs:112:9:112:10 | y1 | |
|
||||
| main.rs:112:9:112:10 | y1 | main.rs:114:5:122:5 | ExprStmt | match |
|
||||
| main.rs:112:14:112:15 | 10 | main.rs:112:9:112:10 | y1 | |
|
||||
| main.rs:114:5:122:5 | ExprStmt | main.rs:114:11:114:12 | x6 | |
|
||||
@@ -275,11 +299,13 @@ edges
|
||||
| main.rs:115:31:115:38 | "Got 50" | main.rs:115:21:115:39 | print_str(...) | |
|
||||
| main.rs:116:9:116:16 | Some(...) | main.rs:116:14:116:15 | y1 | match |
|
||||
| main.rs:116:9:116:16 | Some(...) | main.rs:121:9:121:12 | None | no-match |
|
||||
| main.rs:116:14:116:15 | y1 | main.rs:116:14:116:15 | y1 | |
|
||||
| main.rs:116:14:116:15 | y1 | main.rs:119:13:119:21 | print_i64 | match |
|
||||
| main.rs:118:9:120:9 | { ... } | main.rs:114:5:122:5 | match x6 { ... } | |
|
||||
| main.rs:119:13:119:21 | print_i64 | main.rs:119:23:119:24 | y1 | |
|
||||
| main.rs:119:13:119:25 | print_i64(...) | main.rs:118:9:120:9 | { ... } | |
|
||||
| main.rs:119:23:119:24 | y1 | main.rs:119:13:119:25 | print_i64(...) | |
|
||||
| main.rs:121:9:121:12 | None | main.rs:121:9:121:12 | None | |
|
||||
| main.rs:121:9:121:12 | None | main.rs:121:17:121:25 | print_str | match |
|
||||
| main.rs:121:17:121:25 | print_str | main.rs:121:27:121:32 | "NONE" | |
|
||||
| main.rs:121:17:121:33 | print_str(...) | main.rs:114:5:122:5 | match x6 { ... } | |
|
||||
@@ -292,6 +318,7 @@ edges
|
||||
| main.rs:127:1:152:1 | exit fn match_pattern2 (normal) | main.rs:127:1:152:1 | exit fn match_pattern2 | |
|
||||
| main.rs:127:21:152:1 | { ... } | main.rs:127:1:152:1 | exit fn match_pattern2 (normal) | |
|
||||
| main.rs:128:5:128:36 | let ... = ... | main.rs:128:20:128:20 | 2 | |
|
||||
| main.rs:128:9:128:15 | numbers | main.rs:128:9:128:15 | numbers | |
|
||||
| main.rs:128:9:128:15 | numbers | main.rs:130:5:140:5 | ExprStmt | match |
|
||||
| main.rs:128:19:128:35 | TupleExpr | main.rs:128:9:128:15 | numbers | |
|
||||
| main.rs:128:20:128:20 | 2 | main.rs:128:23:128:23 | 4 | |
|
||||
@@ -303,10 +330,13 @@ edges
|
||||
| main.rs:130:5:140:5 | match numbers { ... } | main.rs:142:11:142:17 | numbers | |
|
||||
| main.rs:130:11:130:17 | numbers | main.rs:131:9:135:9 | TuplePat | |
|
||||
| main.rs:131:9:135:9 | TuplePat | main.rs:132:13:132:17 | first | match |
|
||||
| main.rs:132:13:132:17 | first | main.rs:132:13:132:17 | first | |
|
||||
| main.rs:132:13:132:17 | first | main.rs:132:20:132:20 | _ | match |
|
||||
| main.rs:132:20:132:20 | _ | main.rs:133:13:133:17 | third | match |
|
||||
| main.rs:133:13:133:17 | third | main.rs:133:13:133:17 | third | |
|
||||
| main.rs:133:13:133:17 | third | main.rs:133:20:133:20 | _ | match |
|
||||
| main.rs:133:20:133:20 | _ | main.rs:134:13:134:17 | fifth | match |
|
||||
| main.rs:134:13:134:17 | fifth | main.rs:134:13:134:17 | fifth | |
|
||||
| main.rs:134:13:134:17 | fifth | main.rs:136:13:136:29 | ExprStmt | match |
|
||||
| main.rs:135:14:139:9 | { ... } | main.rs:130:5:140:5 | match numbers { ... } | |
|
||||
| main.rs:136:13:136:21 | print_i64 | main.rs:136:23:136:27 | first | |
|
||||
@@ -324,8 +354,10 @@ edges
|
||||
| main.rs:142:5:151:5 | match numbers { ... } | main.rs:127:21:152:1 | { ... } | |
|
||||
| main.rs:142:11:142:17 | numbers | main.rs:143:9:147:9 | TuplePat | |
|
||||
| main.rs:143:9:147:9 | TuplePat | main.rs:144:13:144:17 | first | match |
|
||||
| main.rs:144:13:144:17 | first | main.rs:144:13:144:17 | first | |
|
||||
| main.rs:144:13:144:17 | first | main.rs:145:13:145:14 | .. | match |
|
||||
| main.rs:145:13:145:14 | .. | main.rs:146:13:146:16 | last | match |
|
||||
| main.rs:146:13:146:16 | last | main.rs:146:13:146:16 | last | |
|
||||
| main.rs:146:13:146:16 | last | main.rs:148:13:148:29 | ExprStmt | match |
|
||||
| main.rs:147:14:150:9 | { ... } | main.rs:142:5:151:5 | match numbers { ... } | |
|
||||
| main.rs:148:13:148:21 | print_i64 | main.rs:148:23:148:27 | first | |
|
||||
@@ -340,6 +372,7 @@ edges
|
||||
| main.rs:154:1:162:1 | exit fn match_pattern3 (normal) | main.rs:154:1:162:1 | exit fn match_pattern3 | |
|
||||
| main.rs:154:21:162:1 | { ... } | main.rs:154:1:162:1 | exit fn match_pattern3 (normal) | |
|
||||
| main.rs:155:5:155:38 | let ... = ... | main.rs:155:25:155:27 | "x" | |
|
||||
| main.rs:155:9:155:10 | p2 | main.rs:155:9:155:10 | p2 | |
|
||||
| main.rs:155:9:155:10 | p2 | main.rs:157:11:157:12 | p2 | match |
|
||||
| main.rs:155:14:155:37 | Point {...} | main.rs:155:9:155:10 | p2 | |
|
||||
| main.rs:155:25:155:27 | "x" | main.rs:155:33:155:35 | "y" | |
|
||||
@@ -347,6 +380,7 @@ edges
|
||||
| main.rs:157:5:161:5 | match p2 { ... } | main.rs:154:21:162:1 | { ... } | |
|
||||
| main.rs:157:11:157:12 | p2 | main.rs:158:9:160:9 | Point {...} | |
|
||||
| main.rs:158:9:160:9 | Point {...} | main.rs:159:16:159:17 | x7 | match |
|
||||
| main.rs:159:16:159:17 | x7 | main.rs:159:16:159:17 | x7 | |
|
||||
| main.rs:159:16:159:17 | x7 | main.rs:159:20:159:21 | .. | match |
|
||||
| main.rs:159:20:159:21 | .. | main.rs:160:14:160:22 | print_str | match |
|
||||
| main.rs:160:14:160:22 | print_str | main.rs:160:24:160:25 | x7 | |
|
||||
@@ -356,6 +390,7 @@ edges
|
||||
| main.rs:168:1:181:1 | exit fn match_pattern4 (normal) | main.rs:168:1:181:1 | exit fn match_pattern4 | |
|
||||
| main.rs:168:21:181:1 | { ... } | main.rs:168:1:181:1 | exit fn match_pattern4 (normal) | |
|
||||
| main.rs:169:5:169:39 | let ... = ... | main.rs:169:36:169:36 | 0 | |
|
||||
| main.rs:169:9:169:11 | msg | main.rs:169:9:169:11 | msg | |
|
||||
| main.rs:169:9:169:11 | msg | main.rs:171:11:171:13 | msg | match |
|
||||
| main.rs:169:15:169:38 | ...::Hello {...} | main.rs:169:9:169:11 | msg | |
|
||||
| main.rs:169:36:169:36 | 0 | main.rs:169:15:169:38 | ...::Hello {...} | |
|
||||
@@ -363,13 +398,15 @@ edges
|
||||
| main.rs:171:11:171:13 | msg | main.rs:172:9:174:9 | ...::Hello {...} | |
|
||||
| main.rs:172:9:174:9 | ...::Hello {...} | main.rs:173:31:173:35 | RangePat | match |
|
||||
| main.rs:172:9:174:9 | ...::Hello {...} | main.rs:175:9:175:38 | ...::Hello {...} | no-match |
|
||||
| main.rs:173:17:173:35 | [match(true)] id_variable @ ... | main.rs:174:14:174:22 | print_i64 | match |
|
||||
| main.rs:173:17:173:27 | id_variable | main.rs:173:17:173:35 | id_variable @ ... | |
|
||||
| main.rs:173:17:173:35 | id_variable @ ... | main.rs:174:14:174:22 | print_i64 | match |
|
||||
| main.rs:173:17:173:35 | id_variable @ ... | main.rs:175:9:175:38 | ...::Hello {...} | no-match |
|
||||
| main.rs:173:31:173:31 | 3 | main.rs:173:31:173:31 | 3 | |
|
||||
| main.rs:173:31:173:31 | 3 | main.rs:173:35:173:35 | 7 | match |
|
||||
| main.rs:173:31:173:31 | 3 | main.rs:175:9:175:38 | ...::Hello {...} | no-match |
|
||||
| main.rs:173:31:173:35 | RangePat | main.rs:173:31:173:31 | 3 | match |
|
||||
| main.rs:173:31:173:35 | RangePat | main.rs:175:9:175:38 | ...::Hello {...} | no-match |
|
||||
| main.rs:173:35:173:35 | 7 | main.rs:173:17:173:35 | [match(true)] id_variable @ ... | match |
|
||||
| main.rs:173:35:173:35 | 7 | main.rs:173:17:173:27 | id_variable | match |
|
||||
| main.rs:173:35:173:35 | 7 | main.rs:173:35:173:35 | 7 | |
|
||||
| main.rs:173:35:173:35 | 7 | main.rs:175:9:175:38 | ...::Hello {...} | no-match |
|
||||
| main.rs:174:14:174:22 | print_i64 | main.rs:174:24:174:34 | id_variable | |
|
||||
@@ -398,6 +435,7 @@ edges
|
||||
| main.rs:176:22:176:51 | MacroStmts | main.rs:176:22:176:51 | ExprStmt | |
|
||||
| main.rs:176:22:176:51 | { ... } | main.rs:176:13:176:52 | println!... | |
|
||||
| main.rs:178:9:178:29 | ...::Hello {...} | main.rs:178:26:178:27 | id | match |
|
||||
| main.rs:178:26:178:27 | id | main.rs:178:26:178:27 | id | |
|
||||
| main.rs:178:26:178:27 | id | main.rs:179:13:179:21 | print_i64 | match |
|
||||
| main.rs:179:13:179:21 | print_i64 | main.rs:179:23:179:24 | id | |
|
||||
| main.rs:179:13:179:25 | print_i64(...) | main.rs:171:5:180:5 | match msg { ... } | |
|
||||
@@ -406,6 +444,7 @@ edges
|
||||
| main.rs:188:1:194:1 | exit fn match_pattern5 (normal) | main.rs:188:1:194:1 | exit fn match_pattern5 | |
|
||||
| main.rs:188:21:194:1 | { ... } | main.rs:188:1:194:1 | exit fn match_pattern5 (normal) | |
|
||||
| main.rs:189:5:189:34 | let ... = ... | main.rs:189:18:189:29 | ...::Left | |
|
||||
| main.rs:189:9:189:14 | either | main.rs:189:9:189:14 | either | |
|
||||
| main.rs:189:9:189:14 | either | main.rs:190:11:190:16 | either | match |
|
||||
| main.rs:189:18:189:29 | ...::Left | main.rs:189:31:189:32 | 32 | |
|
||||
| main.rs:189:18:189:33 | ...::Left(...) | main.rs:189:9:189:14 | either | |
|
||||
@@ -416,8 +455,10 @@ edges
|
||||
| main.rs:191:9:191:24 | ...::Left(...) | main.rs:191:28:191:44 | ...::Right(...) | no-match |
|
||||
| main.rs:191:9:191:44 | [match(true)] ... \| ... | main.rs:192:16:192:24 | print_i64 | match |
|
||||
| main.rs:191:22:191:23 | a3 | main.rs:191:9:191:44 | [match(true)] ... \| ... | match |
|
||||
| main.rs:191:22:191:23 | a3 | main.rs:191:22:191:23 | a3 | |
|
||||
| main.rs:191:28:191:44 | ...::Right(...) | main.rs:191:42:191:43 | a3 | match |
|
||||
| main.rs:191:42:191:43 | a3 | main.rs:191:9:191:44 | [match(true)] ... \| ... | match |
|
||||
| main.rs:191:42:191:43 | a3 | main.rs:191:42:191:43 | a3 | |
|
||||
| main.rs:192:16:192:24 | print_i64 | main.rs:192:26:192:27 | a3 | |
|
||||
| main.rs:192:16:192:28 | print_i64(...) | main.rs:190:5:193:5 | match either { ... } | |
|
||||
| main.rs:192:26:192:27 | a3 | main.rs:192:16:192:28 | print_i64(...) | |
|
||||
@@ -425,6 +466,7 @@ edges
|
||||
| main.rs:202:1:216:1 | exit fn match_pattern6 (normal) | main.rs:202:1:216:1 | exit fn match_pattern6 | |
|
||||
| main.rs:202:21:216:1 | { ... } | main.rs:202:1:216:1 | exit fn match_pattern6 (normal) | |
|
||||
| main.rs:203:5:203:37 | let ... = ... | main.rs:203:14:203:32 | ...::Second | |
|
||||
| main.rs:203:9:203:10 | tv | main.rs:203:9:203:10 | tv | |
|
||||
| main.rs:203:9:203:10 | tv | main.rs:204:5:207:5 | ExprStmt | match |
|
||||
| main.rs:203:14:203:32 | ...::Second | main.rs:203:34:203:35 | 62 | |
|
||||
| main.rs:203:14:203:36 | ...::Second(...) | main.rs:203:9:203:10 | tv | |
|
||||
@@ -436,11 +478,14 @@ edges
|
||||
| main.rs:205:9:205:30 | ...::First(...) | main.rs:205:34:205:56 | ...::Second(...) | no-match |
|
||||
| main.rs:205:9:205:81 | [match(true)] ... \| ... \| ... | main.rs:206:16:206:24 | print_i64 | match |
|
||||
| main.rs:205:28:205:29 | a4 | main.rs:205:9:205:81 | [match(true)] ... \| ... \| ... | match |
|
||||
| main.rs:205:28:205:29 | a4 | main.rs:205:28:205:29 | a4 | |
|
||||
| main.rs:205:34:205:56 | ...::Second(...) | main.rs:205:54:205:55 | a4 | match |
|
||||
| main.rs:205:34:205:56 | ...::Second(...) | main.rs:205:60:205:81 | ...::Third(...) | no-match |
|
||||
| main.rs:205:54:205:55 | a4 | main.rs:205:9:205:81 | [match(true)] ... \| ... \| ... | match |
|
||||
| main.rs:205:54:205:55 | a4 | main.rs:205:54:205:55 | a4 | |
|
||||
| main.rs:205:60:205:81 | ...::Third(...) | main.rs:205:79:205:80 | a4 | match |
|
||||
| main.rs:205:79:205:80 | a4 | main.rs:205:9:205:81 | [match(true)] ... \| ... \| ... | match |
|
||||
| main.rs:205:79:205:80 | a4 | main.rs:205:79:205:80 | a4 | |
|
||||
| main.rs:206:16:206:24 | print_i64 | main.rs:206:26:206:27 | a4 | |
|
||||
| main.rs:206:16:206:28 | print_i64(...) | main.rs:204:5:207:5 | match tv { ... } | |
|
||||
| main.rs:206:26:206:27 | a4 | main.rs:206:16:206:28 | print_i64(...) | |
|
||||
@@ -453,11 +498,14 @@ edges
|
||||
| main.rs:209:10:209:57 | [match(false)] ... \| ... | main.rs:209:62:209:83 | ...::Third(...) | no-match |
|
||||
| main.rs:209:10:209:57 | [match(true)] ... \| ... | main.rs:209:9:209:83 | [match(true)] ... \| ... | match |
|
||||
| main.rs:209:29:209:30 | a5 | main.rs:209:10:209:57 | [match(true)] ... \| ... | match |
|
||||
| main.rs:209:29:209:30 | a5 | main.rs:209:29:209:30 | a5 | |
|
||||
| main.rs:209:35:209:57 | ...::Second(...) | main.rs:209:10:209:57 | [match(false)] ... \| ... | no-match |
|
||||
| main.rs:209:35:209:57 | ...::Second(...) | main.rs:209:55:209:56 | a5 | match |
|
||||
| main.rs:209:55:209:56 | a5 | main.rs:209:10:209:57 | [match(true)] ... \| ... | match |
|
||||
| main.rs:209:55:209:56 | a5 | main.rs:209:55:209:56 | a5 | |
|
||||
| main.rs:209:62:209:83 | ...::Third(...) | main.rs:209:81:209:82 | a5 | match |
|
||||
| main.rs:209:81:209:82 | a5 | main.rs:209:9:209:83 | [match(true)] ... \| ... | match |
|
||||
| main.rs:209:81:209:82 | a5 | main.rs:209:81:209:82 | a5 | |
|
||||
| main.rs:210:16:210:24 | print_i64 | main.rs:210:26:210:27 | a5 | |
|
||||
| main.rs:210:16:210:28 | print_i64(...) | main.rs:208:5:211:5 | match tv { ... } | |
|
||||
| main.rs:210:26:210:27 | a5 | main.rs:210:16:210:28 | print_i64(...) | |
|
||||
@@ -467,12 +515,15 @@ edges
|
||||
| main.rs:213:9:213:30 | ...::First(...) | main.rs:213:35:213:57 | ...::Second(...) | no-match |
|
||||
| main.rs:213:9:213:83 | [match(true)] ... \| ... | main.rs:214:16:214:24 | print_i64 | match |
|
||||
| main.rs:213:28:213:29 | a6 | main.rs:213:9:213:83 | [match(true)] ... \| ... | match |
|
||||
| main.rs:213:28:213:29 | a6 | main.rs:213:28:213:29 | a6 | |
|
||||
| main.rs:213:35:213:57 | ...::Second(...) | main.rs:213:55:213:56 | a6 | match |
|
||||
| main.rs:213:35:213:57 | ...::Second(...) | main.rs:213:61:213:82 | ...::Third(...) | no-match |
|
||||
| main.rs:213:35:213:82 | [match(true)] ... \| ... | main.rs:213:9:213:83 | [match(true)] ... \| ... | match |
|
||||
| main.rs:213:55:213:56 | a6 | main.rs:213:35:213:82 | [match(true)] ... \| ... | match |
|
||||
| main.rs:213:55:213:56 | a6 | main.rs:213:55:213:56 | a6 | |
|
||||
| main.rs:213:61:213:82 | ...::Third(...) | main.rs:213:80:213:81 | a6 | match |
|
||||
| main.rs:213:80:213:81 | a6 | main.rs:213:35:213:82 | [match(true)] ... \| ... | match |
|
||||
| main.rs:213:80:213:81 | a6 | main.rs:213:80:213:81 | a6 | |
|
||||
| main.rs:214:16:214:24 | print_i64 | main.rs:214:26:214:27 | a6 | |
|
||||
| main.rs:214:16:214:28 | print_i64(...) | main.rs:212:5:215:5 | match tv { ... } | |
|
||||
| main.rs:214:26:214:27 | a6 | main.rs:214:16:214:28 | print_i64(...) | |
|
||||
@@ -480,6 +531,7 @@ edges
|
||||
| main.rs:218:1:226:1 | exit fn match_pattern7 (normal) | main.rs:218:1:226:1 | exit fn match_pattern7 | |
|
||||
| main.rs:218:21:226:1 | { ... } | main.rs:218:1:226:1 | exit fn match_pattern7 (normal) | |
|
||||
| main.rs:219:5:219:34 | let ... = ... | main.rs:219:18:219:29 | ...::Left | |
|
||||
| main.rs:219:9:219:14 | either | main.rs:219:9:219:14 | either | |
|
||||
| main.rs:219:9:219:14 | either | main.rs:220:11:220:16 | either | match |
|
||||
| main.rs:219:18:219:29 | ...::Left | main.rs:219:31:219:32 | 32 | |
|
||||
| main.rs:219:18:219:33 | ...::Left(...) | main.rs:219:9:219:14 | either | |
|
||||
@@ -491,9 +543,11 @@ edges
|
||||
| main.rs:221:9:221:44 | [match(false)] ... \| ... | main.rs:224:9:224:9 | _ | no-match |
|
||||
| main.rs:221:9:221:44 | [match(true)] ... \| ... | main.rs:222:16:222:17 | a7 | match |
|
||||
| main.rs:221:22:221:23 | a7 | main.rs:221:9:221:44 | [match(true)] ... \| ... | match |
|
||||
| main.rs:221:22:221:23 | a7 | main.rs:221:22:221:23 | a7 | |
|
||||
| main.rs:221:28:221:44 | ...::Right(...) | main.rs:221:9:221:44 | [match(false)] ... \| ... | no-match |
|
||||
| main.rs:221:28:221:44 | ...::Right(...) | main.rs:221:42:221:43 | a7 | match |
|
||||
| main.rs:221:42:221:43 | a7 | main.rs:221:9:221:44 | [match(true)] ... \| ... | match |
|
||||
| main.rs:221:42:221:43 | a7 | main.rs:221:42:221:43 | a7 | |
|
||||
| main.rs:222:16:222:17 | a7 | main.rs:222:21:222:21 | 0 | |
|
||||
| main.rs:222:16:222:21 | ... > ... | main.rs:223:16:223:24 | print_i64 | true |
|
||||
| main.rs:222:16:222:21 | ... > ... | main.rs:224:9:224:9 | _ | false |
|
||||
@@ -507,21 +561,26 @@ edges
|
||||
| main.rs:228:1:243:1 | exit fn match_pattern8 (normal) | main.rs:228:1:243:1 | exit fn match_pattern8 | |
|
||||
| main.rs:228:21:243:1 | { ... } | main.rs:228:1:243:1 | exit fn match_pattern8 (normal) | |
|
||||
| main.rs:229:5:229:34 | let ... = ... | main.rs:229:18:229:29 | ...::Left | |
|
||||
| main.rs:229:9:229:14 | either | main.rs:229:9:229:14 | either | |
|
||||
| main.rs:229:9:229:14 | either | main.rs:231:11:231:16 | either | match |
|
||||
| main.rs:229:18:229:29 | ...::Left | main.rs:229:31:229:32 | 32 | |
|
||||
| main.rs:229:18:229:33 | ...::Left(...) | main.rs:229:9:229:14 | either | |
|
||||
| main.rs:229:31:229:32 | 32 | main.rs:229:18:229:33 | ...::Left(...) | |
|
||||
| main.rs:231:5:242:5 | match either { ... } | main.rs:228:21:243:1 | { ... } | |
|
||||
| main.rs:231:11:231:16 | either | main.rs:233:14:233:30 | ...::Left(...) | |
|
||||
| main.rs:232:9:233:52 | [match(true)] ref e @ ... | main.rs:235:13:235:27 | ExprStmt | match |
|
||||
| main.rs:232:9:233:52 | ref e @ ... | main.rs:235:13:235:27 | ExprStmt | match |
|
||||
| main.rs:232:9:233:52 | ref e @ ... | main.rs:241:9:241:9 | _ | no-match |
|
||||
| main.rs:232:13:232:13 | e | main.rs:232:9:233:52 | ref e @ ... | |
|
||||
| main.rs:233:14:233:30 | ...::Left(...) | main.rs:233:27:233:29 | a11 | match |
|
||||
| main.rs:233:14:233:30 | ...::Left(...) | main.rs:233:34:233:51 | ...::Right(...) | no-match |
|
||||
| main.rs:233:14:233:51 | [match(false)] ... \| ... | main.rs:241:9:241:9 | _ | no-match |
|
||||
| main.rs:233:14:233:51 | [match(true)] ... \| ... | main.rs:232:9:233:52 | [match(true)] ref e @ ... | match |
|
||||
| main.rs:233:14:233:51 | [match(true)] ... \| ... | main.rs:232:13:232:13 | e | match |
|
||||
| main.rs:233:27:233:29 | a11 | main.rs:233:14:233:51 | [match(true)] ... \| ... | match |
|
||||
| main.rs:233:27:233:29 | a11 | main.rs:233:27:233:29 | a11 | |
|
||||
| main.rs:233:34:233:51 | ...::Right(...) | main.rs:233:14:233:51 | [match(false)] ... \| ... | no-match |
|
||||
| main.rs:233:34:233:51 | ...::Right(...) | main.rs:233:48:233:50 | a11 | match |
|
||||
| main.rs:233:48:233:50 | a11 | main.rs:233:14:233:51 | [match(true)] ... \| ... | match |
|
||||
| main.rs:233:48:233:50 | a11 | main.rs:233:48:233:50 | a11 | |
|
||||
| main.rs:234:12:240:9 | { ... } | main.rs:231:5:242:5 | match either { ... } | |
|
||||
| main.rs:235:13:235:21 | print_i64 | main.rs:235:23:235:25 | a11 | |
|
||||
| main.rs:235:13:235:26 | print_i64(...) | main.rs:236:16:237:15 | let ... = e | |
|
||||
@@ -531,6 +590,7 @@ edges
|
||||
| main.rs:236:16:237:15 | let ... = e | main.rs:237:15:237:15 | e | |
|
||||
| main.rs:236:20:236:36 | ...::Left(...) | main.rs:236:13:239:13 | if ... {...} | no-match |
|
||||
| main.rs:236:20:236:36 | ...::Left(...) | main.rs:236:33:236:35 | a12 | match |
|
||||
| main.rs:236:33:236:35 | a12 | main.rs:236:33:236:35 | a12 | |
|
||||
| main.rs:236:33:236:35 | a12 | main.rs:238:17:238:32 | ExprStmt | match |
|
||||
| main.rs:237:15:237:15 | e | main.rs:236:20:236:36 | ...::Left(...) | |
|
||||
| main.rs:237:17:239:13 | { ... } | main.rs:236:13:239:13 | if ... {...} | |
|
||||
@@ -545,6 +605,7 @@ edges
|
||||
| main.rs:252:1:258:1 | exit fn match_pattern9 (normal) | main.rs:252:1:258:1 | exit fn match_pattern9 | |
|
||||
| main.rs:252:21:258:1 | { ... } | main.rs:252:1:258:1 | exit fn match_pattern9 (normal) | |
|
||||
| main.rs:253:5:253:36 | let ... = ... | main.rs:253:14:253:31 | ...::Second | |
|
||||
| main.rs:253:9:253:10 | fv | main.rs:253:9:253:10 | fv | |
|
||||
| main.rs:253:9:253:10 | fv | main.rs:254:11:254:12 | fv | match |
|
||||
| main.rs:253:14:253:31 | ...::Second | main.rs:253:33:253:34 | 62 | |
|
||||
| main.rs:253:14:253:35 | ...::Second(...) | main.rs:253:9:253:10 | fv | |
|
||||
@@ -555,27 +616,34 @@ edges
|
||||
| main.rs:255:9:255:30 | ...::First(...) | main.rs:255:35:255:57 | ...::Second(...) | no-match |
|
||||
| main.rs:255:9:255:109 | [match(true)] ... \| ... \| ... | main.rs:256:16:256:24 | print_i64 | match |
|
||||
| main.rs:255:27:255:29 | a13 | main.rs:255:9:255:109 | [match(true)] ... \| ... \| ... | match |
|
||||
| main.rs:255:27:255:29 | a13 | main.rs:255:27:255:29 | a13 | |
|
||||
| main.rs:255:35:255:57 | ...::Second(...) | main.rs:255:54:255:56 | a13 | match |
|
||||
| main.rs:255:35:255:57 | ...::Second(...) | main.rs:255:61:255:82 | ...::Third(...) | no-match |
|
||||
| main.rs:255:35:255:82 | [match(false)] ... \| ... | main.rs:255:87:255:109 | ...::Fourth(...) | no-match |
|
||||
| main.rs:255:35:255:82 | [match(true)] ... \| ... | main.rs:255:9:255:109 | [match(true)] ... \| ... \| ... | match |
|
||||
| main.rs:255:54:255:56 | a13 | main.rs:255:35:255:82 | [match(true)] ... \| ... | match |
|
||||
| main.rs:255:54:255:56 | a13 | main.rs:255:54:255:56 | a13 | |
|
||||
| main.rs:255:61:255:82 | ...::Third(...) | main.rs:255:35:255:82 | [match(false)] ... \| ... | no-match |
|
||||
| main.rs:255:61:255:82 | ...::Third(...) | main.rs:255:79:255:81 | a13 | match |
|
||||
| main.rs:255:79:255:81 | a13 | main.rs:255:35:255:82 | [match(true)] ... \| ... | match |
|
||||
| main.rs:255:79:255:81 | a13 | main.rs:255:79:255:81 | a13 | |
|
||||
| main.rs:255:87:255:109 | ...::Fourth(...) | main.rs:255:106:255:108 | a13 | match |
|
||||
| main.rs:255:106:255:108 | a13 | main.rs:255:9:255:109 | [match(true)] ... \| ... \| ... | match |
|
||||
| main.rs:255:106:255:108 | a13 | main.rs:255:106:255:108 | a13 | |
|
||||
| main.rs:256:16:256:24 | print_i64 | main.rs:256:26:256:28 | a13 | |
|
||||
| main.rs:256:16:256:29 | print_i64(...) | main.rs:254:5:257:5 | match fv { ... } | |
|
||||
| main.rs:256:26:256:28 | a13 | main.rs:256:16:256:29 | print_i64(...) | |
|
||||
| main.rs:260:1:269:1 | enter fn param_pattern1 | main.rs:261:5:261:6 | a8 | |
|
||||
| main.rs:260:1:269:1 | exit fn param_pattern1 (normal) | main.rs:260:1:269:1 | exit fn param_pattern1 | |
|
||||
| main.rs:261:5:261:6 | a8 | main.rs:261:5:261:6 | a8 | |
|
||||
| main.rs:261:5:261:6 | a8 | main.rs:261:5:261:12 | ...: ... | match |
|
||||
| main.rs:261:5:261:12 | ...: ... | main.rs:262:5:265:5 | TuplePat | |
|
||||
| main.rs:262:5:265:5 | TuplePat | main.rs:263:9:263:10 | b3 | match |
|
||||
| main.rs:262:5:265:19 | ...: ... | main.rs:266:5:266:18 | ExprStmt | |
|
||||
| main.rs:263:9:263:10 | b3 | main.rs:263:9:263:10 | b3 | |
|
||||
| main.rs:263:9:263:10 | b3 | main.rs:264:9:264:10 | c1 | match |
|
||||
| main.rs:264:9:264:10 | c1 | main.rs:262:5:265:19 | ...: ... | match |
|
||||
| main.rs:264:9:264:10 | c1 | main.rs:264:9:264:10 | c1 | |
|
||||
| main.rs:265:28:269:1 | { ... } | main.rs:260:1:269:1 | exit fn param_pattern1 (normal) | |
|
||||
| main.rs:266:5:266:13 | print_str | main.rs:266:15:266:16 | a8 | |
|
||||
| main.rs:266:5:266:17 | print_str(...) | main.rs:267:5:267:18 | ExprStmt | |
|
||||
@@ -596,8 +664,10 @@ edges
|
||||
| main.rs:272:6:272:21 | ...::Left(...) | main.rs:272:25:272:41 | ...::Right(...) | no-match |
|
||||
| main.rs:272:6:272:41 | [match(true)] ... \| ... | main.rs:272:5:272:50 | ...: Either | match |
|
||||
| main.rs:272:19:272:20 | a9 | main.rs:272:6:272:41 | [match(true)] ... \| ... | match |
|
||||
| main.rs:272:19:272:20 | a9 | main.rs:272:19:272:20 | a9 | |
|
||||
| main.rs:272:25:272:41 | ...::Right(...) | main.rs:272:39:272:40 | a9 | match |
|
||||
| main.rs:272:39:272:40 | a9 | main.rs:272:6:272:41 | [match(true)] ... \| ... | match |
|
||||
| main.rs:272:39:272:40 | a9 | main.rs:272:39:272:40 | a9 | |
|
||||
| main.rs:273:9:275:1 | { ... } | main.rs:271:1:275:1 | exit fn param_pattern2 (normal) | |
|
||||
| main.rs:274:5:274:13 | print_i64 | main.rs:274:15:274:16 | a9 | |
|
||||
| main.rs:274:5:274:17 | print_i64(...) | main.rs:273:9:275:1 | { ... } | |
|
||||
@@ -607,10 +677,13 @@ edges
|
||||
| main.rs:277:1:312:1 | exit fn destruct_assignment (normal) | main.rs:277:1:312:1 | exit fn destruct_assignment | |
|
||||
| main.rs:277:26:312:1 | { ... } | main.rs:277:1:312:1 | exit fn destruct_assignment (normal) | |
|
||||
| main.rs:278:5:282:18 | let ... = ... | main.rs:282:10:282:10 | 1 | |
|
||||
| main.rs:278:9:282:5 | TuplePat | main.rs:279:9:279:15 | mut a10 | match |
|
||||
| main.rs:279:9:279:15 | mut a10 | main.rs:280:9:280:14 | mut b4 | match |
|
||||
| main.rs:280:9:280:14 | mut b4 | main.rs:281:9:281:14 | mut c2 | match |
|
||||
| main.rs:278:9:282:5 | TuplePat | main.rs:279:13:279:15 | a10 | match |
|
||||
| main.rs:279:9:279:15 | mut a10 | main.rs:280:13:280:14 | b4 | match |
|
||||
| main.rs:279:13:279:15 | a10 | main.rs:279:9:279:15 | mut a10 | |
|
||||
| main.rs:280:9:280:14 | mut b4 | main.rs:281:13:281:14 | c2 | match |
|
||||
| main.rs:280:13:280:14 | b4 | main.rs:280:9:280:14 | mut b4 | |
|
||||
| main.rs:281:9:281:14 | mut c2 | main.rs:283:5:283:19 | ExprStmt | match |
|
||||
| main.rs:281:13:281:14 | c2 | main.rs:281:9:281:14 | mut c2 | |
|
||||
| main.rs:282:9:282:17 | TupleExpr | main.rs:278:9:282:5 | TuplePat | |
|
||||
| main.rs:282:10:282:10 | 1 | main.rs:282:13:282:13 | 2 | |
|
||||
| main.rs:282:13:282:13 | 2 | main.rs:282:16:282:16 | 3 | |
|
||||
@@ -655,7 +728,9 @@ edges
|
||||
| main.rs:300:12:300:12 | 4 | main.rs:300:15:300:15 | 5 | |
|
||||
| main.rs:300:15:300:15 | 5 | main.rs:300:11:300:16 | TupleExpr | |
|
||||
| main.rs:301:9:304:9 | TuplePat | main.rs:302:13:302:15 | a10 | match |
|
||||
| main.rs:302:13:302:15 | a10 | main.rs:302:13:302:15 | a10 | |
|
||||
| main.rs:302:13:302:15 | a10 | main.rs:303:13:303:14 | b4 | match |
|
||||
| main.rs:303:13:303:14 | b4 | main.rs:303:13:303:14 | b4 | |
|
||||
| main.rs:303:13:303:14 | b4 | main.rs:305:13:305:27 | ExprStmt | match |
|
||||
| main.rs:304:14:307:9 | { ... } | main.rs:300:5:308:5 | match ... { ... } | |
|
||||
| main.rs:305:13:305:21 | print_i64 | main.rs:305:23:305:25 | a10 | |
|
||||
@@ -678,14 +753,17 @@ edges
|
||||
| main.rs:314:1:329:1 | exit fn closure_variable (normal) | main.rs:314:1:329:1 | exit fn closure_variable | |
|
||||
| main.rs:314:23:329:1 | { ... } | main.rs:314:1:329:1 | exit fn closure_variable (normal) | |
|
||||
| main.rs:315:5:317:10 | let ... = ... | main.rs:316:9:317:9 | \|...\| x | |
|
||||
| main.rs:315:9:315:23 | example_closure | main.rs:315:9:315:23 | example_closure | |
|
||||
| main.rs:315:9:315:23 | example_closure | main.rs:318:5:319:27 | let ... = ... | match |
|
||||
| main.rs:316:9:317:9 | \|...\| x | main.rs:315:9:315:23 | example_closure | |
|
||||
| main.rs:316:9:317:9 | enter \|...\| x | main.rs:316:10:316:10 | x | |
|
||||
| main.rs:316:9:317:9 | exit \|...\| x (normal) | main.rs:316:9:317:9 | exit \|...\| x | |
|
||||
| main.rs:316:10:316:10 | x | main.rs:316:10:316:10 | x | |
|
||||
| main.rs:316:10:316:10 | x | main.rs:316:10:316:15 | ...: i64 | match |
|
||||
| main.rs:316:10:316:15 | ...: i64 | main.rs:317:9:317:9 | x | |
|
||||
| main.rs:317:9:317:9 | x | main.rs:316:9:317:9 | exit \|...\| x (normal) | |
|
||||
| main.rs:318:5:319:27 | let ... = ... | main.rs:319:9:319:23 | example_closure | |
|
||||
| main.rs:318:9:318:10 | n1 | main.rs:318:9:318:10 | n1 | |
|
||||
| main.rs:318:9:318:10 | n1 | main.rs:320:5:320:18 | ExprStmt | match |
|
||||
| main.rs:319:9:319:23 | example_closure | main.rs:319:25:319:25 | 5 | |
|
||||
| main.rs:319:9:319:26 | example_closure(...) | main.rs:318:9:318:10 | n1 | |
|
||||
@@ -698,14 +776,17 @@ edges
|
||||
| main.rs:322:5:322:24 | immutable_variable(...) | main.rs:323:5:325:10 | let ... = ... | |
|
||||
| main.rs:322:5:322:25 | ExprStmt | main.rs:322:5:322:22 | immutable_variable | |
|
||||
| main.rs:323:5:325:10 | let ... = ... | main.rs:324:9:325:9 | \|...\| x | |
|
||||
| main.rs:323:9:323:26 | immutable_variable | main.rs:323:9:323:26 | immutable_variable | |
|
||||
| main.rs:323:9:323:26 | immutable_variable | main.rs:326:5:327:30 | let ... = ... | match |
|
||||
| main.rs:324:9:325:9 | \|...\| x | main.rs:323:9:323:26 | immutable_variable | |
|
||||
| main.rs:324:9:325:9 | enter \|...\| x | main.rs:324:10:324:10 | x | |
|
||||
| main.rs:324:9:325:9 | exit \|...\| x (normal) | main.rs:324:9:325:9 | exit \|...\| x | |
|
||||
| main.rs:324:10:324:10 | x | main.rs:324:10:324:10 | x | |
|
||||
| main.rs:324:10:324:10 | x | main.rs:324:10:324:15 | ...: i64 | match |
|
||||
| main.rs:324:10:324:15 | ...: i64 | main.rs:325:9:325:9 | x | |
|
||||
| main.rs:325:9:325:9 | x | main.rs:324:9:325:9 | exit \|...\| x (normal) | |
|
||||
| main.rs:326:5:327:30 | let ... = ... | main.rs:327:9:327:26 | immutable_variable | |
|
||||
| main.rs:326:9:326:10 | n2 | main.rs:326:9:326:10 | n2 | |
|
||||
| main.rs:326:9:326:10 | n2 | main.rs:328:5:328:18 | ExprStmt | match |
|
||||
| main.rs:327:9:327:26 | immutable_variable | main.rs:327:28:327:28 | 6 | |
|
||||
| main.rs:327:9:327:29 | immutable_variable(...) | main.rs:326:9:326:10 | n2 | |
|
||||
@@ -718,10 +799,12 @@ edges
|
||||
| main.rs:331:1:359:1 | exit fn nested_function (normal) | main.rs:331:1:359:1 | exit fn nested_function | |
|
||||
| main.rs:331:22:359:1 | { ... } | main.rs:331:1:359:1 | exit fn nested_function (normal) | |
|
||||
| main.rs:333:5:335:10 | let ... = ... | main.rs:334:9:335:9 | \|...\| x | |
|
||||
| main.rs:333:9:333:9 | f | main.rs:333:9:333:9 | f | |
|
||||
| main.rs:333:9:333:9 | f | main.rs:336:5:336:20 | ExprStmt | match |
|
||||
| main.rs:334:9:335:9 | \|...\| x | main.rs:333:9:333:9 | f | |
|
||||
| main.rs:334:9:335:9 | enter \|...\| x | main.rs:334:10:334:10 | x | |
|
||||
| main.rs:334:9:335:9 | exit \|...\| x (normal) | main.rs:334:9:335:9 | exit \|...\| x | |
|
||||
| main.rs:334:10:334:10 | x | main.rs:334:10:334:10 | x | |
|
||||
| main.rs:334:10:334:10 | x | main.rs:334:10:334:15 | ...: i64 | match |
|
||||
| main.rs:334:10:334:15 | ...: i64 | main.rs:335:9:335:9 | x | |
|
||||
| main.rs:335:9:335:9 | x | main.rs:334:9:335:9 | exit \|...\| x (normal) | |
|
||||
@@ -734,6 +817,7 @@ edges
|
||||
| main.rs:338:5:340:5 | enter fn f | main.rs:338:10:338:10 | x | |
|
||||
| main.rs:338:5:340:5 | exit fn f (normal) | main.rs:338:5:340:5 | exit fn f | |
|
||||
| main.rs:338:5:340:5 | fn f | main.rs:342:5:342:20 | ExprStmt | |
|
||||
| main.rs:338:10:338:10 | x | main.rs:338:10:338:10 | x | |
|
||||
| main.rs:338:10:338:10 | x | main.rs:338:10:338:15 | ...: i64 | match |
|
||||
| main.rs:338:10:338:15 | ...: i64 | main.rs:339:9:339:9 | x | |
|
||||
| main.rs:338:25:340:5 | { ... } | main.rs:338:5:340:5 | exit fn f (normal) | |
|
||||
@@ -756,6 +840,7 @@ edges
|
||||
| main.rs:346:9:348:9 | enter fn f | main.rs:346:14:346:14 | x | |
|
||||
| main.rs:346:9:348:9 | exit fn f (normal) | main.rs:346:9:348:9 | exit fn f | |
|
||||
| main.rs:346:9:348:9 | fn f | main.rs:350:9:352:9 | ExprStmt | |
|
||||
| main.rs:346:14:346:14 | x | main.rs:346:14:346:14 | x | |
|
||||
| main.rs:346:14:346:14 | x | main.rs:346:14:346:19 | ...: i64 | match |
|
||||
| main.rs:346:14:346:19 | ...: i64 | main.rs:347:13:347:13 | 2 | |
|
||||
| main.rs:346:29:348:9 | { ... } | main.rs:346:9:348:9 | exit fn f (normal) | |
|
||||
@@ -771,10 +856,12 @@ edges
|
||||
| main.rs:351:23:351:26 | f(...) | main.rs:351:13:351:27 | print_i64(...) | |
|
||||
| main.rs:351:25:351:25 | 4 | main.rs:351:23:351:26 | f(...) | |
|
||||
| main.rs:354:9:356:14 | let ... = ... | main.rs:355:13:356:13 | \|...\| x | |
|
||||
| main.rs:354:13:354:13 | f | main.rs:354:13:354:13 | f | |
|
||||
| main.rs:354:13:354:13 | f | main.rs:357:9:357:24 | ExprStmt | match |
|
||||
| main.rs:355:13:356:13 | \|...\| x | main.rs:354:13:354:13 | f | |
|
||||
| main.rs:355:13:356:13 | enter \|...\| x | main.rs:355:14:355:14 | x | |
|
||||
| main.rs:355:13:356:13 | exit \|...\| x (normal) | main.rs:355:13:356:13 | exit \|...\| x | |
|
||||
| main.rs:355:14:355:14 | x | main.rs:355:14:355:14 | x | |
|
||||
| main.rs:355:14:355:14 | x | main.rs:355:14:355:19 | ...: i64 | match |
|
||||
| main.rs:355:14:355:19 | ...: i64 | main.rs:356:13:356:13 | x | |
|
||||
| main.rs:356:13:356:13 | x | main.rs:355:13:356:13 | exit \|...\| x (normal) | |
|
||||
@@ -788,6 +875,7 @@ edges
|
||||
| main.rs:361:1:368:1 | exit fn for_variable (normal) | main.rs:361:1:368:1 | exit fn for_variable | |
|
||||
| main.rs:361:19:368:1 | { ... } | main.rs:361:1:368:1 | exit fn for_variable (normal) | |
|
||||
| main.rs:362:5:362:42 | let ... = ... | main.rs:362:15:362:22 | "apples" | |
|
||||
| main.rs:362:9:362:9 | v | main.rs:362:9:362:9 | v | |
|
||||
| main.rs:362:9:362:9 | v | main.rs:365:12:365:12 | v | match |
|
||||
| main.rs:362:13:362:41 | &... | main.rs:362:9:362:9 | v | |
|
||||
| main.rs:362:14:362:41 | [...] | main.rs:362:13:362:41 | &... | |
|
||||
@@ -796,6 +884,7 @@ edges
|
||||
| main.rs:362:33:362:40 | "coffee" | main.rs:362:14:362:41 | [...] | |
|
||||
| main.rs:364:5:367:5 | for ... in ... { ... } | main.rs:361:19:368:1 | { ... } | |
|
||||
| main.rs:364:9:364:12 | text | main.rs:364:5:367:5 | for ... in ... { ... } | no-match |
|
||||
| main.rs:364:9:364:12 | text | main.rs:364:9:364:12 | text | |
|
||||
| main.rs:364:9:364:12 | text | main.rs:366:9:366:24 | ExprStmt | match |
|
||||
| main.rs:365:12:365:12 | v | main.rs:364:9:364:12 | text | |
|
||||
| main.rs:365:14:367:5 | { ... } | main.rs:364:9:364:12 | text | |
|
||||
@@ -808,7 +897,8 @@ edges
|
||||
| main.rs:370:17:376:1 | { ... } | main.rs:370:1:376:1 | exit fn add_assign (normal) | |
|
||||
| main.rs:371:5:371:18 | let ... = 0 | main.rs:371:17:371:17 | 0 | |
|
||||
| main.rs:371:9:371:13 | mut a | main.rs:372:5:372:11 | ExprStmt | match |
|
||||
| main.rs:371:17:371:17 | 0 | main.rs:371:9:371:13 | mut a | |
|
||||
| main.rs:371:13:371:13 | a | main.rs:371:9:371:13 | mut a | |
|
||||
| main.rs:371:17:371:17 | 0 | main.rs:371:13:371:13 | a | |
|
||||
| main.rs:372:5:372:5 | a | main.rs:372:10:372:10 | 1 | |
|
||||
| main.rs:372:5:372:10 | ... += ... | main.rs:373:5:373:17 | ExprStmt | |
|
||||
| main.rs:372:5:372:11 | ExprStmt | main.rs:372:5:372:5 | a | |
|
||||
@@ -831,8 +921,10 @@ edges
|
||||
| main.rs:378:13:384:1 | { ... } | main.rs:378:1:384:1 | exit fn mutate (normal) | |
|
||||
| main.rs:379:5:379:18 | let ... = 1 | main.rs:379:17:379:17 | 1 | |
|
||||
| main.rs:379:9:379:13 | mut i | main.rs:380:5:381:15 | let ... = ... | match |
|
||||
| main.rs:379:17:379:17 | 1 | main.rs:379:9:379:13 | mut i | |
|
||||
| main.rs:379:13:379:13 | i | main.rs:379:9:379:13 | mut i | |
|
||||
| main.rs:379:17:379:17 | 1 | main.rs:379:13:379:13 | i | |
|
||||
| main.rs:380:5:381:15 | let ... = ... | main.rs:381:14:381:14 | i | |
|
||||
| main.rs:380:9:380:13 | ref_i | main.rs:380:9:380:13 | ref_i | |
|
||||
| main.rs:380:9:380:13 | ref_i | main.rs:382:5:382:15 | ExprStmt | match |
|
||||
| main.rs:381:9:381:14 | &mut i | main.rs:380:9:380:13 | ref_i | |
|
||||
| main.rs:381:14:381:14 | i | main.rs:381:9:381:14 | &mut i | |
|
||||
@@ -847,6 +939,7 @@ edges
|
||||
| main.rs:383:15:383:15 | i | main.rs:383:5:383:16 | print_i64(...) | |
|
||||
| main.rs:386:1:391:1 | enter fn mutate_param | main.rs:386:17:386:17 | x | |
|
||||
| main.rs:386:1:391:1 | exit fn mutate_param (normal) | main.rs:386:1:391:1 | exit fn mutate_param | |
|
||||
| main.rs:386:17:386:17 | x | main.rs:386:17:386:17 | x | |
|
||||
| main.rs:386:17:386:17 | x | main.rs:386:17:386:28 | ...: ... | match |
|
||||
| main.rs:386:17:386:28 | ...: ... | main.rs:387:5:389:11 | ExprStmt | |
|
||||
| main.rs:387:5:387:6 | * ... | main.rs:388:10:388:10 | x | |
|
||||
@@ -863,8 +956,10 @@ edges
|
||||
| main.rs:390:12:390:12 | x | main.rs:390:5:390:12 | return x | |
|
||||
| main.rs:393:1:399:1 | enter fn mutate_param2 | main.rs:393:22:393:22 | x | |
|
||||
| main.rs:393:1:399:1 | exit fn mutate_param2 (normal) | main.rs:393:1:399:1 | exit fn mutate_param2 | |
|
||||
| main.rs:393:22:393:22 | x | main.rs:393:22:393:22 | x | |
|
||||
| main.rs:393:22:393:22 | x | main.rs:393:22:393:36 | ...: ... | match |
|
||||
| main.rs:393:22:393:36 | ...: ... | main.rs:393:39:393:39 | y | |
|
||||
| main.rs:393:39:393:39 | y | main.rs:393:39:393:39 | y | |
|
||||
| main.rs:393:39:393:39 | y | main.rs:393:39:393:57 | ...: ... | match |
|
||||
| main.rs:393:39:393:57 | ...: ... | main.rs:394:5:396:11 | ExprStmt | |
|
||||
| main.rs:393:60:399:1 | { ... } | main.rs:393:1:399:1 | exit fn mutate_param2 (normal) | |
|
||||
@@ -887,8 +982,10 @@ edges
|
||||
| main.rs:401:17:419:1 | { ... } | main.rs:401:1:419:1 | exit fn mutate_arg (normal) | |
|
||||
| main.rs:402:5:402:18 | let ... = 2 | main.rs:402:17:402:17 | 2 | |
|
||||
| main.rs:402:9:402:13 | mut x | main.rs:403:5:404:29 | let ... = ... | match |
|
||||
| main.rs:402:17:402:17 | 2 | main.rs:402:9:402:13 | mut x | |
|
||||
| main.rs:402:13:402:13 | x | main.rs:402:9:402:13 | mut x | |
|
||||
| main.rs:402:17:402:17 | 2 | main.rs:402:13:402:13 | x | |
|
||||
| main.rs:403:5:404:29 | let ... = ... | main.rs:404:9:404:20 | mutate_param | |
|
||||
| main.rs:403:9:403:9 | y | main.rs:403:9:403:9 | y | |
|
||||
| main.rs:403:9:403:9 | y | main.rs:405:5:405:12 | ExprStmt | match |
|
||||
| main.rs:404:9:404:20 | mutate_param | main.rs:404:27:404:27 | x | |
|
||||
| main.rs:404:9:404:28 | mutate_param(...) | main.rs:403:9:403:9 | y | |
|
||||
@@ -905,8 +1002,10 @@ edges
|
||||
| main.rs:407:15:407:15 | x | main.rs:407:5:407:16 | print_i64(...) | |
|
||||
| main.rs:409:5:409:18 | let ... = 4 | main.rs:409:17:409:17 | 4 | |
|
||||
| main.rs:409:9:409:13 | mut z | main.rs:410:5:411:20 | let ... = ... | match |
|
||||
| main.rs:409:17:409:17 | 4 | main.rs:409:9:409:13 | mut z | |
|
||||
| main.rs:409:13:409:13 | z | main.rs:409:9:409:13 | mut z | |
|
||||
| main.rs:409:17:409:17 | 4 | main.rs:409:13:409:13 | z | |
|
||||
| main.rs:410:5:411:20 | let ... = ... | main.rs:411:19:411:19 | x | |
|
||||
| main.rs:410:9:410:9 | w | main.rs:410:9:410:9 | w | |
|
||||
| main.rs:410:9:410:9 | w | main.rs:412:5:415:6 | ExprStmt | match |
|
||||
| main.rs:411:9:411:19 | &mut ... | main.rs:410:9:410:9 | w | |
|
||||
| main.rs:411:14:411:19 | &mut x | main.rs:411:9:411:19 | &mut ... | |
|
||||
@@ -932,8 +1031,10 @@ edges
|
||||
| main.rs:421:12:427:1 | { ... } | main.rs:421:1:427:1 | exit fn alias (normal) | |
|
||||
| main.rs:422:5:422:18 | let ... = 1 | main.rs:422:17:422:17 | 1 | |
|
||||
| main.rs:422:9:422:13 | mut x | main.rs:423:5:424:15 | let ... = ... | match |
|
||||
| main.rs:422:17:422:17 | 1 | main.rs:422:9:422:13 | mut x | |
|
||||
| main.rs:422:13:422:13 | x | main.rs:422:9:422:13 | mut x | |
|
||||
| main.rs:422:17:422:17 | 1 | main.rs:422:13:422:13 | x | |
|
||||
| main.rs:423:5:424:15 | let ... = ... | main.rs:424:14:424:14 | x | |
|
||||
| main.rs:423:9:423:9 | y | main.rs:423:9:423:9 | y | |
|
||||
| main.rs:423:9:423:9 | y | main.rs:425:5:425:11 | ExprStmt | match |
|
||||
| main.rs:424:9:424:14 | &mut x | main.rs:423:9:423:9 | y | |
|
||||
| main.rs:424:14:424:14 | x | main.rs:424:9:424:14 | &mut x | |
|
||||
@@ -950,9 +1051,11 @@ edges
|
||||
| main.rs:429:1:437:1 | exit fn capture_immut (normal) | main.rs:429:1:437:1 | exit fn capture_immut | |
|
||||
| main.rs:429:20:437:1 | { ... } | main.rs:429:1:437:1 | exit fn capture_immut (normal) | |
|
||||
| main.rs:430:5:430:16 | let ... = 100 | main.rs:430:13:430:15 | 100 | |
|
||||
| main.rs:430:9:430:9 | x | main.rs:430:9:430:9 | x | |
|
||||
| main.rs:430:9:430:9 | x | main.rs:432:5:434:6 | let ... = ... | match |
|
||||
| main.rs:430:13:430:15 | 100 | main.rs:430:9:430:9 | x | |
|
||||
| main.rs:432:5:434:6 | let ... = ... | main.rs:432:15:434:5 | \|...\| ... | |
|
||||
| main.rs:432:9:432:11 | cap | main.rs:432:9:432:11 | cap | |
|
||||
| main.rs:432:9:432:11 | cap | main.rs:435:5:435:10 | ExprStmt | match |
|
||||
| main.rs:432:15:434:5 | \|...\| ... | main.rs:432:9:432:11 | cap | |
|
||||
| main.rs:432:15:434:5 | enter \|...\| ... | main.rs:433:9:433:21 | ExprStmt | |
|
||||
@@ -974,8 +1077,10 @@ edges
|
||||
| main.rs:439:18:463:1 | { ... } | main.rs:439:1:463:1 | exit fn capture_mut (normal) | |
|
||||
| main.rs:440:5:440:18 | let ... = 1 | main.rs:440:17:440:17 | 1 | |
|
||||
| main.rs:440:9:440:13 | mut x | main.rs:442:5:444:6 | let ... = ... | match |
|
||||
| main.rs:440:17:440:17 | 1 | main.rs:440:9:440:13 | mut x | |
|
||||
| main.rs:440:13:440:13 | x | main.rs:440:9:440:13 | mut x | |
|
||||
| main.rs:440:17:440:17 | 1 | main.rs:440:13:440:13 | x | |
|
||||
| main.rs:442:5:444:6 | let ... = ... | main.rs:442:20:444:5 | \|...\| ... | |
|
||||
| main.rs:442:9:442:16 | closure1 | main.rs:442:9:442:16 | closure1 | |
|
||||
| main.rs:442:9:442:16 | closure1 | main.rs:445:5:445:15 | ExprStmt | match |
|
||||
| main.rs:442:20:444:5 | \|...\| ... | main.rs:442:9:442:16 | closure1 | |
|
||||
| main.rs:442:20:444:5 | enter \|...\| ... | main.rs:443:9:443:21 | ExprStmt | |
|
||||
@@ -994,10 +1099,12 @@ edges
|
||||
| main.rs:446:15:446:15 | x | main.rs:446:5:446:16 | print_i64(...) | |
|
||||
| main.rs:448:5:448:18 | let ... = 2 | main.rs:448:17:448:17 | 2 | |
|
||||
| main.rs:448:9:448:13 | mut y | main.rs:450:5:452:6 | let ... = ... | match |
|
||||
| main.rs:448:17:448:17 | 2 | main.rs:448:9:448:13 | mut y | |
|
||||
| main.rs:448:13:448:13 | y | main.rs:448:9:448:13 | mut y | |
|
||||
| main.rs:448:17:448:17 | 2 | main.rs:448:13:448:13 | y | |
|
||||
| main.rs:450:5:452:6 | let ... = ... | main.rs:450:24:452:5 | \|...\| ... | |
|
||||
| main.rs:450:9:450:20 | mut closure2 | main.rs:453:5:453:15 | ExprStmt | match |
|
||||
| main.rs:450:24:452:5 | \|...\| ... | main.rs:450:9:450:20 | mut closure2 | |
|
||||
| main.rs:450:13:450:20 | closure2 | main.rs:450:9:450:20 | mut closure2 | |
|
||||
| main.rs:450:24:452:5 | \|...\| ... | main.rs:450:13:450:20 | closure2 | |
|
||||
| main.rs:450:24:452:5 | enter \|...\| ... | main.rs:451:9:451:14 | ExprStmt | |
|
||||
| main.rs:450:24:452:5 | exit \|...\| ... (normal) | main.rs:450:24:452:5 | exit \|...\| ... | |
|
||||
| main.rs:450:27:452:5 | { ... } | main.rs:450:24:452:5 | exit \|...\| ... (normal) | |
|
||||
@@ -1014,10 +1121,12 @@ edges
|
||||
| main.rs:454:15:454:15 | y | main.rs:454:5:454:16 | print_i64(...) | |
|
||||
| main.rs:456:5:456:18 | let ... = 2 | main.rs:456:17:456:17 | 2 | |
|
||||
| main.rs:456:9:456:13 | mut z | main.rs:458:5:460:6 | let ... = ... | match |
|
||||
| main.rs:456:17:456:17 | 2 | main.rs:456:9:456:13 | mut z | |
|
||||
| main.rs:456:13:456:13 | z | main.rs:456:9:456:13 | mut z | |
|
||||
| main.rs:456:17:456:17 | 2 | main.rs:456:13:456:13 | z | |
|
||||
| main.rs:458:5:460:6 | let ... = ... | main.rs:458:24:460:5 | \|...\| ... | |
|
||||
| main.rs:458:9:458:20 | mut closure3 | main.rs:461:5:461:15 | ExprStmt | match |
|
||||
| main.rs:458:24:460:5 | \|...\| ... | main.rs:458:9:458:20 | mut closure3 | |
|
||||
| main.rs:458:13:458:20 | closure3 | main.rs:458:9:458:20 | mut closure3 | |
|
||||
| main.rs:458:24:460:5 | \|...\| ... | main.rs:458:13:458:20 | closure3 | |
|
||||
| main.rs:458:24:460:5 | enter \|...\| ... | main.rs:459:9:459:24 | ExprStmt | |
|
||||
| main.rs:458:24:460:5 | exit \|...\| ... (normal) | main.rs:458:24:460:5 | exit \|...\| ... | |
|
||||
| main.rs:458:27:460:5 | { ... } | main.rs:458:24:460:5 | exit \|...\| ... (normal) | |
|
||||
@@ -1037,8 +1146,10 @@ edges
|
||||
| main.rs:465:32:473:1 | { ... } | main.rs:465:1:473:1 | exit fn async_block_capture (normal) | |
|
||||
| main.rs:466:5:466:23 | let ... = 0 | main.rs:466:22:466:22 | 0 | |
|
||||
| main.rs:466:9:466:13 | mut i | main.rs:467:5:469:6 | let ... = ... | match |
|
||||
| main.rs:466:22:466:22 | 0 | main.rs:466:9:466:13 | mut i | |
|
||||
| main.rs:466:13:466:13 | i | main.rs:466:9:466:13 | mut i | |
|
||||
| main.rs:466:22:466:22 | 0 | main.rs:466:13:466:13 | i | |
|
||||
| main.rs:467:5:469:6 | let ... = ... | main.rs:467:17:469:5 | { ... } | |
|
||||
| main.rs:467:9:467:13 | block | main.rs:467:9:467:13 | block | |
|
||||
| main.rs:467:9:467:13 | block | main.rs:471:5:471:16 | ExprStmt | match |
|
||||
| main.rs:467:17:469:5 | enter { ... } | main.rs:468:9:468:14 | ExprStmt | |
|
||||
| main.rs:467:17:469:5 | exit { ... } (normal) | main.rs:467:17:469:5 | exit { ... } | |
|
||||
@@ -1056,12 +1167,14 @@ edges
|
||||
| main.rs:472:15:472:15 | i | main.rs:472:5:472:16 | print_i64(...) | |
|
||||
| main.rs:475:1:489:1 | enter fn phi | main.rs:475:8:475:8 | b | |
|
||||
| main.rs:475:1:489:1 | exit fn phi (normal) | main.rs:475:1:489:1 | exit fn phi | |
|
||||
| main.rs:475:8:475:8 | b | main.rs:475:8:475:8 | b | |
|
||||
| main.rs:475:8:475:8 | b | main.rs:475:8:475:15 | ...: bool | match |
|
||||
| main.rs:475:8:475:15 | ...: bool | main.rs:476:5:476:18 | let ... = 1 | |
|
||||
| main.rs:475:18:489:1 | { ... } | main.rs:475:1:489:1 | exit fn phi (normal) | |
|
||||
| main.rs:476:5:476:18 | let ... = 1 | main.rs:476:17:476:17 | 1 | |
|
||||
| main.rs:476:9:476:13 | mut x | main.rs:477:5:477:17 | ExprStmt | match |
|
||||
| main.rs:476:17:476:17 | 1 | main.rs:476:9:476:13 | mut x | |
|
||||
| main.rs:476:13:476:13 | x | main.rs:476:9:476:13 | mut x | |
|
||||
| main.rs:476:17:476:17 | 1 | main.rs:476:13:476:13 | x | |
|
||||
| main.rs:477:5:477:13 | print_i64 | main.rs:477:15:477:15 | x | |
|
||||
| main.rs:477:5:477:16 | print_i64(...) | main.rs:478:5:478:21 | ExprStmt | |
|
||||
| main.rs:477:5:477:17 | ExprStmt | main.rs:477:5:477:13 | print_i64 | |
|
||||
@@ -1112,12 +1225,15 @@ edges
|
||||
| main.rs:488:15:488:15 | x | main.rs:488:5:488:16 | print_i64(...) | |
|
||||
| main.rs:491:1:504:1 | enter fn phi_read | main.rs:491:13:491:14 | b1 | |
|
||||
| main.rs:491:1:504:1 | exit fn phi_read (normal) | main.rs:491:1:504:1 | exit fn phi_read | |
|
||||
| main.rs:491:13:491:14 | b1 | main.rs:491:13:491:14 | b1 | |
|
||||
| main.rs:491:13:491:14 | b1 | main.rs:491:13:491:21 | ...: bool | match |
|
||||
| main.rs:491:13:491:21 | ...: bool | main.rs:491:24:491:25 | b2 | |
|
||||
| main.rs:491:24:491:25 | b2 | main.rs:491:24:491:25 | b2 | |
|
||||
| main.rs:491:24:491:25 | b2 | main.rs:491:24:491:32 | ...: bool | match |
|
||||
| main.rs:491:24:491:32 | ...: bool | main.rs:492:5:492:14 | let ... = 1 | |
|
||||
| main.rs:491:35:504:1 | { ... } | main.rs:491:1:504:1 | exit fn phi_read (normal) | |
|
||||
| main.rs:492:5:492:14 | let ... = 1 | main.rs:492:13:492:13 | 1 | |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | |
|
||||
| main.rs:492:9:492:9 | x | main.rs:493:5:497:5 | ExprStmt | match |
|
||||
| main.rs:492:13:492:13 | 1 | main.rs:492:9:492:9 | x | |
|
||||
| main.rs:493:5:497:5 | ExprStmt | main.rs:493:8:493:9 | b1 | |
|
||||
@@ -1168,11 +1284,13 @@ edges
|
||||
| main.rs:520:29:527:5 | { ... } | main.rs:520:5:527:5 | exit fn my_method (normal) | |
|
||||
| main.rs:521:9:524:10 | let ... = ... | main.rs:521:21:524:9 | \|...\| ... | |
|
||||
| main.rs:521:13:521:17 | mut f | main.rs:525:9:525:13 | ExprStmt | match |
|
||||
| main.rs:521:21:524:9 | \|...\| ... | main.rs:521:13:521:17 | mut f | |
|
||||
| main.rs:521:17:521:17 | f | main.rs:521:13:521:17 | mut f | |
|
||||
| main.rs:521:21:524:9 | \|...\| ... | main.rs:521:17:521:17 | f | |
|
||||
| main.rs:521:21:524:9 | enter \|...\| ... | main.rs:521:22:521:22 | n | |
|
||||
| main.rs:521:21:524:9 | exit \|...\| ... (normal) | main.rs:521:21:524:9 | exit \|...\| ... | |
|
||||
| main.rs:521:22:521:22 | ... | main.rs:523:13:523:26 | ExprStmt | |
|
||||
| main.rs:521:22:521:22 | n | main.rs:521:22:521:22 | ... | match |
|
||||
| main.rs:521:22:521:22 | n | main.rs:521:22:521:22 | n | |
|
||||
| main.rs:521:25:524:9 | { ... } | main.rs:521:21:524:9 | exit \|...\| ... (normal) | |
|
||||
| main.rs:523:13:523:16 | self | main.rs:523:13:523:20 | self.val | |
|
||||
| main.rs:523:13:523:20 | self.val | main.rs:523:25:523:25 | n | |
|
||||
@@ -1192,7 +1310,8 @@ edges
|
||||
| main.rs:530:14:537:1 | { ... } | main.rs:530:1:537:1 | exit fn structs (normal) | |
|
||||
| main.rs:531:5:531:36 | let ... = ... | main.rs:531:33:531:33 | 1 | |
|
||||
| main.rs:531:9:531:13 | mut a | main.rs:532:5:532:26 | ExprStmt | match |
|
||||
| main.rs:531:17:531:35 | MyStruct {...} | main.rs:531:9:531:13 | mut a | |
|
||||
| main.rs:531:13:531:13 | a | main.rs:531:9:531:13 | mut a | |
|
||||
| main.rs:531:17:531:35 | MyStruct {...} | main.rs:531:13:531:13 | a | |
|
||||
| main.rs:531:33:531:33 | 1 | main.rs:531:17:531:35 | MyStruct {...} | |
|
||||
| main.rs:532:5:532:13 | print_i64 | main.rs:532:15:532:15 | a | |
|
||||
| main.rs:532:5:532:25 | print_i64(...) | main.rs:533:5:533:14 | ExprStmt | |
|
||||
@@ -1224,7 +1343,8 @@ edges
|
||||
| main.rs:539:13:546:1 | { ... } | main.rs:539:1:546:1 | exit fn arrays (normal) | |
|
||||
| main.rs:540:5:540:26 | let ... = ... | main.rs:540:18:540:18 | 1 | |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:541:5:541:20 | ExprStmt | match |
|
||||
| main.rs:540:17:540:25 | [...] | main.rs:540:9:540:13 | mut a | |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:9:540:13 | mut a | |
|
||||
| main.rs:540:17:540:25 | [...] | main.rs:540:13:540:13 | a | |
|
||||
| main.rs:540:18:540:18 | 1 | main.rs:540:21:540:21 | 2 | |
|
||||
| main.rs:540:21:540:21 | 2 | main.rs:540:24:540:24 | 3 | |
|
||||
| main.rs:540:24:540:24 | 3 | main.rs:540:17:540:25 | [...] | |
|
||||
@@ -1263,6 +1383,7 @@ edges
|
||||
| main.rs:548:1:555:1 | exit fn ref_arg (normal) | main.rs:548:1:555:1 | exit fn ref_arg | |
|
||||
| main.rs:548:14:555:1 | { ... } | main.rs:548:1:555:1 | exit fn ref_arg (normal) | |
|
||||
| main.rs:549:5:549:15 | let ... = 16 | main.rs:549:13:549:14 | 16 | |
|
||||
| main.rs:549:9:549:9 | x | main.rs:549:9:549:9 | x | |
|
||||
| main.rs:549:9:549:9 | x | main.rs:550:5:550:22 | ExprStmt | match |
|
||||
| main.rs:549:13:549:14 | 16 | main.rs:549:9:549:9 | x | |
|
||||
| main.rs:550:5:550:17 | print_i64_ref | main.rs:550:20:550:20 | x | |
|
||||
@@ -1275,6 +1396,7 @@ edges
|
||||
| main.rs:551:5:551:17 | ExprStmt | main.rs:551:5:551:13 | print_i64 | |
|
||||
| main.rs:551:15:551:15 | x | main.rs:551:5:551:16 | print_i64(...) | |
|
||||
| main.rs:553:5:553:15 | let ... = 17 | main.rs:553:13:553:14 | 17 | |
|
||||
| main.rs:553:9:553:9 | z | main.rs:553:9:553:9 | z | |
|
||||
| main.rs:553:9:553:9 | z | main.rs:554:5:554:22 | ExprStmt | match |
|
||||
| main.rs:553:13:553:14 | 17 | main.rs:553:9:553:9 | z | |
|
||||
| main.rs:554:5:554:17 | print_i64_ref | main.rs:554:20:554:20 | z | |
|
||||
@@ -1298,7 +1420,8 @@ edges
|
||||
| main.rs:567:30:572:1 | { ... } | main.rs:567:1:572:1 | exit fn ref_methodcall_receiver (normal) | |
|
||||
| main.rs:568:3:568:34 | let ... = ... | main.rs:568:31:568:31 | 1 | |
|
||||
| main.rs:568:7:568:11 | mut a | main.rs:569:3:569:10 | ExprStmt | match |
|
||||
| main.rs:568:15:568:33 | MyStruct {...} | main.rs:568:7:568:11 | mut a | |
|
||||
| main.rs:568:11:568:11 | a | main.rs:568:7:568:11 | mut a | |
|
||||
| main.rs:568:15:568:33 | MyStruct {...} | main.rs:568:11:568:11 | a | |
|
||||
| main.rs:568:31:568:31 | 1 | main.rs:568:15:568:33 | MyStruct {...} | |
|
||||
| main.rs:569:3:569:3 | a | main.rs:569:3:569:9 | a.bar(...) | |
|
||||
| main.rs:569:3:569:9 | a.bar(...) | main.rs:571:3:571:19 | ExprStmt | |
|
||||
@@ -1312,9 +1435,11 @@ edges
|
||||
| main.rs:592:1:602:1 | exit fn macro_invocation (normal) | main.rs:592:1:602:1 | exit fn macro_invocation | |
|
||||
| main.rs:592:23:602:1 | { ... } | main.rs:592:1:602:1 | exit fn macro_invocation (normal) | |
|
||||
| main.rs:593:5:594:26 | let ... = ... | main.rs:594:23:594:24 | let ... = 37 | |
|
||||
| main.rs:593:9:593:22 | var_from_macro | main.rs:593:9:593:22 | var_from_macro | |
|
||||
| main.rs:593:9:593:22 | var_from_macro | main.rs:595:5:595:30 | ExprStmt | match |
|
||||
| main.rs:594:9:594:25 | MacroExpr | main.rs:593:9:593:22 | var_from_macro | |
|
||||
| main.rs:594:9:594:25 | let_in_macro!... | main.rs:594:9:594:25 | MacroExpr | |
|
||||
| main.rs:594:9:594:25 | var_in_macro | main.rs:594:9:594:25 | var_in_macro | |
|
||||
| main.rs:594:9:594:25 | var_in_macro | main.rs:594:9:594:25 | var_in_macro | match |
|
||||
| main.rs:594:9:594:25 | var_in_macro | main.rs:594:23:594:24 | { ... } | |
|
||||
| main.rs:594:23:594:24 | 37 | main.rs:594:9:594:25 | var_in_macro | |
|
||||
@@ -1325,6 +1450,7 @@ edges
|
||||
| main.rs:595:5:595:30 | ExprStmt | main.rs:595:5:595:13 | print_i64 | |
|
||||
| main.rs:595:15:595:28 | var_from_macro | main.rs:595:5:595:29 | print_i64(...) | |
|
||||
| main.rs:596:5:596:26 | let ... = 33 | main.rs:596:24:596:25 | 33 | |
|
||||
| main.rs:596:9:596:20 | var_in_macro | main.rs:596:9:596:20 | var_in_macro | |
|
||||
| main.rs:596:9:596:20 | var_in_macro | main.rs:600:5:600:44 | ExprStmt | match |
|
||||
| main.rs:596:24:596:25 | 33 | main.rs:596:9:596:20 | var_in_macro | |
|
||||
| main.rs:600:5:600:13 | print_i64 | main.rs:600:15:600:42 | let ... = 0 | |
|
||||
@@ -1334,6 +1460,7 @@ edges
|
||||
| main.rs:600:15:600:42 | MacroExpr | main.rs:600:5:600:43 | print_i64(...) | |
|
||||
| main.rs:600:15:600:42 | let ... = 0 | main.rs:600:15:600:42 | 0 | |
|
||||
| main.rs:600:15:600:42 | let_in_macro2!... | main.rs:600:15:600:42 | MacroExpr | |
|
||||
| main.rs:600:15:600:42 | var_in_macro | main.rs:600:15:600:42 | var_in_macro | |
|
||||
| main.rs:600:15:600:42 | var_in_macro | main.rs:600:30:600:41 | var_in_macro | match |
|
||||
| main.rs:600:30:600:41 | var_in_macro | main.rs:600:30:600:41 | { ... } | |
|
||||
| main.rs:600:30:600:41 | { ... } | main.rs:600:15:600:42 | let_in_macro2!... | |
|
||||
|
||||
@@ -12,9 +12,9 @@ definition
|
||||
| main.rs:7:14:7:14 | i | main.rs:7:14:7:14 | i |
|
||||
| main.rs:11:18:11:18 | i | main.rs:11:18:11:18 | i |
|
||||
| main.rs:16:9:16:10 | x1 | main.rs:16:9:16:10 | x1 |
|
||||
| main.rs:21:9:21:14 | mut x2 | main.rs:21:13:21:14 | x2 |
|
||||
| main.rs:21:13:21:14 | x2 | main.rs:21:13:21:14 | x2 |
|
||||
| main.rs:23:5:23:6 | x2 | main.rs:21:13:21:14 | x2 |
|
||||
| main.rs:28:9:28:13 | mut x | main.rs:28:13:28:13 | x |
|
||||
| main.rs:28:13:28:13 | x | main.rs:28:13:28:13 | x |
|
||||
| main.rs:30:5:30:5 | x | main.rs:28:13:28:13 | x |
|
||||
| main.rs:35:9:35:10 | x3 | main.rs:35:9:35:10 | x3 |
|
||||
| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 |
|
||||
@@ -28,10 +28,10 @@ definition
|
||||
| main.rs:77:12:77:13 | a2 | main.rs:77:12:77:13 | a2 |
|
||||
| main.rs:78:12:78:13 | b2 | main.rs:78:12:78:13 | b2 |
|
||||
| main.rs:85:9:85:10 | s1 | main.rs:85:9:85:10 | s1 |
|
||||
| main.rs:87:17:87:22 | ref s2 | main.rs:87:21:87:22 | s2 |
|
||||
| main.rs:87:21:87:22 | s2 | main.rs:87:21:87:22 | s2 |
|
||||
| main.rs:94:14:94:15 | x5 | main.rs:94:14:94:15 | x5 |
|
||||
| main.rs:102:9:102:10 | s1 | main.rs:102:9:102:10 | s1 |
|
||||
| main.rs:104:20:104:25 | ref s2 | main.rs:104:24:104:25 | s2 |
|
||||
| main.rs:104:24:104:25 | s2 | main.rs:104:24:104:25 | s2 |
|
||||
| main.rs:111:9:111:10 | x6 | main.rs:111:9:111:10 | x6 |
|
||||
| main.rs:112:9:112:10 | y1 | main.rs:112:9:112:10 | y1 |
|
||||
| main.rs:116:14:116:15 | y1 | main.rs:116:14:116:15 | y1 |
|
||||
@@ -44,7 +44,7 @@ definition
|
||||
| main.rs:155:9:155:10 | p2 | main.rs:155:9:155:10 | p2 |
|
||||
| main.rs:159:16:159:17 | x7 | main.rs:159:16:159:17 | x7 |
|
||||
| main.rs:169:9:169:11 | msg | main.rs:169:9:169:11 | msg |
|
||||
| main.rs:173:17:173:35 | [match(true)] id_variable @ ... | main.rs:173:17:173:27 | id_variable |
|
||||
| main.rs:173:17:173:27 | id_variable | main.rs:173:17:173:27 | id_variable |
|
||||
| main.rs:178:26:178:27 | id | main.rs:178:26:178:27 | id |
|
||||
| main.rs:189:9:189:14 | either | main.rs:189:9:189:14 | either |
|
||||
| main.rs:191:9:191:44 | [match(true)] phi | main.rs:191:9:191:44 | a3 |
|
||||
@@ -70,7 +70,7 @@ definition
|
||||
| main.rs:221:22:221:23 | a7 | main.rs:221:9:221:44 | a7 |
|
||||
| main.rs:221:42:221:43 | a7 | main.rs:221:9:221:44 | a7 |
|
||||
| main.rs:229:9:229:14 | either | main.rs:229:9:229:14 | either |
|
||||
| main.rs:232:9:233:52 | [match(true)] ref e @ ... | main.rs:232:13:232:13 | e |
|
||||
| main.rs:232:13:232:13 | e | main.rs:232:13:232:13 | e |
|
||||
| main.rs:233:14:233:51 | [match(true)] phi | main.rs:233:14:233:51 | a11 |
|
||||
| main.rs:233:27:233:29 | a11 | main.rs:233:14:233:51 | a11 |
|
||||
| main.rs:233:48:233:50 | a11 | main.rs:233:14:233:51 | a11 |
|
||||
@@ -88,9 +88,9 @@ definition
|
||||
| main.rs:272:6:272:41 | [match(true)] phi | main.rs:272:6:272:41 | a9 |
|
||||
| main.rs:272:19:272:20 | a9 | main.rs:272:6:272:41 | a9 |
|
||||
| main.rs:272:39:272:40 | a9 | main.rs:272:6:272:41 | a9 |
|
||||
| main.rs:279:9:279:15 | mut a10 | main.rs:279:13:279:15 | a10 |
|
||||
| main.rs:280:9:280:14 | mut b4 | main.rs:280:13:280:14 | b4 |
|
||||
| main.rs:281:9:281:14 | mut c2 | main.rs:281:13:281:14 | c2 |
|
||||
| main.rs:279:13:279:15 | a10 | main.rs:279:13:279:15 | a10 |
|
||||
| main.rs:280:13:280:14 | b4 | main.rs:280:13:280:14 | b4 |
|
||||
| main.rs:281:13:281:14 | c2 | main.rs:281:13:281:14 | c2 |
|
||||
| main.rs:288:9:288:10 | c2 | main.rs:281:13:281:14 | c2 |
|
||||
| main.rs:289:9:289:10 | b4 | main.rs:280:13:280:14 | b4 |
|
||||
| main.rs:290:9:290:11 | a10 | main.rs:279:13:279:15 | a10 |
|
||||
@@ -120,37 +120,37 @@ definition
|
||||
| main.rs:430:9:430:9 | x | main.rs:430:9:430:9 | x |
|
||||
| main.rs:432:9:432:11 | cap | main.rs:432:9:432:11 | cap |
|
||||
| main.rs:432:15:434:5 | <captured entry> x | main.rs:430:9:430:9 | x |
|
||||
| main.rs:440:9:440:13 | mut x | main.rs:440:13:440:13 | x |
|
||||
| main.rs:440:13:440:13 | x | main.rs:440:13:440:13 | x |
|
||||
| main.rs:442:9:442:16 | closure1 | main.rs:442:9:442:16 | closure1 |
|
||||
| main.rs:442:20:444:5 | <captured entry> x | main.rs:440:13:440:13 | x |
|
||||
| main.rs:448:9:448:13 | mut y | main.rs:448:13:448:13 | y |
|
||||
| main.rs:450:9:450:20 | mut closure2 | main.rs:450:13:450:20 | closure2 |
|
||||
| main.rs:448:13:448:13 | y | main.rs:448:13:448:13 | y |
|
||||
| main.rs:450:13:450:20 | closure2 | main.rs:450:13:450:20 | closure2 |
|
||||
| main.rs:451:9:451:9 | y | main.rs:448:13:448:13 | y |
|
||||
| main.rs:453:5:453:14 | <captured exit> y | main.rs:448:13:448:13 | y |
|
||||
| main.rs:458:9:458:20 | mut closure3 | main.rs:458:13:458:20 | closure3 |
|
||||
| main.rs:466:9:466:13 | mut i | main.rs:466:13:466:13 | i |
|
||||
| main.rs:458:13:458:20 | closure3 | main.rs:458:13:458:20 | closure3 |
|
||||
| main.rs:466:13:466:13 | i | main.rs:466:13:466:13 | i |
|
||||
| main.rs:467:9:467:13 | block | main.rs:467:9:467:13 | block |
|
||||
| main.rs:468:9:468:9 | i | main.rs:466:13:466:13 | i |
|
||||
| main.rs:471:5:471:15 | <captured exit> i | main.rs:466:13:466:13 | i |
|
||||
| main.rs:475:8:475:8 | b | main.rs:475:8:475:8 | b |
|
||||
| main.rs:476:9:476:13 | mut x | main.rs:476:13:476:13 | x |
|
||||
| main.rs:476:13:476:13 | x | main.rs:476:13:476:13 | x |
|
||||
| main.rs:479:5:487:5 | phi | main.rs:476:13:476:13 | x |
|
||||
| main.rs:480:9:480:9 | x | main.rs:476:13:476:13 | x |
|
||||
| main.rs:484:9:484:9 | x | main.rs:476:13:476:13 | x |
|
||||
| main.rs:491:13:491:14 | b1 | main.rs:491:13:491:14 | b1 |
|
||||
| main.rs:491:24:491:25 | b2 | main.rs:491:24:491:25 | b2 |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x |
|
||||
| main.rs:512:15:512:23 | SelfParam | main.rs:512:20:512:23 | self |
|
||||
| main.rs:516:11:516:14 | SelfParam | main.rs:516:11:516:14 | self |
|
||||
| main.rs:520:18:520:26 | SelfParam | main.rs:520:23:520:26 | self |
|
||||
| main.rs:521:13:521:17 | mut f | main.rs:521:17:521:17 | f |
|
||||
| main.rs:512:20:512:23 | self | main.rs:512:20:512:23 | self |
|
||||
| main.rs:516:11:516:14 | self | main.rs:516:11:516:14 | self |
|
||||
| main.rs:520:23:520:26 | self | main.rs:520:23:520:26 | self |
|
||||
| main.rs:521:17:521:17 | f | main.rs:521:17:521:17 | f |
|
||||
| main.rs:521:21:524:9 | <captured entry> self | main.rs:520:23:520:26 | self |
|
||||
| main.rs:521:22:521:22 | n | main.rs:521:22:521:22 | n |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:13:540:13 | a |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:13:540:13 | a |
|
||||
| main.rs:544:5:544:5 | a | main.rs:540:13:540:13 | a |
|
||||
| main.rs:549:9:549:9 | x | main.rs:549:9:549:9 | x |
|
||||
| main.rs:553:9:553:9 | z | main.rs:553:9:553:9 | z |
|
||||
| main.rs:562:10:562:18 | SelfParam | main.rs:562:15:562:18 | self |
|
||||
| main.rs:562:15:562:18 | self | main.rs:562:15:562:18 | self |
|
||||
| main.rs:593:9:593:22 | var_from_macro | main.rs:593:9:593:22 | var_from_macro |
|
||||
| main.rs:594:9:594:25 | var_in_macro | main.rs:594:9:594:25 | var_in_macro |
|
||||
| main.rs:596:9:596:20 | var_in_macro | main.rs:596:9:596:20 | var_in_macro |
|
||||
@@ -160,9 +160,9 @@ read
|
||||
| main.rs:7:14:7:14 | i | main.rs:7:14:7:14 | i | main.rs:8:20:8:20 | i |
|
||||
| main.rs:11:18:11:18 | i | main.rs:11:18:11:18 | i | main.rs:12:16:12:16 | i |
|
||||
| main.rs:16:9:16:10 | x1 | main.rs:16:9:16:10 | x1 | main.rs:17:15:17:16 | x1 |
|
||||
| main.rs:21:9:21:14 | mut x2 | main.rs:21:13:21:14 | x2 | main.rs:22:15:22:16 | x2 |
|
||||
| main.rs:21:13:21:14 | x2 | main.rs:21:13:21:14 | x2 | main.rs:22:15:22:16 | x2 |
|
||||
| main.rs:23:5:23:6 | x2 | main.rs:21:13:21:14 | x2 | main.rs:24:15:24:16 | x2 |
|
||||
| main.rs:28:9:28:13 | mut x | main.rs:28:13:28:13 | x | main.rs:29:20:29:20 | x |
|
||||
| main.rs:28:13:28:13 | x | main.rs:28:13:28:13 | x | main.rs:29:20:29:20 | x |
|
||||
| main.rs:30:5:30:5 | x | main.rs:28:13:28:13 | x | main.rs:31:20:31:20 | x |
|
||||
| main.rs:35:9:35:10 | x3 | main.rs:35:9:35:10 | x3 | main.rs:36:15:36:16 | x3 |
|
||||
| main.rs:35:9:35:10 | x3 | main.rs:35:9:35:10 | x3 | main.rs:38:9:38:10 | x3 |
|
||||
@@ -178,10 +178,10 @@ read
|
||||
| main.rs:77:12:77:13 | a2 | main.rs:77:12:77:13 | a2 | main.rs:80:15:80:16 | a2 |
|
||||
| main.rs:78:12:78:13 | b2 | main.rs:78:12:78:13 | b2 | main.rs:81:15:81:16 | b2 |
|
||||
| main.rs:85:9:85:10 | s1 | main.rs:85:9:85:10 | s1 | main.rs:88:11:88:12 | s1 |
|
||||
| main.rs:87:17:87:22 | ref s2 | main.rs:87:21:87:22 | s2 | main.rs:89:19:89:20 | s2 |
|
||||
| main.rs:87:21:87:22 | s2 | main.rs:87:21:87:22 | s2 | main.rs:89:19:89:20 | s2 |
|
||||
| main.rs:94:14:94:15 | x5 | main.rs:94:14:94:15 | x5 | main.rs:98:15:98:16 | x5 |
|
||||
| main.rs:102:9:102:10 | s1 | main.rs:102:9:102:10 | s1 | main.rs:105:11:105:12 | s1 |
|
||||
| main.rs:104:20:104:25 | ref s2 | main.rs:104:24:104:25 | s2 | main.rs:106:19:106:20 | s2 |
|
||||
| main.rs:104:24:104:25 | s2 | main.rs:104:24:104:25 | s2 | main.rs:106:19:106:20 | s2 |
|
||||
| main.rs:111:9:111:10 | x6 | main.rs:111:9:111:10 | x6 | main.rs:114:11:114:12 | x6 |
|
||||
| main.rs:112:9:112:10 | y1 | main.rs:112:9:112:10 | y1 | main.rs:124:15:124:16 | y1 |
|
||||
| main.rs:116:14:116:15 | y1 | main.rs:116:14:116:15 | y1 | main.rs:119:23:119:24 | y1 |
|
||||
@@ -195,7 +195,7 @@ read
|
||||
| main.rs:155:9:155:10 | p2 | main.rs:155:9:155:10 | p2 | main.rs:157:11:157:12 | p2 |
|
||||
| main.rs:159:16:159:17 | x7 | main.rs:159:16:159:17 | x7 | main.rs:160:24:160:25 | x7 |
|
||||
| main.rs:169:9:169:11 | msg | main.rs:169:9:169:11 | msg | main.rs:171:11:171:13 | msg |
|
||||
| main.rs:173:17:173:35 | [match(true)] id_variable @ ... | main.rs:173:17:173:27 | id_variable | main.rs:174:24:174:34 | id_variable |
|
||||
| main.rs:173:17:173:27 | id_variable | main.rs:173:17:173:27 | id_variable | main.rs:174:24:174:34 | id_variable |
|
||||
| main.rs:178:26:178:27 | id | main.rs:178:26:178:27 | id | main.rs:179:23:179:24 | id |
|
||||
| main.rs:189:9:189:14 | either | main.rs:189:9:189:14 | either | main.rs:190:11:190:16 | either |
|
||||
| main.rs:191:9:191:44 | [match(true)] phi | main.rs:191:9:191:44 | a3 | main.rs:192:26:192:27 | a3 |
|
||||
@@ -209,7 +209,7 @@ read
|
||||
| main.rs:221:9:221:44 | [match(true)] phi | main.rs:221:9:221:44 | a7 | main.rs:222:16:222:17 | a7 |
|
||||
| main.rs:221:9:221:44 | [match(true)] phi | main.rs:221:9:221:44 | a7 | main.rs:223:26:223:27 | a7 |
|
||||
| main.rs:229:9:229:14 | either | main.rs:229:9:229:14 | either | main.rs:231:11:231:16 | either |
|
||||
| main.rs:232:9:233:52 | [match(true)] ref e @ ... | main.rs:232:13:232:13 | e | main.rs:237:15:237:15 | e |
|
||||
| main.rs:232:13:232:13 | e | main.rs:232:13:232:13 | e | main.rs:237:15:237:15 | e |
|
||||
| main.rs:233:14:233:51 | [match(true)] phi | main.rs:233:14:233:51 | a11 | main.rs:235:23:235:25 | a11 |
|
||||
| main.rs:236:33:236:35 | a12 | main.rs:236:33:236:35 | a12 | main.rs:238:28:238:30 | a12 |
|
||||
| main.rs:253:9:253:10 | fv | main.rs:253:9:253:10 | fv | main.rs:254:11:254:12 | fv |
|
||||
@@ -218,9 +218,9 @@ read
|
||||
| main.rs:263:9:263:10 | b3 | main.rs:263:9:263:10 | b3 | main.rs:267:15:267:16 | b3 |
|
||||
| main.rs:264:9:264:10 | c1 | main.rs:264:9:264:10 | c1 | main.rs:268:15:268:16 | c1 |
|
||||
| main.rs:272:6:272:41 | [match(true)] phi | main.rs:272:6:272:41 | a9 | main.rs:274:15:274:16 | a9 |
|
||||
| main.rs:279:9:279:15 | mut a10 | main.rs:279:13:279:15 | a10 | main.rs:283:15:283:17 | a10 |
|
||||
| main.rs:280:9:280:14 | mut b4 | main.rs:280:13:280:14 | b4 | main.rs:284:15:284:16 | b4 |
|
||||
| main.rs:281:9:281:14 | mut c2 | main.rs:281:13:281:14 | c2 | main.rs:285:15:285:16 | c2 |
|
||||
| main.rs:279:13:279:15 | a10 | main.rs:279:13:279:15 | a10 | main.rs:283:15:283:17 | a10 |
|
||||
| main.rs:280:13:280:14 | b4 | main.rs:280:13:280:14 | b4 | main.rs:284:15:284:16 | b4 |
|
||||
| main.rs:281:13:281:14 | c2 | main.rs:281:13:281:14 | c2 | main.rs:285:15:285:16 | c2 |
|
||||
| main.rs:288:9:288:10 | c2 | main.rs:281:13:281:14 | c2 | main.rs:294:9:294:10 | c2 |
|
||||
| main.rs:288:9:288:10 | c2 | main.rs:281:13:281:14 | c2 | main.rs:298:15:298:16 | c2 |
|
||||
| main.rs:289:9:289:10 | b4 | main.rs:280:13:280:14 | b4 | main.rs:293:9:293:10 | b4 |
|
||||
@@ -263,17 +263,17 @@ read
|
||||
| main.rs:430:9:430:9 | x | main.rs:430:9:430:9 | x | main.rs:436:15:436:15 | x |
|
||||
| main.rs:432:9:432:11 | cap | main.rs:432:9:432:11 | cap | main.rs:435:5:435:7 | cap |
|
||||
| main.rs:432:15:434:5 | <captured entry> x | main.rs:430:9:430:9 | x | main.rs:433:19:433:19 | x |
|
||||
| main.rs:440:9:440:13 | mut x | main.rs:440:13:440:13 | x | main.rs:446:15:446:15 | x |
|
||||
| main.rs:440:13:440:13 | x | main.rs:440:13:440:13 | x | main.rs:446:15:446:15 | x |
|
||||
| main.rs:442:9:442:16 | closure1 | main.rs:442:9:442:16 | closure1 | main.rs:445:5:445:12 | closure1 |
|
||||
| main.rs:442:20:444:5 | <captured entry> x | main.rs:440:13:440:13 | x | main.rs:443:19:443:19 | x |
|
||||
| main.rs:450:9:450:20 | mut closure2 | main.rs:450:13:450:20 | closure2 | main.rs:453:5:453:12 | closure2 |
|
||||
| main.rs:450:13:450:20 | closure2 | main.rs:450:13:450:20 | closure2 | main.rs:453:5:453:12 | closure2 |
|
||||
| main.rs:453:5:453:14 | <captured exit> y | main.rs:448:13:448:13 | y | main.rs:454:15:454:15 | y |
|
||||
| main.rs:458:9:458:20 | mut closure3 | main.rs:458:13:458:20 | closure3 | main.rs:461:5:461:12 | closure3 |
|
||||
| main.rs:458:13:458:20 | closure3 | main.rs:458:13:458:20 | closure3 | main.rs:461:5:461:12 | closure3 |
|
||||
| main.rs:467:9:467:13 | block | main.rs:467:9:467:13 | block | main.rs:471:5:471:9 | block |
|
||||
| main.rs:471:5:471:15 | <captured exit> i | main.rs:466:13:466:13 | i | main.rs:472:15:472:15 | i |
|
||||
| main.rs:475:8:475:8 | b | main.rs:475:8:475:8 | b | main.rs:479:8:479:8 | b |
|
||||
| main.rs:476:9:476:13 | mut x | main.rs:476:13:476:13 | x | main.rs:477:15:477:15 | x |
|
||||
| main.rs:476:9:476:13 | mut x | main.rs:476:13:476:13 | x | main.rs:478:15:478:15 | x |
|
||||
| main.rs:476:13:476:13 | x | main.rs:476:13:476:13 | x | main.rs:477:15:477:15 | x |
|
||||
| main.rs:476:13:476:13 | x | main.rs:476:13:476:13 | x | main.rs:478:15:478:15 | x |
|
||||
| main.rs:479:5:487:5 | phi | main.rs:476:13:476:13 | x | main.rs:488:15:488:15 | x |
|
||||
| main.rs:480:9:480:9 | x | main.rs:476:13:476:13 | x | main.rs:481:19:481:19 | x |
|
||||
| main.rs:480:9:480:9 | x | main.rs:476:13:476:13 | x | main.rs:482:19:482:19 | x |
|
||||
@@ -285,20 +285,20 @@ read
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:496:19:496:19 | x |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:500:19:500:19 | x |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:502:19:502:19 | x |
|
||||
| main.rs:512:15:512:23 | SelfParam | main.rs:512:20:512:23 | self | main.rs:513:16:513:19 | self |
|
||||
| main.rs:516:11:516:14 | SelfParam | main.rs:516:11:516:14 | self | main.rs:517:9:517:12 | self |
|
||||
| main.rs:521:13:521:17 | mut f | main.rs:521:17:521:17 | f | main.rs:525:9:525:9 | f |
|
||||
| main.rs:521:13:521:17 | mut f | main.rs:521:17:521:17 | f | main.rs:526:9:526:9 | f |
|
||||
| main.rs:512:20:512:23 | self | main.rs:512:20:512:23 | self | main.rs:513:16:513:19 | self |
|
||||
| main.rs:516:11:516:14 | self | main.rs:516:11:516:14 | self | main.rs:517:9:517:12 | self |
|
||||
| main.rs:521:17:521:17 | f | main.rs:521:17:521:17 | f | main.rs:525:9:525:9 | f |
|
||||
| main.rs:521:17:521:17 | f | main.rs:521:17:521:17 | f | main.rs:526:9:526:9 | f |
|
||||
| main.rs:521:21:524:9 | <captured entry> self | main.rs:520:23:520:26 | self | main.rs:523:13:523:16 | self |
|
||||
| main.rs:521:22:521:22 | n | main.rs:521:22:521:22 | n | main.rs:523:25:523:25 | n |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:13:540:13 | a | main.rs:541:15:541:15 | a |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:13:540:13 | a | main.rs:542:5:542:5 | a |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:13:540:13 | a | main.rs:543:15:543:15 | a |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:13:540:13 | a | main.rs:541:15:541:15 | a |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:13:540:13 | a | main.rs:542:5:542:5 | a |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:13:540:13 | a | main.rs:543:15:543:15 | a |
|
||||
| main.rs:544:5:544:5 | a | main.rs:540:13:540:13 | a | main.rs:545:15:545:15 | a |
|
||||
| main.rs:549:9:549:9 | x | main.rs:549:9:549:9 | x | main.rs:550:20:550:20 | x |
|
||||
| main.rs:549:9:549:9 | x | main.rs:549:9:549:9 | x | main.rs:551:15:551:15 | x |
|
||||
| main.rs:553:9:553:9 | z | main.rs:553:9:553:9 | z | main.rs:554:20:554:20 | z |
|
||||
| main.rs:562:10:562:18 | SelfParam | main.rs:562:15:562:18 | self | main.rs:563:6:563:9 | self |
|
||||
| main.rs:562:15:562:18 | self | main.rs:562:15:562:18 | self | main.rs:563:6:563:9 | self |
|
||||
| main.rs:593:9:593:22 | var_from_macro | main.rs:593:9:593:22 | var_from_macro | main.rs:595:15:595:28 | var_from_macro |
|
||||
| main.rs:594:9:594:25 | var_in_macro | main.rs:594:9:594:25 | var_in_macro | main.rs:594:9:594:25 | var_in_macro |
|
||||
| main.rs:596:9:596:20 | var_in_macro | main.rs:596:9:596:20 | var_in_macro | main.rs:601:15:601:26 | var_in_macro |
|
||||
@@ -308,9 +308,9 @@ firstRead
|
||||
| main.rs:7:14:7:14 | i | main.rs:7:14:7:14 | i | main.rs:8:20:8:20 | i |
|
||||
| main.rs:11:18:11:18 | i | main.rs:11:18:11:18 | i | main.rs:12:16:12:16 | i |
|
||||
| main.rs:16:9:16:10 | x1 | main.rs:16:9:16:10 | x1 | main.rs:17:15:17:16 | x1 |
|
||||
| main.rs:21:9:21:14 | mut x2 | main.rs:21:13:21:14 | x2 | main.rs:22:15:22:16 | x2 |
|
||||
| main.rs:21:13:21:14 | x2 | main.rs:21:13:21:14 | x2 | main.rs:22:15:22:16 | x2 |
|
||||
| main.rs:23:5:23:6 | x2 | main.rs:21:13:21:14 | x2 | main.rs:24:15:24:16 | x2 |
|
||||
| main.rs:28:9:28:13 | mut x | main.rs:28:13:28:13 | x | main.rs:29:20:29:20 | x |
|
||||
| main.rs:28:13:28:13 | x | main.rs:28:13:28:13 | x | main.rs:29:20:29:20 | x |
|
||||
| main.rs:30:5:30:5 | x | main.rs:28:13:28:13 | x | main.rs:31:20:31:20 | x |
|
||||
| main.rs:35:9:35:10 | x3 | main.rs:35:9:35:10 | x3 | main.rs:36:15:36:16 | x3 |
|
||||
| main.rs:37:9:37:10 | x3 | main.rs:37:9:37:10 | x3 | main.rs:39:15:39:16 | x3 |
|
||||
@@ -324,10 +324,10 @@ firstRead
|
||||
| main.rs:77:12:77:13 | a2 | main.rs:77:12:77:13 | a2 | main.rs:80:15:80:16 | a2 |
|
||||
| main.rs:78:12:78:13 | b2 | main.rs:78:12:78:13 | b2 | main.rs:81:15:81:16 | b2 |
|
||||
| main.rs:85:9:85:10 | s1 | main.rs:85:9:85:10 | s1 | main.rs:88:11:88:12 | s1 |
|
||||
| main.rs:87:17:87:22 | ref s2 | main.rs:87:21:87:22 | s2 | main.rs:89:19:89:20 | s2 |
|
||||
| main.rs:87:21:87:22 | s2 | main.rs:87:21:87:22 | s2 | main.rs:89:19:89:20 | s2 |
|
||||
| main.rs:94:14:94:15 | x5 | main.rs:94:14:94:15 | x5 | main.rs:98:15:98:16 | x5 |
|
||||
| main.rs:102:9:102:10 | s1 | main.rs:102:9:102:10 | s1 | main.rs:105:11:105:12 | s1 |
|
||||
| main.rs:104:20:104:25 | ref s2 | main.rs:104:24:104:25 | s2 | main.rs:106:19:106:20 | s2 |
|
||||
| main.rs:104:24:104:25 | s2 | main.rs:104:24:104:25 | s2 | main.rs:106:19:106:20 | s2 |
|
||||
| main.rs:111:9:111:10 | x6 | main.rs:111:9:111:10 | x6 | main.rs:114:11:114:12 | x6 |
|
||||
| main.rs:112:9:112:10 | y1 | main.rs:112:9:112:10 | y1 | main.rs:124:15:124:16 | y1 |
|
||||
| main.rs:116:14:116:15 | y1 | main.rs:116:14:116:15 | y1 | main.rs:119:23:119:24 | y1 |
|
||||
@@ -340,7 +340,7 @@ firstRead
|
||||
| main.rs:155:9:155:10 | p2 | main.rs:155:9:155:10 | p2 | main.rs:157:11:157:12 | p2 |
|
||||
| main.rs:159:16:159:17 | x7 | main.rs:159:16:159:17 | x7 | main.rs:160:24:160:25 | x7 |
|
||||
| main.rs:169:9:169:11 | msg | main.rs:169:9:169:11 | msg | main.rs:171:11:171:13 | msg |
|
||||
| main.rs:173:17:173:35 | [match(true)] id_variable @ ... | main.rs:173:17:173:27 | id_variable | main.rs:174:24:174:34 | id_variable |
|
||||
| main.rs:173:17:173:27 | id_variable | main.rs:173:17:173:27 | id_variable | main.rs:174:24:174:34 | id_variable |
|
||||
| main.rs:178:26:178:27 | id | main.rs:178:26:178:27 | id | main.rs:179:23:179:24 | id |
|
||||
| main.rs:189:9:189:14 | either | main.rs:189:9:189:14 | either | main.rs:190:11:190:16 | either |
|
||||
| main.rs:191:9:191:44 | [match(true)] phi | main.rs:191:9:191:44 | a3 | main.rs:192:26:192:27 | a3 |
|
||||
@@ -351,7 +351,7 @@ firstRead
|
||||
| main.rs:219:9:219:14 | either | main.rs:219:9:219:14 | either | main.rs:220:11:220:16 | either |
|
||||
| main.rs:221:9:221:44 | [match(true)] phi | main.rs:221:9:221:44 | a7 | main.rs:222:16:222:17 | a7 |
|
||||
| main.rs:229:9:229:14 | either | main.rs:229:9:229:14 | either | main.rs:231:11:231:16 | either |
|
||||
| main.rs:232:9:233:52 | [match(true)] ref e @ ... | main.rs:232:13:232:13 | e | main.rs:237:15:237:15 | e |
|
||||
| main.rs:232:13:232:13 | e | main.rs:232:13:232:13 | e | main.rs:237:15:237:15 | e |
|
||||
| main.rs:233:14:233:51 | [match(true)] phi | main.rs:233:14:233:51 | a11 | main.rs:235:23:235:25 | a11 |
|
||||
| main.rs:236:33:236:35 | a12 | main.rs:236:33:236:35 | a12 | main.rs:238:28:238:30 | a12 |
|
||||
| main.rs:253:9:253:10 | fv | main.rs:253:9:253:10 | fv | main.rs:254:11:254:12 | fv |
|
||||
@@ -360,9 +360,9 @@ firstRead
|
||||
| main.rs:263:9:263:10 | b3 | main.rs:263:9:263:10 | b3 | main.rs:267:15:267:16 | b3 |
|
||||
| main.rs:264:9:264:10 | c1 | main.rs:264:9:264:10 | c1 | main.rs:268:15:268:16 | c1 |
|
||||
| main.rs:272:6:272:41 | [match(true)] phi | main.rs:272:6:272:41 | a9 | main.rs:274:15:274:16 | a9 |
|
||||
| main.rs:279:9:279:15 | mut a10 | main.rs:279:13:279:15 | a10 | main.rs:283:15:283:17 | a10 |
|
||||
| main.rs:280:9:280:14 | mut b4 | main.rs:280:13:280:14 | b4 | main.rs:284:15:284:16 | b4 |
|
||||
| main.rs:281:9:281:14 | mut c2 | main.rs:281:13:281:14 | c2 | main.rs:285:15:285:16 | c2 |
|
||||
| main.rs:279:13:279:15 | a10 | main.rs:279:13:279:15 | a10 | main.rs:283:15:283:17 | a10 |
|
||||
| main.rs:280:13:280:14 | b4 | main.rs:280:13:280:14 | b4 | main.rs:284:15:284:16 | b4 |
|
||||
| main.rs:281:13:281:14 | c2 | main.rs:281:13:281:14 | c2 | main.rs:285:15:285:16 | c2 |
|
||||
| main.rs:288:9:288:10 | c2 | main.rs:281:13:281:14 | c2 | main.rs:294:9:294:10 | c2 |
|
||||
| main.rs:289:9:289:10 | b4 | main.rs:280:13:280:14 | b4 | main.rs:293:9:293:10 | b4 |
|
||||
| main.rs:290:9:290:11 | a10 | main.rs:279:13:279:15 | a10 | main.rs:292:9:292:11 | a10 |
|
||||
@@ -392,16 +392,16 @@ firstRead
|
||||
| main.rs:430:9:430:9 | x | main.rs:430:9:430:9 | x | main.rs:436:15:436:15 | x |
|
||||
| main.rs:432:9:432:11 | cap | main.rs:432:9:432:11 | cap | main.rs:435:5:435:7 | cap |
|
||||
| main.rs:432:15:434:5 | <captured entry> x | main.rs:430:9:430:9 | x | main.rs:433:19:433:19 | x |
|
||||
| main.rs:440:9:440:13 | mut x | main.rs:440:13:440:13 | x | main.rs:446:15:446:15 | x |
|
||||
| main.rs:440:13:440:13 | x | main.rs:440:13:440:13 | x | main.rs:446:15:446:15 | x |
|
||||
| main.rs:442:9:442:16 | closure1 | main.rs:442:9:442:16 | closure1 | main.rs:445:5:445:12 | closure1 |
|
||||
| main.rs:442:20:444:5 | <captured entry> x | main.rs:440:13:440:13 | x | main.rs:443:19:443:19 | x |
|
||||
| main.rs:450:9:450:20 | mut closure2 | main.rs:450:13:450:20 | closure2 | main.rs:453:5:453:12 | closure2 |
|
||||
| main.rs:450:13:450:20 | closure2 | main.rs:450:13:450:20 | closure2 | main.rs:453:5:453:12 | closure2 |
|
||||
| main.rs:453:5:453:14 | <captured exit> y | main.rs:448:13:448:13 | y | main.rs:454:15:454:15 | y |
|
||||
| main.rs:458:9:458:20 | mut closure3 | main.rs:458:13:458:20 | closure3 | main.rs:461:5:461:12 | closure3 |
|
||||
| main.rs:458:13:458:20 | closure3 | main.rs:458:13:458:20 | closure3 | main.rs:461:5:461:12 | closure3 |
|
||||
| main.rs:467:9:467:13 | block | main.rs:467:9:467:13 | block | main.rs:471:5:471:9 | block |
|
||||
| main.rs:471:5:471:15 | <captured exit> i | main.rs:466:13:466:13 | i | main.rs:472:15:472:15 | i |
|
||||
| main.rs:475:8:475:8 | b | main.rs:475:8:475:8 | b | main.rs:479:8:479:8 | b |
|
||||
| main.rs:476:9:476:13 | mut x | main.rs:476:13:476:13 | x | main.rs:477:15:477:15 | x |
|
||||
| main.rs:476:13:476:13 | x | main.rs:476:13:476:13 | x | main.rs:477:15:477:15 | x |
|
||||
| main.rs:479:5:487:5 | phi | main.rs:476:13:476:13 | x | main.rs:488:15:488:15 | x |
|
||||
| main.rs:480:9:480:9 | x | main.rs:476:13:476:13 | x | main.rs:481:19:481:19 | x |
|
||||
| main.rs:484:9:484:9 | x | main.rs:476:13:476:13 | x | main.rs:485:19:485:19 | x |
|
||||
@@ -409,16 +409,16 @@ firstRead
|
||||
| main.rs:491:24:491:25 | b2 | main.rs:491:24:491:25 | b2 | main.rs:499:8:499:9 | b2 |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:494:19:494:19 | x |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:496:19:496:19 | x |
|
||||
| main.rs:512:15:512:23 | SelfParam | main.rs:512:20:512:23 | self | main.rs:513:16:513:19 | self |
|
||||
| main.rs:516:11:516:14 | SelfParam | main.rs:516:11:516:14 | self | main.rs:517:9:517:12 | self |
|
||||
| main.rs:521:13:521:17 | mut f | main.rs:521:17:521:17 | f | main.rs:525:9:525:9 | f |
|
||||
| main.rs:512:20:512:23 | self | main.rs:512:20:512:23 | self | main.rs:513:16:513:19 | self |
|
||||
| main.rs:516:11:516:14 | self | main.rs:516:11:516:14 | self | main.rs:517:9:517:12 | self |
|
||||
| main.rs:521:17:521:17 | f | main.rs:521:17:521:17 | f | main.rs:525:9:525:9 | f |
|
||||
| main.rs:521:21:524:9 | <captured entry> self | main.rs:520:23:520:26 | self | main.rs:523:13:523:16 | self |
|
||||
| main.rs:521:22:521:22 | n | main.rs:521:22:521:22 | n | main.rs:523:25:523:25 | n |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:13:540:13 | a | main.rs:541:15:541:15 | a |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:13:540:13 | a | main.rs:541:15:541:15 | a |
|
||||
| main.rs:544:5:544:5 | a | main.rs:540:13:540:13 | a | main.rs:545:15:545:15 | a |
|
||||
| main.rs:549:9:549:9 | x | main.rs:549:9:549:9 | x | main.rs:550:20:550:20 | x |
|
||||
| main.rs:553:9:553:9 | z | main.rs:553:9:553:9 | z | main.rs:554:20:554:20 | z |
|
||||
| main.rs:562:10:562:18 | SelfParam | main.rs:562:15:562:18 | self | main.rs:563:6:563:9 | self |
|
||||
| main.rs:562:15:562:18 | self | main.rs:562:15:562:18 | self | main.rs:563:6:563:9 | self |
|
||||
| main.rs:593:9:593:22 | var_from_macro | main.rs:593:9:593:22 | var_from_macro | main.rs:595:15:595:28 | var_from_macro |
|
||||
| main.rs:594:9:594:25 | var_in_macro | main.rs:594:9:594:25 | var_in_macro | main.rs:594:9:594:25 | var_in_macro |
|
||||
| main.rs:596:9:596:20 | var_in_macro | main.rs:596:9:596:20 | var_in_macro | main.rs:601:15:601:26 | var_in_macro |
|
||||
@@ -444,16 +444,16 @@ adjacentReads
|
||||
| main.rs:393:22:393:22 | x | main.rs:393:22:393:22 | x | main.rs:395:10:395:10 | x | main.rs:396:10:396:10 | x |
|
||||
| main.rs:393:22:393:22 | x | main.rs:393:22:393:22 | x | main.rs:396:10:396:10 | x | main.rs:398:9:398:9 | x |
|
||||
| main.rs:410:9:410:9 | w | main.rs:410:9:410:9 | w | main.rs:414:9:414:9 | w | main.rs:416:7:416:7 | w |
|
||||
| main.rs:476:9:476:13 | mut x | main.rs:476:13:476:13 | x | main.rs:477:15:477:15 | x | main.rs:478:15:478:15 | x |
|
||||
| main.rs:476:13:476:13 | x | main.rs:476:13:476:13 | x | main.rs:477:15:477:15 | x | main.rs:478:15:478:15 | x |
|
||||
| main.rs:480:9:480:9 | x | main.rs:476:13:476:13 | x | main.rs:481:19:481:19 | x | main.rs:482:19:482:19 | x |
|
||||
| main.rs:484:9:484:9 | x | main.rs:476:13:476:13 | x | main.rs:485:19:485:19 | x | main.rs:486:19:486:19 | x |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:494:19:494:19 | x | main.rs:500:19:500:19 | x |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:494:19:494:19 | x | main.rs:502:19:502:19 | x |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:496:19:496:19 | x | main.rs:500:19:500:19 | x |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:9:492:9 | x | main.rs:496:19:496:19 | x | main.rs:502:19:502:19 | x |
|
||||
| main.rs:521:13:521:17 | mut f | main.rs:521:17:521:17 | f | main.rs:525:9:525:9 | f | main.rs:526:9:526:9 | f |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:13:540:13 | a | main.rs:541:15:541:15 | a | main.rs:542:5:542:5 | a |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:13:540:13 | a | main.rs:542:5:542:5 | a | main.rs:543:15:543:15 | a |
|
||||
| main.rs:521:17:521:17 | f | main.rs:521:17:521:17 | f | main.rs:525:9:525:9 | f | main.rs:526:9:526:9 | f |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:13:540:13 | a | main.rs:541:15:541:15 | a | main.rs:542:5:542:5 | a |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:13:540:13 | a | main.rs:542:5:542:5 | a | main.rs:543:15:543:15 | a |
|
||||
| main.rs:549:9:549:9 | x | main.rs:549:9:549:9 | x | main.rs:550:20:550:20 | x | main.rs:551:15:551:15 | x |
|
||||
phi
|
||||
| main.rs:191:9:191:44 | [match(true)] phi | main.rs:191:9:191:44 | a3 | main.rs:191:22:191:23 | a3 |
|
||||
@@ -525,9 +525,9 @@ ultimateDef
|
||||
| main.rs:479:5:487:5 | phi | main.rs:484:9:484:9 | x |
|
||||
assigns
|
||||
| main.rs:16:9:16:10 | x1 | main.rs:16:14:16:16 | "a" |
|
||||
| main.rs:21:9:21:14 | mut x2 | main.rs:21:18:21:18 | 4 |
|
||||
| main.rs:21:13:21:14 | x2 | main.rs:21:18:21:18 | 4 |
|
||||
| main.rs:23:5:23:6 | x2 | main.rs:23:10:23:10 | 5 |
|
||||
| main.rs:28:9:28:13 | mut x | main.rs:28:17:28:17 | 1 |
|
||||
| main.rs:28:13:28:13 | x | main.rs:28:17:28:17 | 1 |
|
||||
| main.rs:30:5:30:5 | x | main.rs:30:9:30:9 | 2 |
|
||||
| main.rs:35:9:35:10 | x3 | main.rs:35:14:35:14 | 1 |
|
||||
| main.rs:37:9:37:10 | x3 | main.rs:38:9:38:14 | ... + ... |
|
||||
@@ -559,21 +559,21 @@ assigns
|
||||
| main.rs:423:9:423:9 | y | main.rs:424:9:424:14 | &mut x |
|
||||
| main.rs:430:9:430:9 | x | main.rs:430:13:430:15 | 100 |
|
||||
| main.rs:432:9:432:11 | cap | main.rs:432:15:434:5 | \|...\| ... |
|
||||
| main.rs:440:9:440:13 | mut x | main.rs:440:17:440:17 | 1 |
|
||||
| main.rs:440:13:440:13 | x | main.rs:440:17:440:17 | 1 |
|
||||
| main.rs:442:9:442:16 | closure1 | main.rs:442:20:444:5 | \|...\| ... |
|
||||
| main.rs:448:9:448:13 | mut y | main.rs:448:17:448:17 | 2 |
|
||||
| main.rs:450:9:450:20 | mut closure2 | main.rs:450:24:452:5 | \|...\| ... |
|
||||
| main.rs:448:13:448:13 | y | main.rs:448:17:448:17 | 2 |
|
||||
| main.rs:450:13:450:20 | closure2 | main.rs:450:24:452:5 | \|...\| ... |
|
||||
| main.rs:451:9:451:9 | y | main.rs:451:13:451:13 | 3 |
|
||||
| main.rs:458:9:458:20 | mut closure3 | main.rs:458:24:460:5 | \|...\| ... |
|
||||
| main.rs:466:9:466:13 | mut i | main.rs:466:22:466:22 | 0 |
|
||||
| main.rs:458:13:458:20 | closure3 | main.rs:458:24:460:5 | \|...\| ... |
|
||||
| main.rs:466:13:466:13 | i | main.rs:466:22:466:22 | 0 |
|
||||
| main.rs:467:9:467:13 | block | main.rs:467:17:469:5 | { ... } |
|
||||
| main.rs:468:9:468:9 | i | main.rs:468:13:468:13 | 1 |
|
||||
| main.rs:476:9:476:13 | mut x | main.rs:476:17:476:17 | 1 |
|
||||
| main.rs:476:13:476:13 | x | main.rs:476:17:476:17 | 1 |
|
||||
| main.rs:480:9:480:9 | x | main.rs:480:13:480:13 | 2 |
|
||||
| main.rs:484:9:484:9 | x | main.rs:484:13:484:13 | 3 |
|
||||
| main.rs:492:9:492:9 | x | main.rs:492:13:492:13 | 1 |
|
||||
| main.rs:521:13:521:17 | mut f | main.rs:521:21:524:9 | \|...\| ... |
|
||||
| main.rs:540:9:540:13 | mut a | main.rs:540:17:540:25 | [...] |
|
||||
| main.rs:521:17:521:17 | f | main.rs:521:21:524:9 | \|...\| ... |
|
||||
| main.rs:540:13:540:13 | a | main.rs:540:17:540:25 | [...] |
|
||||
| main.rs:544:5:544:5 | a | main.rs:544:9:544:17 | [...] |
|
||||
| main.rs:549:9:549:9 | x | main.rs:549:13:549:14 | 16 |
|
||||
| main.rs:553:9:553:9 | z | main.rs:553:13:553:14 | 17 |
|
||||
|
||||
@@ -40,7 +40,7 @@ module VariableAccessTest implements TestSig {
|
||||
commmentAt(value, filepath, line) and inMacro = false
|
||||
or
|
||||
not (commmentAt(_, filepath, line) and inMacro = false) and
|
||||
value = v.getName()
|
||||
value = v.getText()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -18,4 +18,4 @@
|
||||
| main.rs:519:9:519:20 | var_in_macro | Variable $@ is assigned a value that is never used. | main.rs:519:9:519:20 | var_in_macro | var_in_macro |
|
||||
| more.rs:44:9:44:14 | a_ptr4 | Variable $@ is assigned a value that is never used. | more.rs:44:9:44:14 | a_ptr4 | a_ptr4 |
|
||||
| more.rs:59:9:59:13 | d_ptr | Variable $@ is assigned a value that is never used. | more.rs:59:9:59:13 | d_ptr | d_ptr |
|
||||
| more.rs:65:9:65:17 | mut f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr |
|
||||
| more.rs:65:13:65:17 | f_ptr | Variable $@ is assigned a value that is never used. | more.rs:65:13:65:17 | f_ptr | f_ptr |
|
||||
|
||||
@@ -44,9 +44,7 @@ impl<T> MyOption<T> {
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: The returned value inside the variant should be inside a `Reference`, requires handling
|
||||
// `ref` in patterns.
|
||||
// summary=repo::test;<crate::option::MyOption>::as_ref;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::as_ref;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)].Reference;value;dfc-generated
|
||||
pub fn as_ref(&self) -> MyOption<&T> {
|
||||
match *self {
|
||||
MySome(ref x) => MySome(x),
|
||||
@@ -54,7 +52,7 @@ impl<T> MyOption<T> {
|
||||
}
|
||||
}
|
||||
|
||||
// summary=repo::test;<crate::option::MyOption>::as_mut;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::as_mut;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)].Reference;value;dfc-generated
|
||||
pub fn as_mut(&mut self) -> MyOption<&mut T> {
|
||||
match *self {
|
||||
MySome(ref mut x) => MySome(x),
|
||||
@@ -288,10 +286,9 @@ impl<T> MyOption<T> {
|
||||
}
|
||||
|
||||
// summary=repo::test;<crate::option::MyOption>::insert;Argument[0];Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];value;dfc-generated
|
||||
// The below should be `ReturnValue.Reference` and not just `ReturnValue`.
|
||||
// SPURIOUS-summary=repo::test;<crate::option::MyOption>::insert;Argument[0];ReturnValue;value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::insert;Argument[0];ReturnValue.Reference;value;dfc-generated
|
||||
// The content of `self` is overwritten so it does not flow to the return value.
|
||||
// SPURIOUS-summary=repo::test;<crate::option::MyOption>::insert;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue;value;dfc-generated
|
||||
// SPURIOUS-summary=repo::test;<crate::option::MyOption>::insert;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated
|
||||
pub fn insert(&mut self, value: T) -> &mut T {
|
||||
*self = MySome(value);
|
||||
|
||||
@@ -300,13 +297,13 @@ impl<T> MyOption<T> {
|
||||
}
|
||||
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert;Argument[0];Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert;Argument[0];ReturnValue;value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue;value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert;Argument[0];ReturnValue.Reference;value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated
|
||||
pub fn get_or_insert(&mut self, value: T) -> &mut T {
|
||||
self.get_or_insert_with(|| value)
|
||||
}
|
||||
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert_default;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue;value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert_default;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated
|
||||
pub fn get_or_insert_default(&mut self) -> &mut T
|
||||
where
|
||||
T: Default,
|
||||
@@ -314,7 +311,7 @@ impl<T> MyOption<T> {
|
||||
self.get_or_insert_with(T::default)
|
||||
}
|
||||
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert_with;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue;value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::get_or_insert_with;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated
|
||||
// MISSING: Mutating `self` parameter.
|
||||
pub fn get_or_insert_with<F>(&mut self, f: F) -> &mut T
|
||||
where
|
||||
@@ -335,7 +332,7 @@ impl<T> MyOption<T> {
|
||||
mem::replace(self, MyNone)
|
||||
}
|
||||
|
||||
// summary=repo::test;<crate::option::MyOption>::take_if;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];Argument[0].Parameter[0];value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption>::take_if;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];Argument[0].Parameter[0].Reference;value;dfc-generated
|
||||
// MISSING: Uses `take` which doesn't have flow
|
||||
pub fn take_if<P>(&mut self, predicate: P) -> MyOption<T>
|
||||
where
|
||||
@@ -484,14 +481,14 @@ impl<T> From<T> for MyOption<T> {
|
||||
}
|
||||
|
||||
impl<'a, T> From<&'a MyOption<T>> for MyOption<&'a T> {
|
||||
// summary=repo::test;<crate::option::MyOption as crate::convert::From>::from;Argument[0].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption as crate::convert::From>::from;Argument[0].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)].Reference;value;dfc-generated
|
||||
fn from(o: &'a MyOption<T>) -> MyOption<&'a T> {
|
||||
o.as_ref()
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, T> From<&'a mut MyOption<T>> for MyOption<&'a mut T> {
|
||||
// summary=repo::test;<crate::option::MyOption as crate::convert::From>::from;Argument[0].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated
|
||||
// summary=repo::test;<crate::option::MyOption as crate::convert::From>::from;Argument[0].Reference.Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)].Reference;value;dfc-generated
|
||||
fn from(o: &'a mut MyOption<T>) -> MyOption<&'a mut T> {
|
||||
o.as_mut()
|
||||
}
|
||||
|
||||
@@ -1336,7 +1336,7 @@ class _:
|
||||
"""
|
||||
|
||||
|
||||
@annotate(Name)
|
||||
@annotate(Name, cfg=True)
|
||||
class _:
|
||||
"""
|
||||
A Name. For example:
|
||||
|
||||
Reference in New Issue
Block a user