Skip to content

Commit 1fd74e6

Browse files
committed
Rust: Delete unnecessary model variants.
1 parent 77a8a8b commit 1fd74e6

File tree

2 files changed

+27
-38
lines changed

2 files changed

+27
-38
lines changed

rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,13 @@ extensions:
1212
- ["<_ as core::clone::Clone>::clone_from", "Argument[0].Reference", "Argument[self].Reference", "value", "manual"]
1313
# Conversions
1414
- ["<_ as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "manual"]
15-
- ["<_ as core::convert::From>::from", "Argument[0].Reference", "ReturnValue", "taint", "manual"]
1615
- ["<_ as core::convert::From>::from", "Argument[0].Element", "ReturnValue.Element", "taint", "manual"]
17-
- ["<_ as core::convert::From>::from", "Argument[0].Reference.Element", "ReturnValue.Element", "taint", "manual"]
1816
- ["<_ as core::convert::Into>::into", "Argument[self]", "ReturnValue", "taint", "manual"]
19-
- ["<_ as core::convert::Into>::into", "Argument[self].Reference", "ReturnValue", "taint", "manual"]
2017
- ["<_ as core::convert::Into>::into", "Argument[self].Element", "ReturnValue.Element", "taint", "manual"]
21-
- ["<_ as core::convert::Into>::into", "Argument[self].Reference.Element", "ReturnValue.Element", "taint", "manual"]
2218
- ["<_ as core::convert::TryFrom>::try_from", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"]
23-
- ["<_ as core::convert::TryFrom>::try_from", "Argument[0].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"]
2419
- ["<_ as core::convert::TryFrom>::try_from", "Argument[0].Element", "ReturnValue.Field[core::result::Result::Ok(0)].Element", "taint", "manual"]
25-
- ["<_ as core::convert::TryFrom>::try_from", "Argument[0].Reference.Element", "ReturnValue.Field[core::result::Result::Ok(0)].Element", "taint", "manual"]
2620
- ["<_ as core::convert::TryInto>::try_into", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"]
27-
- ["<_ as core::convert::TryInto>::try_into", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"]
2821
- ["<_ as core::convert::TryInto>::try_into", "Argument[self].Element", "ReturnValue.Field[core::result::Result::Ok(0)].Element", "taint", "manual"]
29-
- ["<_ as core::convert::TryInto>::try_into", "Argument[self].Reference.Element", "ReturnValue.Field[core::result::Result::Ok(0)].Element", "taint", "manual"]
3022
- ["<_ as core::convert::AsMut>::as_mut", "Argument[self]", "ReturnValue", "value", "manual"]
3123
- ["<_ as core::convert::AsRef>::as_ref", "Argument[self]", "ReturnValue", "value", "manual"]
3224
- ["core::char::from_digit", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "taint", "manual"]

rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,16 @@ models
33
| 2 | Summary: <_ as core::convert::AsMut>::as_mut; Argument[self]; ReturnValue; value |
44
| 3 | Summary: <_ as core::convert::AsRef>::as_ref; Argument[self]; ReturnValue; value |
55
| 4 | Summary: <_ as core::convert::From>::from; Argument[0].Element; ReturnValue.Element; taint |
6-
| 5 | Summary: <_ as core::convert::From>::from; Argument[0].Reference; ReturnValue; taint |
7-
| 6 | Summary: <_ as core::convert::From>::from; Argument[0]; ReturnValue; taint |
8-
| 7 | Summary: <_ as core::ops::arith::Add>::add; Argument[0].Reference; ReturnValue; taint |
9-
| 8 | Summary: <_ as core::ops::arith::Add>::add; Argument[self]; ReturnValue; taint |
10-
| 9 | Summary: <alloc::string::String as core::convert::AsMut>::as_mut; Argument[self]; ReturnValue; value |
11-
| 10 | Summary: <alloc::string::String as core::convert::AsRef>::as_ref; Argument[self]; ReturnValue; value |
12-
| 11 | Summary: <alloc::string::String as core::convert::From>::from; Argument[0].Reference; ReturnValue; value |
13-
| 12 | Summary: <alloc::string::String as core::ops::arith::Add>::add; Argument[self]; ReturnValue; value |
14-
| 13 | Summary: <alloc::string::String>::as_str; Argument[self]; ReturnValue; value |
15-
| 14 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint |
16-
| 15 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value |
6+
| 5 | Summary: <_ as core::convert::From>::from; Argument[0]; ReturnValue; taint |
7+
| 6 | Summary: <_ as core::ops::arith::Add>::add; Argument[0].Reference; ReturnValue; taint |
8+
| 7 | Summary: <_ as core::ops::arith::Add>::add; Argument[self]; ReturnValue; taint |
9+
| 8 | Summary: <alloc::string::String as core::convert::AsMut>::as_mut; Argument[self]; ReturnValue; value |
10+
| 9 | Summary: <alloc::string::String as core::convert::AsRef>::as_ref; Argument[self]; ReturnValue; value |
11+
| 10 | Summary: <alloc::string::String as core::convert::From>::from; Argument[0].Reference; ReturnValue; value |
12+
| 11 | Summary: <alloc::string::String as core::ops::arith::Add>::add; Argument[self]; ReturnValue; value |
13+
| 12 | Summary: <alloc::string::String>::as_str; Argument[self]; ReturnValue; value |
14+
| 13 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint |
15+
| 14 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value |
1716
edges
1817
| main.rs:30:9:30:9 | s | main.rs:31:19:31:25 | s[...] | provenance | |
1918
| main.rs:30:13:30:22 | source(...) | main.rs:30:9:30:9 | s | provenance | |
@@ -24,20 +23,19 @@ edges
2423
| main.rs:36:9:36:10 | s1 | main.rs:39:14:39:15 | s1 | provenance | |
2524
| main.rs:36:14:36:23 | source(...) | main.rs:36:9:36:10 | s1 | provenance | |
2625
| main.rs:39:9:39:10 | s4 | main.rs:42:10:42:11 | s4 | provenance | |
27-
| main.rs:39:14:39:15 | s1 | main.rs:39:14:39:20 | ... + ... | provenance | MaD:8 |
28-
| main.rs:39:14:39:15 | s1 | main.rs:39:14:39:20 | ... + ... | provenance | MaD:12 |
26+
| main.rs:39:14:39:15 | s1 | main.rs:39:14:39:20 | ... + ... | provenance | MaD:7 |
27+
| main.rs:39:14:39:15 | s1 | main.rs:39:14:39:20 | ... + ... | provenance | MaD:11 |
2928
| main.rs:39:14:39:20 | ... + ... | main.rs:39:9:39:10 | s4 | provenance | |
3029
| main.rs:47:9:47:10 | s1 | main.rs:50:34:50:35 | s1 | provenance | |
3130
| main.rs:47:14:47:23 | source(...) | main.rs:47:9:47:10 | s1 | provenance | |
32-
| main.rs:50:33:50:35 | &s1 [&ref] | main.rs:50:10:50:35 | ... + ... | provenance | MaD:7 |
31+
| main.rs:50:33:50:35 | &s1 [&ref] | main.rs:50:10:50:35 | ... + ... | provenance | MaD:6 |
3332
| main.rs:50:34:50:35 | s1 | main.rs:50:33:50:35 | &s1 [&ref] | provenance | |
3433
| main.rs:55:9:55:10 | s1 | main.rs:57:27:57:28 | s1 | provenance | |
3534
| main.rs:55:14:55:29 | source_slice(...) | main.rs:55:9:55:10 | s1 | provenance | |
3635
| main.rs:57:9:57:10 | s2 | main.rs:58:10:58:11 | s2 | provenance | |
3736
| main.rs:57:14:57:29 | ...::from(...) | main.rs:57:9:57:10 | s2 | provenance | |
3837
| main.rs:57:27:57:28 | s1 | main.rs:57:14:57:29 | ...::from(...) | provenance | MaD:5 |
39-
| main.rs:57:27:57:28 | s1 | main.rs:57:14:57:29 | ...::from(...) | provenance | MaD:6 |
40-
| main.rs:57:27:57:28 | s1 | main.rs:57:14:57:29 | ...::from(...) | provenance | MaD:11 |
38+
| main.rs:57:27:57:28 | s1 | main.rs:57:14:57:29 | ...::from(...) | provenance | MaD:10 |
4139
| main.rs:66:9:66:10 | ss [element] | main.rs:67:16:67:17 | ss [element] | provenance | |
4240
| main.rs:66:9:66:10 | ss [element] | main.rs:69:27:69:28 | ss [element] | provenance | |
4341
| main.rs:66:9:66:10 | ss [element] | main.rs:78:36:78:37 | ss [element] | provenance | |
@@ -49,8 +47,7 @@ edges
4947
| main.rs:69:14:69:32 | ...::from(...) | main.rs:69:9:69:10 | s5 | provenance | |
5048
| main.rs:69:27:69:28 | ss [element] | main.rs:69:27:69:31 | ss[0] | provenance | |
5149
| main.rs:69:27:69:31 | ss[0] | main.rs:69:14:69:32 | ...::from(...) | provenance | MaD:5 |
52-
| main.rs:69:27:69:31 | ss[0] | main.rs:69:14:69:32 | ...::from(...) | provenance | MaD:6 |
53-
| main.rs:69:27:69:31 | ss[0] | main.rs:69:14:69:32 | ...::from(...) | provenance | MaD:11 |
50+
| main.rs:69:27:69:31 | ss[0] | main.rs:69:14:69:32 | ...::from(...) | provenance | MaD:10 |
5451
| main.rs:78:9:78:11 | ss2 [element] | main.rs:79:16:79:18 | ss2 [element] | provenance | |
5552
| main.rs:78:26:78:38 | ...::from(...) [element] | main.rs:78:9:78:11 | ss2 [element] | provenance | |
5653
| main.rs:78:36:78:37 | ss [element] | main.rs:78:26:78:38 | ...::from(...) [element] | provenance | MaD:4 |
@@ -60,45 +57,45 @@ edges
6057
| main.rs:90:9:90:10 | s2 | main.rs:91:10:91:11 | s2 | provenance | |
6158
| main.rs:90:14:90:27 | s1.to_string() | main.rs:90:9:90:10 | s2 | provenance | |
6259
| main.rs:95:9:95:9 | s | main.rs:96:16:96:16 | s | provenance | |
63-
| main.rs:95:9:95:9 | s | main.rs:96:16:96:25 | s.as_str() | provenance | MaD:13 |
60+
| main.rs:95:9:95:9 | s | main.rs:96:16:96:25 | s.as_str() | provenance | MaD:12 |
6461
| main.rs:95:13:95:22 | source(...) | main.rs:95:9:95:9 | s | provenance | |
65-
| main.rs:96:16:96:16 | s | main.rs:96:16:96:25 | s.as_str() | provenance | MaD:13 |
62+
| main.rs:96:16:96:16 | s | main.rs:96:16:96:25 | s.as_str() | provenance | MaD:12 |
6663
| main.rs:100:9:100:9 | s | main.rs:102:34:102:61 | MacroExpr | provenance | |
6764
| main.rs:100:9:100:9 | s | main.rs:105:34:105:59 | MacroExpr | provenance | |
6865
| main.rs:100:13:100:22 | source(...) | main.rs:100:9:100:9 | s | provenance | |
6966
| main.rs:102:9:102:18 | formatted1 | main.rs:103:10:103:19 | formatted1 | provenance | |
7067
| main.rs:102:22:102:62 | ...::format(...) | main.rs:102:9:102:18 | formatted1 | provenance | |
71-
| main.rs:102:34:102:61 | MacroExpr | main.rs:102:22:102:62 | ...::format(...) | provenance | MaD:14 |
68+
| main.rs:102:34:102:61 | MacroExpr | main.rs:102:22:102:62 | ...::format(...) | provenance | MaD:13 |
7269
| main.rs:105:9:105:18 | formatted2 | main.rs:106:10:106:19 | formatted2 | provenance | |
7370
| main.rs:105:22:105:60 | ...::format(...) | main.rs:105:9:105:18 | formatted2 | provenance | |
74-
| main.rs:105:34:105:59 | MacroExpr | main.rs:105:22:105:60 | ...::format(...) | provenance | MaD:14 |
71+
| main.rs:105:34:105:59 | MacroExpr | main.rs:105:22:105:60 | ...::format(...) | provenance | MaD:13 |
7572
| main.rs:108:9:108:13 | width | main.rs:109:34:109:74 | MacroExpr | provenance | |
7673
| main.rs:108:17:108:32 | source_usize(...) | main.rs:108:9:108:13 | width | provenance | |
7774
| main.rs:109:9:109:18 | formatted3 | main.rs:110:10:110:19 | formatted3 | provenance | |
7875
| main.rs:109:22:109:75 | ...::format(...) | main.rs:109:9:109:18 | formatted3 | provenance | |
79-
| main.rs:109:34:109:74 | MacroExpr | main.rs:109:22:109:75 | ...::format(...) | provenance | MaD:14 |
76+
| main.rs:109:34:109:74 | MacroExpr | main.rs:109:22:109:75 | ...::format(...) | provenance | MaD:13 |
8077
| main.rs:114:9:114:10 | s1 | main.rs:118:18:118:25 | MacroExpr | provenance | |
8178
| main.rs:114:9:114:10 | s1 | main.rs:119:18:119:32 | MacroExpr | provenance | |
8279
| main.rs:114:14:114:23 | source(...) | main.rs:114:9:114:10 | s1 | provenance | |
8380
| main.rs:118:18:118:25 | ...::format(...) | main.rs:118:18:118:25 | { ... } | provenance | |
8481
| main.rs:118:18:118:25 | ...::must_use(...) | main.rs:118:10:118:26 | MacroExpr | provenance | |
85-
| main.rs:118:18:118:25 | MacroExpr | main.rs:118:18:118:25 | ...::format(...) | provenance | MaD:14 |
86-
| main.rs:118:18:118:25 | { ... } | main.rs:118:18:118:25 | ...::must_use(...) | provenance | MaD:15 |
82+
| main.rs:118:18:118:25 | MacroExpr | main.rs:118:18:118:25 | ...::format(...) | provenance | MaD:13 |
83+
| main.rs:118:18:118:25 | { ... } | main.rs:118:18:118:25 | ...::must_use(...) | provenance | MaD:14 |
8784
| main.rs:119:18:119:32 | ...::format(...) | main.rs:119:18:119:32 | { ... } | provenance | |
8885
| main.rs:119:18:119:32 | ...::must_use(...) | main.rs:119:10:119:33 | MacroExpr | provenance | |
89-
| main.rs:119:18:119:32 | MacroExpr | main.rs:119:18:119:32 | ...::format(...) | provenance | MaD:14 |
90-
| main.rs:119:18:119:32 | { ... } | main.rs:119:18:119:32 | ...::must_use(...) | provenance | MaD:15 |
86+
| main.rs:119:18:119:32 | MacroExpr | main.rs:119:18:119:32 | ...::format(...) | provenance | MaD:13 |
87+
| main.rs:119:18:119:32 | { ... } | main.rs:119:18:119:32 | ...::must_use(...) | provenance | MaD:14 |
9188
| main.rs:124:9:124:14 | mut s1 | main.rs:126:15:126:16 | s1 | provenance | |
9289
| main.rs:124:9:124:14 | mut s1 | main.rs:127:14:127:24 | s1.as_ref() | provenance | MaD:3 |
93-
| main.rs:124:9:124:14 | mut s1 | main.rs:127:14:127:24 | s1.as_ref() | provenance | MaD:10 |
90+
| main.rs:124:9:124:14 | mut s1 | main.rs:127:14:127:24 | s1.as_ref() | provenance | MaD:9 |
9491
| main.rs:124:9:124:14 | mut s1 | main.rs:128:14:128:15 | s1 | provenance | |
9592
| main.rs:124:9:124:14 | mut s1 | main.rs:128:14:128:24 | s1.as_mut() | provenance | MaD:2 |
96-
| main.rs:124:9:124:14 | mut s1 | main.rs:128:14:128:24 | s1.as_mut() | provenance | MaD:9 |
93+
| main.rs:124:9:124:14 | mut s1 | main.rs:128:14:128:24 | s1.as_mut() | provenance | MaD:8 |
9794
| main.rs:124:18:124:27 | source(...) | main.rs:124:18:124:39 | ... .to_string() | provenance | MaD:1 |
9895
| main.rs:124:18:124:39 | ... .to_string() | main.rs:124:9:124:14 | mut s1 | provenance | |
9996
| main.rs:126:15:126:16 | s1 | main.rs:126:14:126:16 | &s1 | provenance | |
10097
| main.rs:128:14:128:15 | s1 | main.rs:128:14:128:24 | s1.as_mut() | provenance | MaD:2 |
101-
| main.rs:128:14:128:15 | s1 | main.rs:128:14:128:24 | s1.as_mut() | provenance | MaD:9 |
98+
| main.rs:128:14:128:15 | s1 | main.rs:128:14:128:24 | s1.as_mut() | provenance | MaD:8 |
10299
nodes
103100
| main.rs:30:9:30:9 | s | semmle.label | s |
104101
| main.rs:30:13:30:22 | source(...) | semmle.label | source(...) |

0 commit comments

Comments
 (0)