Skip to content

Commit 846666e

Browse files
committed
Rust: Update comment.
1 parent ac0cf1a commit 846666e

4 files changed

Lines changed: 96 additions & 102 deletions

File tree

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
| main.rs:13:10:13:25 | FormatArgsExpr | 1 |
22
| main.rs:16:10:16:23 | FormatArgsExpr | 0 |
33
| main.rs:19:13:19:36 | FormatArgsExpr | 1 |
4-
| main.rs:33:25:33:33 | FormatArgsExpr | 1 |
5-
| main.rs:44:40:44:46 | FormatArgsExpr | 0 |
6-
| main.rs:49:52:49:58 | FormatArgsExpr | 0 |
7-
| main.rs:55:13:55:33 | FormatArgsExpr | 1 |
8-
| main.rs:60:13:60:33 | FormatArgsExpr | 0 |
9-
| main.rs:70:5:70:27 | FormatArgsExpr | 1 |
10-
| main.rs:71:5:71:26 | FormatArgsExpr | 0 |
11-
| main.rs:72:5:72:25 | FormatArgsExpr | 1 |
12-
| main.rs:73:5:73:24 | FormatArgsExpr | 0 |
4+
| main.rs:27:25:27:33 | FormatArgsExpr | 1 |
5+
| main.rs:38:40:38:46 | FormatArgsExpr | 0 |
6+
| main.rs:43:52:43:58 | FormatArgsExpr | 0 |
7+
| main.rs:49:13:49:33 | FormatArgsExpr | 1 |
8+
| main.rs:54:13:54:33 | FormatArgsExpr | 0 |
9+
| main.rs:64:5:64:27 | FormatArgsExpr | 1 |
10+
| main.rs:65:5:65:26 | FormatArgsExpr | 0 |
11+
| main.rs:66:5:66:25 | FormatArgsExpr | 1 |
12+
| main.rs:67:5:67:24 | FormatArgsExpr | 0 |
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
#select
2-
| main.rs:70:5:70:27 | FormatArgsExpr | main.rs:68:19:68:45 | ...::var(...) | main.rs:70:5:70:27 | FormatArgsExpr | Log entry depends on a $@. | main.rs:68:19:68:45 | ...::var(...) | user-provided value |
3-
| main.rs:71:5:71:26 | FormatArgsExpr | main.rs:68:19:68:45 | ...::var(...) | main.rs:71:5:71:26 | FormatArgsExpr | Log entry depends on a $@. | main.rs:68:19:68:45 | ...::var(...) | user-provided value |
4-
| main.rs:72:5:72:25 | FormatArgsExpr | main.rs:68:19:68:45 | ...::var(...) | main.rs:72:5:72:25 | FormatArgsExpr | Log entry depends on a $@. | main.rs:68:19:68:45 | ...::var(...) | user-provided value |
5-
| main.rs:73:5:73:24 | FormatArgsExpr | main.rs:68:19:68:45 | ...::var(...) | main.rs:73:5:73:24 | FormatArgsExpr | Log entry depends on a $@. | main.rs:68:19:68:45 | ...::var(...) | user-provided value |
2+
| main.rs:64:5:64:27 | FormatArgsExpr | main.rs:62:19:62:45 | ...::var(...) | main.rs:64:5:64:27 | FormatArgsExpr | Log entry depends on a $@. | main.rs:62:19:62:45 | ...::var(...) | user-provided value |
3+
| main.rs:65:5:65:26 | FormatArgsExpr | main.rs:62:19:62:45 | ...::var(...) | main.rs:65:5:65:26 | FormatArgsExpr | Log entry depends on a $@. | main.rs:62:19:62:45 | ...::var(...) | user-provided value |
4+
| main.rs:66:5:66:25 | FormatArgsExpr | main.rs:62:19:62:45 | ...::var(...) | main.rs:66:5:66:25 | FormatArgsExpr | Log entry depends on a $@. | main.rs:62:19:62:45 | ...::var(...) | user-provided value |
5+
| main.rs:67:5:67:24 | FormatArgsExpr | main.rs:62:19:62:45 | ...::var(...) | main.rs:67:5:67:24 | FormatArgsExpr | Log entry depends on a $@. | main.rs:62:19:62:45 | ...::var(...) | user-provided value |
66
edges
7-
| main.rs:68:9:68:15 | tainted | main.rs:70:5:70:27 | FormatArgsExpr | provenance | Sink:MaD:2 |
8-
| main.rs:68:9:68:15 | tainted | main.rs:71:5:71:26 | FormatArgsExpr | provenance | Sink:MaD:1 |
9-
| main.rs:68:9:68:15 | tainted | main.rs:72:5:72:25 | FormatArgsExpr | provenance | Sink:MaD:2 |
10-
| main.rs:68:9:68:15 | tainted | main.rs:73:5:73:24 | FormatArgsExpr | provenance | Sink:MaD:1 |
11-
| main.rs:68:19:68:45 | ...::var(...) | main.rs:68:19:68:45 | ...::var(...) [Ok] | provenance | Src:MaD:3 |
12-
| main.rs:68:19:68:45 | ...::var(...) [Ok] | main.rs:68:19:68:65 | ... .unwrap_or_default() | provenance | MaD:4 |
13-
| main.rs:68:19:68:65 | ... .unwrap_or_default() | main.rs:68:9:68:15 | tainted | provenance | |
7+
| main.rs:62:9:62:15 | tainted | main.rs:64:5:64:27 | FormatArgsExpr | provenance | Sink:MaD:2 |
8+
| main.rs:62:9:62:15 | tainted | main.rs:65:5:65:26 | FormatArgsExpr | provenance | Sink:MaD:1 |
9+
| main.rs:62:9:62:15 | tainted | main.rs:66:5:66:25 | FormatArgsExpr | provenance | Sink:MaD:2 |
10+
| main.rs:62:9:62:15 | tainted | main.rs:67:5:67:24 | FormatArgsExpr | provenance | Sink:MaD:1 |
11+
| main.rs:62:19:62:45 | ...::var(...) | main.rs:62:19:62:45 | ...::var(...) [Ok] | provenance | Src:MaD:3 |
12+
| main.rs:62:19:62:45 | ...::var(...) [Ok] | main.rs:62:19:62:65 | ... .unwrap_or_default() | provenance | MaD:4 |
13+
| main.rs:62:19:62:65 | ... .unwrap_or_default() | main.rs:62:9:62:15 | tainted | provenance | |
1414
models
1515
| 1 | Sink: std::io::stdio::_eprint; Argument[0]; log-injection |
1616
| 2 | Sink: std::io::stdio::_print; Argument[0]; log-injection |
1717
| 3 | Source: std::env::var; ReturnValue.Field[core::result::Result::Ok(0)]; environment |
1818
| 4 | Summary: <core::result::Result>::unwrap_or_default; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value |
1919
nodes
20-
| main.rs:68:9:68:15 | tainted | semmle.label | tainted |
21-
| main.rs:68:19:68:45 | ...::var(...) | semmle.label | ...::var(...) |
22-
| main.rs:68:19:68:45 | ...::var(...) [Ok] | semmle.label | ...::var(...) [Ok] |
23-
| main.rs:68:19:68:65 | ... .unwrap_or_default() | semmle.label | ... .unwrap_or_default() |
24-
| main.rs:70:5:70:27 | FormatArgsExpr | semmle.label | FormatArgsExpr |
25-
| main.rs:71:5:71:26 | FormatArgsExpr | semmle.label | FormatArgsExpr |
26-
| main.rs:72:5:72:25 | FormatArgsExpr | semmle.label | FormatArgsExpr |
27-
| main.rs:73:5:73:24 | FormatArgsExpr | semmle.label | FormatArgsExpr |
20+
| main.rs:62:9:62:15 | tainted | semmle.label | tainted |
21+
| main.rs:62:19:62:45 | ...::var(...) | semmle.label | ...::var(...) |
22+
| main.rs:62:19:62:45 | ...::var(...) [Ok] | semmle.label | ...::var(...) [Ok] |
23+
| main.rs:62:19:62:65 | ... .unwrap_or_default() | semmle.label | ... .unwrap_or_default() |
24+
| main.rs:64:5:64:27 | FormatArgsExpr | semmle.label | FormatArgsExpr |
25+
| main.rs:65:5:65:26 | FormatArgsExpr | semmle.label | FormatArgsExpr |
26+
| main.rs:66:5:66:25 | FormatArgsExpr | semmle.label | FormatArgsExpr |
27+
| main.rs:67:5:67:24 | FormatArgsExpr | semmle.label | FormatArgsExpr |
2828
subpaths

rust/ql/test/library-tests/format-macros-legacy/inline-taint-flow.expected

Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,34 @@ edges
1818
| main.rs:19:9:19:9 | s | main.rs:20:10:20:10 | s | provenance | |
1919
| main.rs:19:13:19:36 | ...::format(...) | main.rs:19:9:19:9 | s | provenance | |
2020
| main.rs:19:13:19:36 | FormatArgsExpr | main.rs:19:13:19:36 | ...::format(...) | provenance | MaD:4 |
21-
| main.rs:32:9:32:9 | a | main.rs:33:9:33:9 | b | provenance | |
22-
| main.rs:32:13:32:21 | source(...) | main.rs:32:9:32:9 | a | provenance | |
23-
| main.rs:33:9:33:9 | b | main.rs:34:30:34:30 | b | provenance | |
24-
| main.rs:34:9:34:9 | c | main.rs:35:10:35:10 | c | provenance | |
25-
| main.rs:34:13:34:31 | ...::format(...) | main.rs:34:9:34:9 | c | provenance | |
26-
| main.rs:34:30:34:30 | b | main.rs:34:13:34:31 | ...::format(...) | provenance | MaD:4 |
27-
| main.rs:38:9:38:9 | d | main.rs:39:28:39:28 | d | provenance | |
28-
| main.rs:38:13:38:21 | source(...) | main.rs:38:9:38:9 | d | provenance | |
29-
| main.rs:39:13:39:16 | [post] buf1 | main.rs:40:10:40:13 | buf1 | provenance | |
30-
| main.rs:39:28:39:28 | d | main.rs:39:28:39:37 | d.as_str() [&ref] | provenance | MaD:3 |
31-
| main.rs:39:28:39:37 | d.as_str() [&ref] | main.rs:39:13:39:16 | [post] buf1 | provenance | MaD:2 |
32-
| main.rs:43:9:43:9 | e | main.rs:44:28:44:46 | MacroExpr | provenance | |
33-
| main.rs:43:13:43:21 | source(...) | main.rs:43:9:43:9 | e | provenance | |
34-
| main.rs:44:13:44:16 | [post] buf2 | main.rs:45:10:45:13 | buf2 | provenance | |
35-
| main.rs:44:28:44:46 | MacroExpr | main.rs:44:13:44:16 | [post] buf2 | provenance | MaD:1 |
36-
| main.rs:48:9:48:9 | f | main.rs:49:40:49:58 | MacroExpr | provenance | |
37-
| main.rs:48:13:48:21 | source(...) | main.rs:48:9:48:9 | f | provenance | |
38-
| main.rs:49:29:49:37 | [post] &mut buf3 [&ref] | main.rs:49:34:49:37 | [post] buf3 | provenance | |
39-
| main.rs:49:34:49:37 | [post] buf3 | main.rs:50:10:50:13 | buf3 | provenance | |
40-
| main.rs:49:40:49:58 | MacroExpr | main.rs:49:29:49:37 | [post] &mut buf3 [&ref] | provenance | MaD:5 |
41-
| main.rs:54:9:54:9 | g | main.rs:55:13:55:33 | FormatArgsExpr | provenance | |
42-
| main.rs:54:13:54:21 | source(...) | main.rs:54:9:54:9 | g | provenance | |
43-
| main.rs:55:13:55:33 | FormatArgsExpr | main.rs:55:20:55:23 | [post] buf4 | provenance | MaD:1 |
44-
| main.rs:55:20:55:23 | [post] buf4 | main.rs:56:10:56:13 | buf4 | provenance | |
45-
| main.rs:59:9:59:9 | h | main.rs:60:13:60:33 | FormatArgsExpr | provenance | |
46-
| main.rs:59:13:59:21 | source(...) | main.rs:59:9:59:9 | h | provenance | |
47-
| main.rs:60:13:60:33 | FormatArgsExpr | main.rs:60:22:60:25 | [post] buf5 | provenance | MaD:1 |
48-
| main.rs:60:22:60:25 | [post] buf5 | main.rs:61:10:61:13 | buf5 | provenance | |
21+
| main.rs:26:9:26:9 | a | main.rs:27:9:27:9 | b | provenance | |
22+
| main.rs:26:13:26:21 | source(...) | main.rs:26:9:26:9 | a | provenance | |
23+
| main.rs:27:9:27:9 | b | main.rs:28:30:28:30 | b | provenance | |
24+
| main.rs:28:9:28:9 | c | main.rs:29:10:29:10 | c | provenance | |
25+
| main.rs:28:13:28:31 | ...::format(...) | main.rs:28:9:28:9 | c | provenance | |
26+
| main.rs:28:30:28:30 | b | main.rs:28:13:28:31 | ...::format(...) | provenance | MaD:4 |
27+
| main.rs:32:9:32:9 | d | main.rs:33:28:33:28 | d | provenance | |
28+
| main.rs:32:13:32:21 | source(...) | main.rs:32:9:32:9 | d | provenance | |
29+
| main.rs:33:13:33:16 | [post] buf1 | main.rs:34:10:34:13 | buf1 | provenance | |
30+
| main.rs:33:28:33:28 | d | main.rs:33:28:33:37 | d.as_str() [&ref] | provenance | MaD:3 |
31+
| main.rs:33:28:33:37 | d.as_str() [&ref] | main.rs:33:13:33:16 | [post] buf1 | provenance | MaD:2 |
32+
| main.rs:37:9:37:9 | e | main.rs:38:28:38:46 | MacroExpr | provenance | |
33+
| main.rs:37:13:37:21 | source(...) | main.rs:37:9:37:9 | e | provenance | |
34+
| main.rs:38:13:38:16 | [post] buf2 | main.rs:39:10:39:13 | buf2 | provenance | |
35+
| main.rs:38:28:38:46 | MacroExpr | main.rs:38:13:38:16 | [post] buf2 | provenance | MaD:1 |
36+
| main.rs:42:9:42:9 | f | main.rs:43:40:43:58 | MacroExpr | provenance | |
37+
| main.rs:42:13:42:21 | source(...) | main.rs:42:9:42:9 | f | provenance | |
38+
| main.rs:43:29:43:37 | [post] &mut buf3 [&ref] | main.rs:43:34:43:37 | [post] buf3 | provenance | |
39+
| main.rs:43:34:43:37 | [post] buf3 | main.rs:44:10:44:13 | buf3 | provenance | |
40+
| main.rs:43:40:43:58 | MacroExpr | main.rs:43:29:43:37 | [post] &mut buf3 [&ref] | provenance | MaD:5 |
41+
| main.rs:48:9:48:9 | g | main.rs:49:13:49:33 | FormatArgsExpr | provenance | |
42+
| main.rs:48:13:48:21 | source(...) | main.rs:48:9:48:9 | g | provenance | |
43+
| main.rs:49:13:49:33 | FormatArgsExpr | main.rs:49:20:49:23 | [post] buf4 | provenance | MaD:1 |
44+
| main.rs:49:20:49:23 | [post] buf4 | main.rs:50:10:50:13 | buf4 | provenance | |
45+
| main.rs:53:9:53:9 | h | main.rs:54:13:54:33 | FormatArgsExpr | provenance | |
46+
| main.rs:53:13:53:21 | source(...) | main.rs:53:9:53:9 | h | provenance | |
47+
| main.rs:54:13:54:33 | FormatArgsExpr | main.rs:54:22:54:25 | [post] buf5 | provenance | MaD:1 |
48+
| main.rs:54:22:54:25 | [post] buf5 | main.rs:55:10:55:13 | buf5 | provenance | |
4949
nodes
5050
| main.rs:12:9:12:9 | a | semmle.label | a |
5151
| main.rs:12:13:12:21 | source(...) | semmle.label | source(...) |
@@ -63,49 +63,49 @@ nodes
6363
| main.rs:19:13:19:36 | ...::format(...) | semmle.label | ...::format(...) |
6464
| main.rs:19:13:19:36 | FormatArgsExpr | semmle.label | FormatArgsExpr |
6565
| main.rs:20:10:20:10 | s | semmle.label | s |
66-
| main.rs:32:9:32:9 | a | semmle.label | a |
66+
| main.rs:26:9:26:9 | a | semmle.label | a |
67+
| main.rs:26:13:26:21 | source(...) | semmle.label | source(...) |
68+
| main.rs:27:9:27:9 | b | semmle.label | b |
69+
| main.rs:28:9:28:9 | c | semmle.label | c |
70+
| main.rs:28:13:28:31 | ...::format(...) | semmle.label | ...::format(...) |
71+
| main.rs:28:30:28:30 | b | semmle.label | b |
72+
| main.rs:29:10:29:10 | c | semmle.label | c |
73+
| main.rs:32:9:32:9 | d | semmle.label | d |
6774
| main.rs:32:13:32:21 | source(...) | semmle.label | source(...) |
68-
| main.rs:33:9:33:9 | b | semmle.label | b |
69-
| main.rs:34:9:34:9 | c | semmle.label | c |
70-
| main.rs:34:13:34:31 | ...::format(...) | semmle.label | ...::format(...) |
71-
| main.rs:34:30:34:30 | b | semmle.label | b |
72-
| main.rs:35:10:35:10 | c | semmle.label | c |
73-
| main.rs:38:9:38:9 | d | semmle.label | d |
74-
| main.rs:38:13:38:21 | source(...) | semmle.label | source(...) |
75-
| main.rs:39:13:39:16 | [post] buf1 | semmle.label | [post] buf1 |
76-
| main.rs:39:28:39:28 | d | semmle.label | d |
77-
| main.rs:39:28:39:37 | d.as_str() [&ref] | semmle.label | d.as_str() [&ref] |
78-
| main.rs:40:10:40:13 | buf1 | semmle.label | buf1 |
79-
| main.rs:43:9:43:9 | e | semmle.label | e |
80-
| main.rs:43:13:43:21 | source(...) | semmle.label | source(...) |
81-
| main.rs:44:13:44:16 | [post] buf2 | semmle.label | [post] buf2 |
82-
| main.rs:44:28:44:46 | MacroExpr | semmle.label | MacroExpr |
83-
| main.rs:45:10:45:13 | buf2 | semmle.label | buf2 |
84-
| main.rs:48:9:48:9 | f | semmle.label | f |
75+
| main.rs:33:13:33:16 | [post] buf1 | semmle.label | [post] buf1 |
76+
| main.rs:33:28:33:28 | d | semmle.label | d |
77+
| main.rs:33:28:33:37 | d.as_str() [&ref] | semmle.label | d.as_str() [&ref] |
78+
| main.rs:34:10:34:13 | buf1 | semmle.label | buf1 |
79+
| main.rs:37:9:37:9 | e | semmle.label | e |
80+
| main.rs:37:13:37:21 | source(...) | semmle.label | source(...) |
81+
| main.rs:38:13:38:16 | [post] buf2 | semmle.label | [post] buf2 |
82+
| main.rs:38:28:38:46 | MacroExpr | semmle.label | MacroExpr |
83+
| main.rs:39:10:39:13 | buf2 | semmle.label | buf2 |
84+
| main.rs:42:9:42:9 | f | semmle.label | f |
85+
| main.rs:42:13:42:21 | source(...) | semmle.label | source(...) |
86+
| main.rs:43:29:43:37 | [post] &mut buf3 [&ref] | semmle.label | [post] &mut buf3 [&ref] |
87+
| main.rs:43:34:43:37 | [post] buf3 | semmle.label | [post] buf3 |
88+
| main.rs:43:40:43:58 | MacroExpr | semmle.label | MacroExpr |
89+
| main.rs:44:10:44:13 | buf3 | semmle.label | buf3 |
90+
| main.rs:48:9:48:9 | g | semmle.label | g |
8591
| main.rs:48:13:48:21 | source(...) | semmle.label | source(...) |
86-
| main.rs:49:29:49:37 | [post] &mut buf3 [&ref] | semmle.label | [post] &mut buf3 [&ref] |
87-
| main.rs:49:34:49:37 | [post] buf3 | semmle.label | [post] buf3 |
88-
| main.rs:49:40:49:58 | MacroExpr | semmle.label | MacroExpr |
89-
| main.rs:50:10:50:13 | buf3 | semmle.label | buf3 |
90-
| main.rs:54:9:54:9 | g | semmle.label | g |
91-
| main.rs:54:13:54:21 | source(...) | semmle.label | source(...) |
92-
| main.rs:55:13:55:33 | FormatArgsExpr | semmle.label | FormatArgsExpr |
93-
| main.rs:55:20:55:23 | [post] buf4 | semmle.label | [post] buf4 |
94-
| main.rs:56:10:56:13 | buf4 | semmle.label | buf4 |
95-
| main.rs:59:9:59:9 | h | semmle.label | h |
96-
| main.rs:59:13:59:21 | source(...) | semmle.label | source(...) |
97-
| main.rs:60:13:60:33 | FormatArgsExpr | semmle.label | FormatArgsExpr |
98-
| main.rs:60:22:60:25 | [post] buf5 | semmle.label | [post] buf5 |
99-
| main.rs:61:10:61:13 | buf5 | semmle.label | buf5 |
92+
| main.rs:49:13:49:33 | FormatArgsExpr | semmle.label | FormatArgsExpr |
93+
| main.rs:49:20:49:23 | [post] buf4 | semmle.label | [post] buf4 |
94+
| main.rs:50:10:50:13 | buf4 | semmle.label | buf4 |
95+
| main.rs:53:9:53:9 | h | semmle.label | h |
96+
| main.rs:53:13:53:21 | source(...) | semmle.label | source(...) |
97+
| main.rs:54:13:54:33 | FormatArgsExpr | semmle.label | FormatArgsExpr |
98+
| main.rs:54:22:54:25 | [post] buf5 | semmle.label | [post] buf5 |
99+
| main.rs:55:10:55:13 | buf5 | semmle.label | buf5 |
100100
subpaths
101101
testFailures
102102
#select
103103
| main.rs:13:10:13:25 | MacroExpr | main.rs:12:13:12:21 | source(...) | main.rs:13:10:13:25 | MacroExpr | $@ | main.rs:12:13:12:21 | source(...) | source(...) |
104104
| main.rs:16:10:16:23 | MacroExpr | main.rs:15:13:15:21 | source(...) | main.rs:16:10:16:23 | MacroExpr | $@ | main.rs:15:13:15:21 | source(...) | source(...) |
105105
| main.rs:20:10:20:10 | s | main.rs:18:13:18:21 | source(...) | main.rs:20:10:20:10 | s | $@ | main.rs:18:13:18:21 | source(...) | source(...) |
106-
| main.rs:35:10:35:10 | c | main.rs:32:13:32:21 | source(...) | main.rs:35:10:35:10 | c | $@ | main.rs:32:13:32:21 | source(...) | source(...) |
107-
| main.rs:40:10:40:13 | buf1 | main.rs:38:13:38:21 | source(...) | main.rs:40:10:40:13 | buf1 | $@ | main.rs:38:13:38:21 | source(...) | source(...) |
108-
| main.rs:45:10:45:13 | buf2 | main.rs:43:13:43:21 | source(...) | main.rs:45:10:45:13 | buf2 | $@ | main.rs:43:13:43:21 | source(...) | source(...) |
109-
| main.rs:50:10:50:13 | buf3 | main.rs:48:13:48:21 | source(...) | main.rs:50:10:50:13 | buf3 | $@ | main.rs:48:13:48:21 | source(...) | source(...) |
110-
| main.rs:56:10:56:13 | buf4 | main.rs:54:13:54:21 | source(...) | main.rs:56:10:56:13 | buf4 | $@ | main.rs:54:13:54:21 | source(...) | source(...) |
111-
| main.rs:61:10:61:13 | buf5 | main.rs:59:13:59:21 | source(...) | main.rs:61:10:61:13 | buf5 | $@ | main.rs:59:13:59:21 | source(...) | source(...) |
106+
| main.rs:29:10:29:10 | c | main.rs:26:13:26:21 | source(...) | main.rs:29:10:29:10 | c | $@ | main.rs:26:13:26:21 | source(...) | source(...) |
107+
| main.rs:34:10:34:13 | buf1 | main.rs:32:13:32:21 | source(...) | main.rs:34:10:34:13 | buf1 | $@ | main.rs:32:13:32:21 | source(...) | source(...) |
108+
| main.rs:39:10:39:13 | buf2 | main.rs:37:13:37:21 | source(...) | main.rs:39:10:39:13 | buf2 | $@ | main.rs:37:13:37:21 | source(...) | source(...) |
109+
| main.rs:44:10:44:13 | buf3 | main.rs:42:13:42:21 | source(...) | main.rs:44:10:44:13 | buf3 | $@ | main.rs:42:13:42:21 | source(...) | source(...) |
110+
| main.rs:50:10:50:13 | buf4 | main.rs:48:13:48:21 | source(...) | main.rs:50:10:50:13 | buf4 | $@ | main.rs:48:13:48:21 | source(...) | source(...) |
111+
| main.rs:55:10:55:13 | buf5 | main.rs:53:13:53:21 | source(...) | main.rs:55:10:55:13 | buf5 | $@ | main.rs:53:13:53:21 | source(...) | source(...) |

rust/ql/test/library-tests/format-macros-legacy/main.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,8 @@ pub fn format_flow() {
2121
}
2222

2323
pub fn exercises_reconstruction() {
24-
// No flow assertions here: these exercise reconstruction of the rest of the
25-
// family, including the writer-argument handling of `write!`/`writeln!`.
26-
//
27-
// Flow into a writer buffer is not recovered on <1.94 (the
28-
// `buf.write_fmt(..)` desugaring is absent), but this matches native
29-
// behavior on >=1.94, where the `Write::write_fmt` content-to-self taint
30-
// model is also missing. So it is a pre-existing model gap, not a
31-
// regression from the reconstruction.
24+
// these exercise reconstruction of the rest of the family, including the
25+
// writer-argument handling of `write!`/`writeln!`.
3226
let a = source(4);
3327
let b = format_args!("{}", a);
3428
let c = std::fmt::format(b);

0 commit comments

Comments
 (0)