Rust: Accept expected changes and fix other CI complaints

This commit is contained in:
Simon Friis Vindum
2025-01-03 14:41:03 +01:00
parent cd957ba63b
commit 5c64a8c948
17 changed files with 202 additions and 19 deletions

View File

@@ -186,10 +186,14 @@ final class CallExprCfgNode extends CallExprBaseCfgNode, Nodes::CallExprCfgNode
final class FormatArgsExprCfgNode extends Nodes::FormatArgsExprCfgNode {
private FormatArgsExprChildMapping node;
FormatArgsExprCfgNode() { node = this.getAstNode() }
/** Gets the `i`th argument of this format arguments expression (0-based). */
ExprCfgNode getArgumentExpr(int i) {
any(ChildMapping mapping).hasCfgChild(node, node.getArg(i).getExpr(), this, result)
}
/** Gets a format argument of the `i`th format of this format arguments expression (0-based). */
FormatTemplateVariableAccessCfgNode getFormatTemplateVariableAccess(int i) {
exists(FormatTemplateVariableAccess v |
v.getArgument() = node.getFormat(i).getArgument() and
@@ -199,11 +203,18 @@ final class FormatArgsExprCfgNode extends Nodes::FormatArgsExprCfgNode {
}
}
/**
* A MacroCall. For example:
* ```rust
* todo!()
* ```
*/
final class MacroCallCfgNode extends Nodes::MacroCallCfgNode {
private MacroCallChildMapping node;
MacroCallCfgNode() { node = this.getAstNode() }
/** Gets the CFG node for the expansion of this macro call, if it exists. */
CfgNode getExpandedNode() {
any(ChildMapping mapping).hasCfgChild(node, node.getExpanded(), this, result)
}

View File

@@ -1,4 +1,6 @@
| gen_format.rs:5:21:5:22 | {} | getParent: | gen_format.rs:5:14:5:32 | FormatArgsExpr | getIndex: | 1 | hasArgument: | no |
| gen_format.rs:7:21:7:46 | {value:#width$.precision$} | getParent: | gen_format.rs:7:14:7:47 | FormatArgsExpr | getIndex: | 1 | hasArgument: | yes |
| gen_format_args_arg.rs:5:26:5:27 | {} | getParent: | gen_format_args_arg.rs:5:17:5:39 | FormatArgsExpr | getIndex: | 1 | hasArgument: | no |
| gen_format_args_expr.rs:6:19:6:20 | {} | getParent: | gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | getIndex: | 1 | hasArgument: | no |
| gen_format_args_expr.rs:6:26:6:29 | {:?} | getParent: | gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | getIndex: | 3 | hasArgument: | no |
| gen_format_args_expr.rs:7:19:7:21 | {b} | getParent: | gen_format_args_expr.rs:7:17:7:43 | FormatArgsExpr | getIndex: | 1 | hasArgument: | yes |

View File

@@ -1,4 +1,5 @@
| gen_format.rs:5:26:5:32 | FormatArgsArg | hasExpr: | yes | hasName: | no |
| gen_format_args_arg.rs:5:32:5:38 | FormatArgsArg | hasExpr: | yes | hasName: | no |
| gen_format_args_expr.rs:6:33:6:33 | FormatArgsArg | hasExpr: | yes | hasName: | no |
| gen_format_args_expr.rs:6:36:6:36 | FormatArgsArg | hasExpr: | yes | hasName: | no |
| gen_format_args_expr.rs:7:35:7:37 | FormatArgsArg | hasExpr: | yes | hasName: | yes |

View File

@@ -1,4 +1,5 @@
| gen_format.rs:5:26:5:32 | FormatArgsArg | gen_format.rs:5:26:5:32 | "world" |
| gen_format_args_arg.rs:5:32:5:38 | FormatArgsArg | gen_format_args_arg.rs:5:32:5:38 | "world" |
| gen_format_args_expr.rs:6:33:6:33 | FormatArgsArg | gen_format_args_expr.rs:6:33:6:33 | 1 |
| gen_format_args_expr.rs:6:36:6:36 | FormatArgsArg | gen_format_args_expr.rs:6:36:6:36 | 2 |
| gen_format_args_expr.rs:7:35:7:37 | FormatArgsArg | gen_format_args_expr.rs:7:37:7:37 | 1 |

View File

@@ -1,4 +1,6 @@
| gen_format.rs:5:14:5:32 | FormatArgsExpr | getNumberOfArgs: | 1 | getNumberOfAttrs: | 0 | hasTemplate: | yes | getNumberOfFormats: | 1 |
| gen_format.rs:7:14:7:47 | FormatArgsExpr | getNumberOfArgs: | 0 | getNumberOfAttrs: | 0 | hasTemplate: | yes | getNumberOfFormats: | 1 |
| gen_format_args_arg.rs:5:17:5:39 | FormatArgsExpr | getNumberOfArgs: | 1 | getNumberOfAttrs: | 0 | hasTemplate: | yes | getNumberOfFormats: | 1 |
| gen_format_args_expr.rs:5:17:5:27 | FormatArgsExpr | getNumberOfArgs: | 0 | getNumberOfAttrs: | 0 | hasTemplate: | yes | getNumberOfFormats: | 0 |
| gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | getNumberOfArgs: | 2 | getNumberOfAttrs: | 0 | hasTemplate: | yes | getNumberOfFormats: | 2 |
| gen_format_args_expr.rs:7:17:7:43 | FormatArgsExpr | getNumberOfArgs: | 2 | getNumberOfAttrs: | 0 | hasTemplate: | yes | getNumberOfFormats: | 2 |

View File

@@ -1,4 +1,5 @@
| gen_format.rs:5:14:5:32 | FormatArgsExpr | 0 | gen_format.rs:5:26:5:32 | FormatArgsArg |
| gen_format_args_arg.rs:5:17:5:39 | FormatArgsExpr | 0 | gen_format_args_arg.rs:5:32:5:38 | FormatArgsArg |
| gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | 0 | gen_format_args_expr.rs:6:33:6:33 | FormatArgsArg |
| gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | 1 | gen_format_args_expr.rs:6:36:6:36 | FormatArgsArg |
| gen_format_args_expr.rs:7:17:7:43 | FormatArgsExpr | 0 | gen_format_args_expr.rs:7:35:7:37 | FormatArgsArg |

View File

@@ -1,4 +1,6 @@
| gen_format.rs:5:14:5:32 | FormatArgsExpr | 0 | gen_format.rs:5:21:5:22 | {} |
| gen_format.rs:7:14:7:47 | FormatArgsExpr | 0 | gen_format.rs:7:21:7:46 | {value:#width$.precision$} |
| gen_format_args_arg.rs:5:17:5:39 | FormatArgsExpr | 0 | gen_format_args_arg.rs:5:26:5:27 | {} |
| gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | 0 | gen_format_args_expr.rs:6:19:6:20 | {} |
| gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | 1 | gen_format_args_expr.rs:6:26:6:29 | {:?} |
| gen_format_args_expr.rs:7:17:7:43 | FormatArgsExpr | 0 | gen_format_args_expr.rs:7:19:7:21 | {b} |

View File

@@ -1,4 +1,6 @@
| gen_format.rs:5:14:5:32 | FormatArgsExpr | gen_format.rs:5:14:5:23 | "Hello {}\\n" |
| gen_format.rs:7:14:7:47 | FormatArgsExpr | gen_format.rs:7:14:7:47 | "Value {value:#width$.precisio... |
| gen_format_args_arg.rs:5:17:5:39 | FormatArgsExpr | gen_format_args_arg.rs:5:18:5:29 | "Hello, {}!" |
| gen_format_args_expr.rs:5:17:5:27 | FormatArgsExpr | gen_format_args_expr.rs:5:18:5:26 | "no args" |
| gen_format_args_expr.rs:6:17:6:37 | FormatArgsExpr | gen_format_args_expr.rs:6:18:6:30 | "{} foo {:?}" |
| gen_format_args_expr.rs:7:17:7:43 | FormatArgsExpr | gen_format_args_expr.rs:7:18:7:32 | "{b} foo {a:?}" |

View File

@@ -1,3 +1,6 @@
| gen_format.rs:7:22:7:26 | value | getParent: | gen_format.rs:7:21:7:46 | {value:#width$.precision$} | hasVariable: | yes |
| gen_format.rs:7:29:7:33 | width | getParent: | gen_format.rs:7:21:7:46 | {value:#width$.precision$} | hasVariable: | yes |
| gen_format.rs:7:36:7:44 | precision | getParent: | gen_format.rs:7:21:7:46 | {value:#width$.precision$} | hasVariable: | yes |
| gen_format_args_expr.rs:7:20:7:20 | b | getParent: | gen_format_args_expr.rs:7:19:7:21 | {b} | hasVariable: | no |
| gen_format_args_expr.rs:7:28:7:28 | a | getParent: | gen_format_args_expr.rs:7:27:7:31 | {a:?} | hasVariable: | no |
| gen_format_args_expr.rs:9:20:9:20 | x | getParent: | gen_format_args_expr.rs:9:19:9:21 | {x} | hasVariable: | yes |

View File

@@ -1,3 +1,6 @@
| gen_format.rs:7:22:7:26 | value | gen_format.rs:7:22:7:26 | value |
| gen_format.rs:7:29:7:33 | width | gen_format.rs:7:29:7:33 | width |
| gen_format.rs:7:36:7:44 | precision | gen_format.rs:7:36:7:44 | precision |
| gen_format_args_expr.rs:9:20:9:20 | x | gen_format_args_expr.rs:9:20:9:20 | x |
| gen_format_args_expr.rs:9:25:9:25 | y | gen_format_args_expr.rs:9:25:9:25 | y |
| gen_format_argument.rs:5:22:5:26 | value | gen_format_argument.rs:5:22:5:26 | value |

View File

@@ -1,3 +1,6 @@
| gen_format.rs:7:22:7:26 | value |
| gen_format.rs:7:29:7:33 | width |
| gen_format.rs:7:36:7:44 | precision |
| gen_format_args_expr.rs:9:20:9:20 | x |
| gen_format_args_expr.rs:9:25:9:25 | y |
| gen_format_argument.rs:5:22:5:26 | value |

View File

@@ -1,3 +1,6 @@
| gen_format.rs:7:21:7:46 | {value:#width$.precision$} | gen_format.rs:7:22:7:26 | value |
| gen_format.rs:7:21:7:46 | {value:#width$.precision$} | gen_format.rs:7:29:7:33 | width |
| gen_format.rs:7:21:7:46 | {value:#width$.precision$} | gen_format.rs:7:36:7:44 | precision |
| gen_format_args_expr.rs:7:19:7:21 | {b} | gen_format_args_expr.rs:7:20:7:20 | b |
| gen_format_args_expr.rs:7:27:7:31 | {a:?} | gen_format_args_expr.rs:7:28:7:28 | a |
| gen_format_args_expr.rs:9:19:9:21 | {x} | gen_format_args_expr.rs:9:20:9:20 | x |

View File

@@ -752,15 +752,18 @@ edges
| test.rs:344:23:344:23 | a | test.rs:344:13:344:19 | Some(...) | |
| test.rs:344:32:344:54 | ...::panic_fmt | test.rs:344:39:344:53 | "Expected some" | |
| test.rs:344:32:344:54 | MacroExpr | test.rs:344:30:344:56 | { ... } | |
| test.rs:344:32:344:54 | panic!... | test.rs:344:32:344:54 | MacroExpr | |
| test.rs:344:39:344:53 | "Expected some" | test.rs:344:39:344:53 | FormatArgsExpr | |
| test.rs:344:39:344:53 | ...::const_format_args!... | test.rs:344:39:344:53 | MacroExpr | |
| test.rs:344:39:344:53 | ...::panic_2021!... | test.rs:344:39:344:53 | MacroExpr | |
| test.rs:344:39:344:53 | ...::panic_fmt(...) | test.rs:344:39:344:53 | { ... } | |
| test.rs:344:39:344:53 | ExprStmt | test.rs:344:32:344:54 | ...::panic_fmt | |
| test.rs:344:39:344:53 | FormatArgsExpr | test.rs:344:39:344:53 | MacroExpr | |
| test.rs:344:39:344:53 | MacroExpr | test.rs:344:32:344:54 | MacroExpr | |
| test.rs:344:39:344:53 | FormatArgsExpr | test.rs:344:39:344:53 | ...::const_format_args!... | |
| test.rs:344:39:344:53 | MacroExpr | test.rs:344:32:344:54 | panic!... | |
| test.rs:344:39:344:53 | MacroExpr | test.rs:344:39:344:53 | ...::panic_fmt(...) | |
| test.rs:344:39:344:53 | MacroStmts | test.rs:344:39:344:53 | ExprStmt | |
| test.rs:344:39:344:53 | MacroStmts | test.rs:344:39:344:53 | MacroStmts | |
| test.rs:344:39:344:53 | { ... } | test.rs:344:39:344:53 | MacroExpr | |
| test.rs:344:39:344:53 | { ... } | test.rs:344:39:344:53 | ...::panic_2021!... | |
| test.rs:345:9:345:9 | n | test.rs:343:46:346:5 | { ... } | |
| test.rs:348:5:354:5 | enter fn test_let_with_return | test.rs:348:29:348:29 | m | |
| test.rs:348:5:354:5 | exit fn test_let_with_return (normal) | test.rs:348:5:354:5 | exit fn test_let_with_return | |
@@ -835,14 +838,16 @@ edges
| test.rs:392:26:394:5 | { ... } | test.rs:392:5:394:5 | exit fn say_hello (normal) | |
| test.rs:393:9:393:33 | ...::_print | test.rs:393:18:393:32 | "hello, world!\\n" | |
| test.rs:393:9:393:33 | MacroExpr | test.rs:392:26:394:5 | { ... } | |
| test.rs:393:9:393:33 | println!... | test.rs:393:9:393:33 | MacroExpr | |
| test.rs:393:9:393:34 | ExprStmt | test.rs:393:18:393:32 | MacroStmts | |
| test.rs:393:18:393:32 | "hello, world!\\n" | test.rs:393:18:393:32 | FormatArgsExpr | |
| test.rs:393:18:393:32 | ...::_print(...) | test.rs:393:18:393:32 | { ... } | |
| test.rs:393:18:393:32 | ...::format_args_nl!... | test.rs:393:18:393:32 | MacroExpr | |
| test.rs:393:18:393:32 | ExprStmt | test.rs:393:9:393:33 | ...::_print | |
| test.rs:393:18:393:32 | FormatArgsExpr | test.rs:393:18:393:32 | MacroExpr | |
| test.rs:393:18:393:32 | FormatArgsExpr | test.rs:393:18:393:32 | ...::format_args_nl!... | |
| test.rs:393:18:393:32 | MacroExpr | test.rs:393:18:393:32 | ...::_print(...) | |
| test.rs:393:18:393:32 | MacroStmts | test.rs:393:18:393:32 | ExprStmt | |
| test.rs:393:18:393:32 | { ... } | test.rs:393:9:393:33 | MacroExpr | |
| test.rs:393:18:393:32 | { ... } | test.rs:393:9:393:33 | println!... | |
| test.rs:396:5:415:5 | enter fn async_block | test.rs:396:26:396:26 | b | |
| test.rs:396:5:415:5 | exit fn async_block (normal) | test.rs:396:5:415:5 | exit fn async_block | |
| test.rs:396:26:396:26 | b | test.rs:396:26:396:32 | ...: bool | match |
@@ -855,14 +860,16 @@ edges
| test.rs:397:26:399:9 | { ... } | test.rs:397:13:397:22 | say_godbye | |
| test.rs:398:13:398:41 | ...::_print | test.rs:398:22:398:40 | "godbye, everyone!\\n" | |
| test.rs:398:13:398:41 | MacroExpr | test.rs:397:26:399:9 | exit { ... } (normal) | |
| test.rs:398:13:398:41 | println!... | test.rs:398:13:398:41 | MacroExpr | |
| test.rs:398:13:398:42 | ExprStmt | test.rs:398:22:398:40 | MacroStmts | |
| test.rs:398:22:398:40 | "godbye, everyone!\\n" | test.rs:398:22:398:40 | FormatArgsExpr | |
| test.rs:398:22:398:40 | ...::_print(...) | test.rs:398:22:398:40 | { ... } | |
| test.rs:398:22:398:40 | ...::format_args_nl!... | test.rs:398:22:398:40 | MacroExpr | |
| test.rs:398:22:398:40 | ExprStmt | test.rs:398:13:398:41 | ...::_print | |
| test.rs:398:22:398:40 | FormatArgsExpr | test.rs:398:22:398:40 | MacroExpr | |
| test.rs:398:22:398:40 | FormatArgsExpr | test.rs:398:22:398:40 | ...::format_args_nl!... | |
| test.rs:398:22:398:40 | MacroExpr | test.rs:398:22:398:40 | ...::_print(...) | |
| test.rs:398:22:398:40 | MacroStmts | test.rs:398:22:398:40 | ExprStmt | |
| test.rs:398:22:398:40 | { ... } | test.rs:398:13:398:41 | MacroExpr | |
| test.rs:398:22:398:40 | { ... } | test.rs:398:13:398:41 | println!... | |
| test.rs:400:9:402:10 | let ... = ... | test.rs:400:31:402:9 | { ... } | |
| test.rs:400:13:400:27 | say_how_are_you | test.rs:403:9:403:28 | let ... = ... | match |
| test.rs:400:31:402:9 | enter { ... } | test.rs:401:13:401:37 | ExprStmt | |
@@ -870,14 +877,16 @@ edges
| test.rs:400:31:402:9 | { ... } | test.rs:400:13:400:27 | say_how_are_you | |
| test.rs:401:13:401:36 | ...::_print | test.rs:401:22:401:35 | "how are you?\\n" | |
| test.rs:401:13:401:36 | MacroExpr | test.rs:400:31:402:9 | exit { ... } (normal) | |
| test.rs:401:13:401:36 | println!... | test.rs:401:13:401:36 | MacroExpr | |
| test.rs:401:13:401:37 | ExprStmt | test.rs:401:22:401:35 | MacroStmts | |
| test.rs:401:22:401:35 | "how are you?\\n" | test.rs:401:22:401:35 | FormatArgsExpr | |
| test.rs:401:22:401:35 | ...::_print(...) | test.rs:401:22:401:35 | { ... } | |
| test.rs:401:22:401:35 | ...::format_args_nl!... | test.rs:401:22:401:35 | MacroExpr | |
| test.rs:401:22:401:35 | ExprStmt | test.rs:401:13:401:36 | ...::_print | |
| test.rs:401:22:401:35 | FormatArgsExpr | test.rs:401:22:401:35 | MacroExpr | |
| test.rs:401:22:401:35 | FormatArgsExpr | test.rs:401:22:401:35 | ...::format_args_nl!... | |
| test.rs:401:22:401:35 | MacroExpr | test.rs:401:22:401:35 | ...::_print(...) | |
| test.rs:401:22:401:35 | MacroStmts | test.rs:401:22:401:35 | ExprStmt | |
| test.rs:401:22:401:35 | { ... } | test.rs:401:13:401:36 | MacroExpr | |
| test.rs:401:22:401:35 | { ... } | test.rs:401:13:401:36 | println!... | |
| test.rs:403:9:403:28 | let ... = ... | test.rs:403:20:403:27 | { ... } | |
| test.rs:403:13:403:16 | noop | test.rs:404:9:404:26 | ExprStmt | match |
| test.rs:403:20:403:27 | { ... } | test.rs:403:13:403:16 | noop | |
@@ -927,6 +936,7 @@ edges
| test.rs:427:41:435:5 | { ... } | test.rs:427:5:435:5 | exit fn const_block_assert (normal) | |
| test.rs:430:9:432:9 | ExprStmt | test.rs:431:13:431:50 | ExprStmt | |
| test.rs:430:9:432:9 | { ... } | test.rs:434:9:434:10 | 42 | |
| test.rs:431:13:431:49 | ...::panic_2021!... | test.rs:431:13:431:49 | MacroExpr | |
| test.rs:431:13:431:49 | ...::panic_explicit | test.rs:431:13:431:49 | ...::panic_explicit(...) | |
| test.rs:431:13:431:49 | ...::panic_explicit(...) | test.rs:431:13:431:49 | { ... } | |
| test.rs:431:13:431:49 | ExprStmt | test.rs:431:13:431:49 | MacroStmts | |
@@ -934,12 +944,13 @@ edges
| test.rs:431:13:431:49 | MacroExpr | test.rs:430:9:432:9 | { ... } | |
| test.rs:431:13:431:49 | MacroExpr | test.rs:431:13:431:49 | { ... } | |
| test.rs:431:13:431:49 | MacroStmts | test.rs:431:13:431:49 | fn panic_cold_explicit | |
| test.rs:431:13:431:49 | assert!... | test.rs:431:13:431:49 | MacroExpr | |
| test.rs:431:13:431:49 | enter fn panic_cold_explicit | test.rs:431:13:431:49 | ...::panic_explicit | |
| test.rs:431:13:431:49 | exit fn panic_cold_explicit (normal) | test.rs:431:13:431:49 | exit fn panic_cold_explicit | |
| test.rs:431:13:431:49 | fn panic_cold_explicit | test.rs:431:13:431:49 | ExprStmt | |
| test.rs:431:13:431:49 | panic_cold_explicit | test.rs:431:13:431:49 | panic_cold_explicit(...) | |
| test.rs:431:13:431:49 | panic_cold_explicit(...) | test.rs:431:13:431:49 | { ... } | |
| test.rs:431:13:431:49 | { ... } | test.rs:431:13:431:49 | MacroExpr | |
| test.rs:431:13:431:49 | { ... } | test.rs:431:13:431:49 | ...::panic_2021!... | |
| test.rs:431:13:431:49 | { ... } | test.rs:431:13:431:49 | exit fn panic_cold_explicit (normal) | |
| test.rs:431:13:431:49 | { ... } | test.rs:431:21:431:48 | if ... {...} | |
| test.rs:431:13:431:50 | ExprStmt | test.rs:431:21:431:48 | MacroStmts | |
@@ -951,7 +962,7 @@ edges
| test.rs:431:21:431:48 | [boolean(false)] ! ... | test.rs:431:21:431:48 | if ... {...} | false |
| test.rs:431:21:431:48 | [boolean(true)] ! ... | test.rs:431:13:431:49 | ExprStmt | true |
| test.rs:431:21:431:48 | if ... {...} | test.rs:431:21:431:48 | { ... } | |
| test.rs:431:21:431:48 | { ... } | test.rs:431:13:431:49 | MacroExpr | |
| test.rs:431:21:431:48 | { ... } | test.rs:431:13:431:49 | assert!... | |
| test.rs:431:48:431:48 | 0 | test.rs:431:21:431:48 | ... > ... | |
| test.rs:434:9:434:10 | 42 | test.rs:427:41:435:5 | { ... } | |
| test.rs:437:5:446:5 | enter fn const_block_panic | test.rs:438:9:438:30 | Const | |

View File

@@ -0,0 +1,2 @@
edges
#select

View File

@@ -0,0 +1,122 @@
localStep
| main.rs:5:11:5:11 | [SSA] i | main.rs:6:19:6:19 | i |
| main.rs:5:11:5:11 | i | main.rs:5:11:5:11 | [SSA] i |
| main.rs:5:11:5:16 | ...: i64 | main.rs:5:11:5:11 | i |
| main.rs:6:5:6:20 | MacroExpr | main.rs:5:29:7:1 | { ... } |
| main.rs:6:5:6:20 | res | main.rs:6:13:6:19 | { ... } |
| main.rs:6:13:6:19 | ...::format(...) | main.rs:6:5:6:20 | res |
| main.rs:6:13:6:19 | FormatArgsExpr | main.rs:6:13:6:19 | MacroExpr |
| main.rs:6:13:6:19 | { ... } | main.rs:6:13:6:19 | ...::must_use(...) |
| main.rs:9:17:9:17 | [SSA] i | main.rs:10:5:10:5 | i |
| main.rs:9:17:9:17 | i | main.rs:9:17:9:17 | [SSA] i |
| main.rs:9:17:9:24 | ...: usize | main.rs:9:17:9:17 | i |
| main.rs:10:5:10:5 | i | main.rs:9:36:11:1 | { ... } |
| main.rs:13:17:13:23 | ...: i64 | main.rs:13:17:13:18 | _i |
| main.rs:14:5:14:12 | "source" | main.rs:13:42:15:1 | { ... } |
| main.rs:17:15:17:15 | [SSA] s | main.rs:18:20:18:20 | s |
| main.rs:17:15:17:15 | s | main.rs:17:15:17:15 | [SSA] s |
| main.rs:17:15:17:21 | ...: ... | main.rs:17:15:17:15 | s |
| main.rs:18:14:18:20 | FormatArgsExpr | main.rs:18:14:18:20 | MacroExpr |
| main.rs:21:9:21:9 | [SSA] s | main.rs:22:20:22:20 | s |
| main.rs:21:9:21:9 | s | main.rs:21:9:21:9 | [SSA] s |
| main.rs:21:9:21:17 | ...: String | main.rs:21:9:21:9 | s |
| main.rs:22:14:22:20 | FormatArgsExpr | main.rs:22:14:22:20 | MacroExpr |
| main.rs:26:9:26:9 | [SSA] s | main.rs:27:19:27:19 | s |
| main.rs:26:9:26:9 | s | main.rs:26:9:26:9 | [SSA] s |
| main.rs:26:13:26:22 | source(...) | main.rs:26:9:26:9 | s |
| main.rs:27:9:27:14 | [SSA] sliced | main.rs:28:16:28:21 | sliced |
| main.rs:27:9:27:14 | sliced | main.rs:27:9:27:14 | [SSA] sliced |
| main.rs:27:18:27:25 | &... | main.rs:27:9:27:14 | sliced |
| main.rs:32:9:32:10 | [SSA] s1 | main.rs:35:14:35:15 | s1 |
| main.rs:32:9:32:10 | s1 | main.rs:32:9:32:10 | [SSA] s1 |
| main.rs:32:14:32:23 | source(...) | main.rs:32:9:32:10 | s1 |
| main.rs:33:9:33:10 | [SSA] s2 | main.rs:36:14:36:15 | s2 |
| main.rs:33:9:33:10 | s2 | main.rs:33:9:33:10 | [SSA] s2 |
| main.rs:33:14:33:27 | "2".to_owned(...) | main.rs:33:9:33:10 | s2 |
| main.rs:34:9:34:10 | [SSA] s3 | main.rs:35:19:35:20 | s3 |
| main.rs:34:9:34:10 | s3 | main.rs:34:9:34:10 | [SSA] s3 |
| main.rs:34:14:34:16 | "3" | main.rs:34:9:34:10 | s3 |
| main.rs:35:9:35:10 | [SSA] s4 | main.rs:38:10:38:11 | s4 |
| main.rs:35:9:35:10 | s4 | main.rs:35:9:35:10 | [SSA] s4 |
| main.rs:35:14:35:20 | ... + ... | main.rs:35:9:35:10 | s4 |
| main.rs:35:19:35:20 | s3 | main.rs:36:19:36:20 | s3 |
| main.rs:36:9:36:10 | [SSA] s5 | main.rs:39:10:39:11 | s5 |
| main.rs:36:9:36:10 | s5 | main.rs:36:9:36:10 | [SSA] s5 |
| main.rs:36:14:36:20 | ... + ... | main.rs:36:9:36:10 | s5 |
| main.rs:43:9:43:10 | [SSA] s1 | main.rs:46:34:46:35 | s1 |
| main.rs:43:9:43:10 | s1 | main.rs:43:9:43:10 | [SSA] s1 |
| main.rs:43:14:43:23 | source(...) | main.rs:43:9:43:10 | s1 |
| main.rs:44:9:44:10 | [SSA] s2 | main.rs:47:34:47:35 | s2 |
| main.rs:44:9:44:10 | s2 | main.rs:44:9:44:10 | [SSA] s2 |
| main.rs:44:14:44:28 | "1".to_string(...) | main.rs:44:9:44:10 | s2 |
| main.rs:51:9:51:10 | [SSA] s1 | main.rs:52:27:52:28 | s1 |
| main.rs:51:9:51:10 | s1 | main.rs:51:9:51:10 | [SSA] s1 |
| main.rs:51:14:51:29 | source_slice(...) | main.rs:51:9:51:10 | s1 |
| main.rs:52:9:52:10 | [SSA] s2 | main.rs:53:10:53:11 | s2 |
| main.rs:52:9:52:10 | s2 | main.rs:52:9:52:10 | [SSA] s2 |
| main.rs:52:14:52:29 | ...::from(...) | main.rs:52:9:52:10 | s2 |
| main.rs:57:9:57:10 | [SSA] s1 | main.rs:58:14:58:15 | s1 |
| main.rs:57:9:57:10 | s1 | main.rs:57:9:57:10 | [SSA] s1 |
| main.rs:57:14:57:29 | source_slice(...) | main.rs:57:9:57:10 | s1 |
| main.rs:58:9:58:10 | [SSA] s2 | main.rs:59:10:59:11 | s2 |
| main.rs:58:9:58:10 | s2 | main.rs:58:9:58:10 | [SSA] s2 |
| main.rs:58:14:58:27 | s1.to_string(...) | main.rs:58:9:58:10 | s2 |
| main.rs:63:9:63:9 | [SSA] s | main.rs:64:16:64:16 | s |
| main.rs:63:9:63:9 | s | main.rs:63:9:63:9 | [SSA] s |
| main.rs:63:13:63:22 | source(...) | main.rs:63:9:63:9 | s |
| main.rs:68:9:68:9 | [SSA] s | main.rs:70:60:70:60 | s |
| main.rs:68:9:68:9 | s | main.rs:68:9:68:9 | [SSA] s |
| main.rs:68:13:68:22 | source(...) | main.rs:68:9:68:9 | s |
| main.rs:70:9:70:18 | [SSA] formatted1 | main.rs:71:10:71:19 | formatted1 |
| main.rs:70:9:70:18 | formatted1 | main.rs:70:9:70:18 | [SSA] formatted1 |
| main.rs:70:22:70:62 | ...::format(...) | main.rs:70:9:70:18 | formatted1 |
| main.rs:70:46:70:61 | FormatArgsExpr | main.rs:70:34:70:61 | MacroExpr |
| main.rs:70:60:70:60 | s | main.rs:73:55:73:55 | s |
| main.rs:73:9:73:18 | [SSA] formatted2 | main.rs:74:10:74:19 | formatted2 |
| main.rs:73:9:73:18 | formatted2 | main.rs:73:9:73:18 | [SSA] formatted2 |
| main.rs:73:22:73:60 | ...::format(...) | main.rs:73:9:73:18 | formatted2 |
| main.rs:73:46:73:59 | FormatArgsExpr | main.rs:73:34:73:59 | MacroExpr |
| main.rs:76:9:76:13 | [SSA] width | main.rs:77:56:77:60 | width |
| main.rs:76:9:76:13 | width | main.rs:76:9:76:13 | [SSA] width |
| main.rs:76:17:76:32 | source_usize(...) | main.rs:76:9:76:13 | width |
| main.rs:77:9:77:18 | [SSA] formatted3 | main.rs:78:10:78:19 | formatted3 |
| main.rs:77:9:77:18 | formatted3 | main.rs:77:9:77:18 | [SSA] formatted3 |
| main.rs:77:22:77:75 | ...::format(...) | main.rs:77:9:77:18 | formatted3 |
| main.rs:77:46:77:74 | FormatArgsExpr | main.rs:77:34:77:74 | MacroExpr |
| main.rs:82:9:82:10 | [SSA] s1 | main.rs:86:24:86:25 | s1 |
| main.rs:82:9:82:10 | s1 | main.rs:82:9:82:10 | [SSA] s1 |
| main.rs:82:14:82:23 | source(...) | main.rs:82:9:82:10 | s1 |
| main.rs:83:9:83:10 | [SSA] s2 | main.rs:88:20:88:21 | s2 |
| main.rs:83:9:83:10 | s2 | main.rs:83:9:83:10 | [SSA] s2 |
| main.rs:83:14:83:16 | "2" | main.rs:83:9:83:10 | s2 |
| main.rs:84:9:84:10 | [SSA] s3 | main.rs:87:29:87:30 | s3 |
| main.rs:84:9:84:10 | s3 | main.rs:84:9:84:10 | [SSA] s3 |
| main.rs:84:14:84:16 | "3" | main.rs:84:9:84:10 | s3 |
| main.rs:86:10:86:26 | res | main.rs:86:18:86:25 | { ... } |
| main.rs:86:18:86:25 | ...::format(...) | main.rs:86:10:86:26 | res |
| main.rs:86:18:86:25 | ...::must_use(...) | main.rs:86:10:86:26 | MacroExpr |
| main.rs:86:18:86:25 | FormatArgsExpr | main.rs:86:18:86:25 | MacroExpr |
| main.rs:86:18:86:25 | { ... } | main.rs:86:18:86:25 | ...::must_use(...) |
| main.rs:86:24:86:25 | s1 | main.rs:87:20:87:21 | s1 |
| main.rs:87:10:87:33 | res | main.rs:87:18:87:32 | { ... } |
| main.rs:87:18:87:32 | ...::format(...) | main.rs:87:10:87:33 | res |
| main.rs:87:18:87:32 | ...::must_use(...) | main.rs:87:10:87:33 | MacroExpr |
| main.rs:87:18:87:32 | FormatArgsExpr | main.rs:87:18:87:32 | MacroExpr |
| main.rs:87:18:87:32 | { ... } | main.rs:87:18:87:32 | ...::must_use(...) |
| main.rs:87:29:87:30 | s3 | main.rs:88:29:88:30 | s3 |
| main.rs:88:10:88:33 | res | main.rs:88:18:88:32 | { ... } |
| main.rs:88:18:88:32 | ...::format(...) | main.rs:88:10:88:33 | res |
| main.rs:88:18:88:32 | ...::must_use(...) | main.rs:88:10:88:33 | MacroExpr |
| main.rs:88:18:88:32 | FormatArgsExpr | main.rs:88:18:88:32 | MacroExpr |
| main.rs:88:18:88:32 | { ... } | main.rs:88:18:88:32 | ...::must_use(...) |
storeStep
| file://:0:0:0:0 | [summary] to write: ReturnValue.Variant[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::<crate::blocking::response::Response>::text | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::<crate::blocking::response::Response>::text |
| main.rs:27:19:27:25 | s[...] | &ref | main.rs:27:18:27:25 | &... |
| main.rs:46:34:46:35 | s1 | &ref | main.rs:46:33:46:35 | &s1 |
| main.rs:47:34:47:35 | s2 | &ref | main.rs:47:33:47:35 | &s2 |
readStep
| file://:0:0:0:0 | [summary param] self in lang:core::_::<crate::option::Option>::unwrap | Some | file://:0:0:0:0 | [summary] read: Argument[self].Variant[crate::option::Option::Some(0)] in lang:core::_::<crate::option::Option>::unwrap |
| file://:0:0:0:0 | [summary param] self in lang:core::_::<crate::option::Option>::unwrap_or | Some | file://:0:0:0:0 | [summary] read: Argument[self].Variant[crate::option::Option::Some(0)] in lang:core::_::<crate::option::Option>::unwrap_or |
| file://:0:0:0:0 | [summary param] self in lang:core::_::<crate::result::Result>::unwrap | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Variant[crate::result::Result::Ok(0)] in lang:core::_::<crate::result::Result>::unwrap |
| file://:0:0:0:0 | [summary param] self in lang:core::_::<crate::result::Result>::unwrap_or | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Variant[crate::result::Result::Ok(0)] in lang:core::_::<crate::result::Result>::unwrap_or |
| main.rs:27:19:27:19 | s | array[] | main.rs:27:19:27:25 | s[...] |

View File

@@ -1,13 +1,19 @@
| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::crate::fmt::format | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::crate::fmt::format | MaD:9 |
| file://:0:0:0:0 | [summary param] self in lang:alloc::_::<crate::string::String>::as_str | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::<crate::string::String>::as_str | MaD:7 |
| file://:0:0:0:0 | [summary param] self in repo:https://github.com/seanmonstar/reqwest:reqwest::_::<crate::blocking::response::Response>::text | file://:0:0:0:0 | [summary] to write: ReturnValue.Variant[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::<crate::blocking::response::Response>::text | MaD:0 |
| main.rs:4:5:4:8 | 1000 | main.rs:4:5:4:12 | ... + ... | |
| main.rs:4:12:4:12 | i | main.rs:4:5:4:12 | ... + ... | |
| main.rs:8:20:8:20 | s | main.rs:8:14:8:20 | FormatArgsExpr | |
| main.rs:13:10:13:10 | a | main.rs:13:10:13:14 | ... + ... | |
| main.rs:13:14:13:14 | 1 | main.rs:13:10:13:14 | ... + ... | |
| main.rs:18:11:18:11 | a | main.rs:18:10:18:11 | - ... | |
| main.rs:23:13:23:13 | a | main.rs:23:13:23:19 | a as u8 | |
| main.rs:24:10:24:10 | b | main.rs:24:10:24:17 | b as i64 | |
| main.rs:29:23:29:23 | i | main.rs:29:17:29:23 | FormatArgsExpr | |
| main.rs:33:24:33:24 | s | main.rs:33:18:33:24 | FormatArgsExpr | |
| main.rs:38:23:38:23 | s | main.rs:38:23:38:29 | s[...] | |
| main.rs:49:24:49:24 | i | main.rs:49:18:49:24 | FormatArgsExpr | |
| main.rs:54:14:54:16 | arr | main.rs:54:14:54:19 | arr[1] | |
| main.rs:64:24:64:24 | s | main.rs:64:24:64:27 | s[1] | |
| main.rs:64:24:64:27 | s[1] | main.rs:64:18:64:27 | FormatArgsExpr | |
| main.rs:69:9:69:12 | arr2 | main.rs:69:9:69:15 | arr2[1] | |

View File

@@ -6,14 +6,16 @@ edges
| variables.rs:3:23:5:1 | { ... } | variables.rs:3:1:5:1 | exit fn print_str (normal) | |
| variables.rs:4:5:4:21 | ...::_print | variables.rs:4:14:4:17 | "{}\\n" | |
| variables.rs:4:5:4:21 | MacroExpr | variables.rs:3:23:5:1 | { ... } | |
| variables.rs:4:5:4:21 | println!... | variables.rs:4:5:4:21 | MacroExpr | |
| variables.rs:4:5:4:22 | ExprStmt | variables.rs:4:14:4:20 | MacroStmts | |
| variables.rs:4:14:4:17 | "{}\\n" | variables.rs:4:20:4:20 | s | |
| variables.rs:4:14:4:20 | ...::_print(...) | variables.rs:4:14:4:20 | { ... } | |
| variables.rs:4:14:4:20 | ...::format_args_nl!... | variables.rs:4:14:4:20 | MacroExpr | |
| variables.rs:4:14:4:20 | ExprStmt | variables.rs:4:5:4:21 | ...::_print | |
| variables.rs:4:14:4:20 | FormatArgsExpr | variables.rs:4:14:4:20 | MacroExpr | |
| variables.rs:4:14:4:20 | FormatArgsExpr | variables.rs:4:14:4:20 | ...::format_args_nl!... | |
| variables.rs:4:14:4:20 | MacroExpr | variables.rs:4:14:4:20 | ...::_print(...) | |
| variables.rs:4:14:4:20 | MacroStmts | variables.rs:4:14:4:20 | ExprStmt | |
| variables.rs:4:14:4:20 | { ... } | variables.rs:4:5:4:21 | MacroExpr | |
| variables.rs:4:14:4:20 | { ... } | variables.rs:4:5:4:21 | println!... | |
| variables.rs:4:20:4:20 | s | variables.rs:4:14:4:20 | FormatArgsExpr | |
| variables.rs:7:1:9:1 | enter fn print_i64 | variables.rs:7:14:7:14 | i | |
| variables.rs:7:1:9:1 | exit fn print_i64 (normal) | variables.rs:7:1:9:1 | exit fn print_i64 | |
@@ -22,14 +24,16 @@ edges
| variables.rs:7:22:9:1 | { ... } | variables.rs:7:1:9:1 | exit fn print_i64 (normal) | |
| variables.rs:8:5:8:21 | ...::_print | variables.rs:8:14:8:17 | "{}\\n" | |
| variables.rs:8:5:8:21 | MacroExpr | variables.rs:7:22:9:1 | { ... } | |
| variables.rs:8:5:8:21 | println!... | variables.rs:8:5:8:21 | MacroExpr | |
| variables.rs:8:5:8:22 | ExprStmt | variables.rs:8:14:8:20 | MacroStmts | |
| variables.rs:8:14:8:17 | "{}\\n" | variables.rs:8:20:8:20 | i | |
| variables.rs:8:14:8:20 | ...::_print(...) | variables.rs:8:14:8:20 | { ... } | |
| variables.rs:8:14:8:20 | ...::format_args_nl!... | variables.rs:8:14:8:20 | MacroExpr | |
| variables.rs:8:14:8:20 | ExprStmt | variables.rs:8:5:8:21 | ...::_print | |
| variables.rs:8:14:8:20 | FormatArgsExpr | variables.rs:8:14:8:20 | MacroExpr | |
| variables.rs:8:14:8:20 | FormatArgsExpr | variables.rs:8:14:8:20 | ...::format_args_nl!... | |
| variables.rs:8:14:8:20 | MacroExpr | variables.rs:8:14:8:20 | ...::_print(...) | |
| variables.rs:8:14:8:20 | MacroStmts | variables.rs:8:14:8:20 | ExprStmt | |
| variables.rs:8:14:8:20 | { ... } | variables.rs:8:5:8:21 | MacroExpr | |
| variables.rs:8:14:8:20 | { ... } | variables.rs:8:5:8:21 | println!... | |
| variables.rs:8:20:8:20 | i | variables.rs:8:14:8:20 | FormatArgsExpr | |
| variables.rs:11:1:13:1 | enter fn print_i64_ref | variables.rs:11:18:11:18 | i | |
| variables.rs:11:1:13:1 | exit fn print_i64_ref (normal) | variables.rs:11:1:13:1 | exit fn print_i64_ref | |
@@ -218,9 +222,10 @@ edges
| variables.rs:94:39:94:42 | "x5" | variables.rs:94:34:94:43 | Some(...) | |
| variables.rs:96:13:96:19 | "not yet implemented" | variables.rs:96:13:96:19 | ...::panic(...) | |
| variables.rs:96:13:96:19 | ...::panic | variables.rs:96:13:96:19 | "not yet implemented" | |
| variables.rs:96:13:96:19 | ...::panic(...) | variables.rs:96:13:96:19 | MacroExpr | |
| variables.rs:96:13:96:19 | ...::panic(...) | variables.rs:96:13:96:19 | todo!... | |
| variables.rs:96:13:96:19 | MacroExpr | variables.rs:95:14:97:9 | { ... } | |
| variables.rs:96:13:96:19 | MacroStmts | variables.rs:96:13:96:19 | ...::panic | |
| variables.rs:96:13:96:19 | todo!... | variables.rs:96:13:96:19 | MacroExpr | |
| variables.rs:98:5:98:13 | print_str | variables.rs:98:15:98:16 | x5 | |
| variables.rs:98:5:98:17 | print_str(...) | variables.rs:93:19:99:1 | { ... } | |
| variables.rs:98:5:98:18 | ExprStmt | variables.rs:98:5:98:13 | print_str | |
@@ -383,13 +388,15 @@ edges
| variables.rs:175:43:177:9 | { ... } | variables.rs:171:5:180:5 | match msg { ... } | |
| variables.rs:176:13:176:52 | ...::_print | variables.rs:176:22:176:51 | "Found an id in another range\\... | |
| variables.rs:176:13:176:52 | MacroExpr | variables.rs:175:43:177:9 | { ... } | |
| variables.rs:176:13:176:52 | println!... | variables.rs:176:13:176:52 | MacroExpr | |
| variables.rs:176:22:176:51 | "Found an id in another range\\... | variables.rs:176:22:176:51 | FormatArgsExpr | |
| variables.rs:176:22:176:51 | ...::_print(...) | variables.rs:176:22:176:51 | { ... } | |
| variables.rs:176:22:176:51 | ...::format_args_nl!... | variables.rs:176:22:176:51 | MacroExpr | |
| variables.rs:176:22:176:51 | ExprStmt | variables.rs:176:13:176:52 | ...::_print | |
| variables.rs:176:22:176:51 | FormatArgsExpr | variables.rs:176:22:176:51 | MacroExpr | |
| variables.rs:176:22:176:51 | FormatArgsExpr | variables.rs:176:22:176:51 | ...::format_args_nl!... | |
| variables.rs:176:22:176:51 | MacroExpr | variables.rs:176:22:176:51 | ...::_print(...) | |
| variables.rs:176:22:176:51 | MacroStmts | variables.rs:176:22:176:51 | ExprStmt | |
| variables.rs:176:22:176:51 | { ... } | variables.rs:176:13:176:52 | MacroExpr | |
| variables.rs:176:22:176:51 | { ... } | variables.rs:176:13:176:52 | println!... | |
| variables.rs:178:9:178:29 | ...::Hello {...} | variables.rs:178:26:178:27 | id | match |
| variables.rs:178:26:178:27 | id | variables.rs:179:13:179:21 | print_i64 | match |
| variables.rs:179:13:179:21 | print_i64 | variables.rs:179:23:179:24 | id | |
@@ -1237,11 +1244,12 @@ edges
| variables.rs:554:5:555:26 | let ... = ... | variables.rs:555:23:555:24 | let ... = 37 | |
| variables.rs:554:9:554:22 | var_from_macro | variables.rs:556:5:556:30 | ExprStmt | match |
| variables.rs:555:9:555:25 | MacroExpr | variables.rs:554:9:554:22 | var_from_macro | |
| variables.rs:555:9:555:25 | let_in_macro!... | variables.rs:555:9:555:25 | MacroExpr | |
| variables.rs:555:9:555:25 | var_in_macro | variables.rs:555:9:555:25 | var_in_macro | match |
| variables.rs:555:9:555:25 | var_in_macro | variables.rs:555:23:555:24 | { ... } | |
| variables.rs:555:23:555:24 | 37 | variables.rs:555:9:555:25 | var_in_macro | |
| variables.rs:555:23:555:24 | let ... = 37 | variables.rs:555:23:555:24 | 37 | |
| variables.rs:555:23:555:24 | { ... } | variables.rs:555:9:555:25 | MacroExpr | |
| variables.rs:555:23:555:24 | { ... } | variables.rs:555:9:555:25 | let_in_macro!... | |
| variables.rs:556:5:556:13 | print_i64 | variables.rs:556:15:556:28 | var_from_macro | |
| variables.rs:556:5:556:29 | print_i64(...) | variables.rs:553:23:557:1 | { ... } | |
| variables.rs:556:5:556:30 | ExprStmt | variables.rs:556:5:556:13 | print_i64 | |