mirror of
https://github.com/github/codeql.git
synced 2026-04-25 08:45:14 +02:00
Rust: Add test for models of pointer read and write
This commit is contained in:
@@ -5,117 +5,117 @@ models
|
||||
| 4 | Summary: lang:core; <crate::result::Result as crate::clone::Clone>::clone; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue.Field[crate::result::Result::Ok(0)]; value |
|
||||
| 5 | Summary: lang:core; <crate::result::Result>::unwrap; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value |
|
||||
edges
|
||||
| main.rs:13:9:13:9 | a [Some] | main.rs:14:10:14:10 | a [Some] | provenance | |
|
||||
| main.rs:13:9:13:9 | a [Some] | main.rs:15:13:15:13 | a [Some] | provenance | |
|
||||
| main.rs:13:13:13:28 | Some(...) [Some] | main.rs:13:9:13:9 | a [Some] | provenance | |
|
||||
| main.rs:13:18:13:27 | source(...) | main.rs:13:13:13:28 | Some(...) [Some] | provenance | |
|
||||
| main.rs:14:10:14:10 | a [Some] | main.rs:14:10:14:19 | a.unwrap(...) | provenance | MaD:2 |
|
||||
| main.rs:15:9:15:9 | b [Some] | main.rs:16:10:16:10 | b [Some] | provenance | |
|
||||
| main.rs:15:13:15:13 | a [Some] | main.rs:15:13:15:21 | a.clone(...) [Some] | provenance | MaD:1 |
|
||||
| main.rs:15:13:15:13 | a [Some] | main.rs:15:13:15:21 | a.clone(...) [Some] | provenance | generated |
|
||||
| main.rs:15:13:15:21 | a.clone(...) [Some] | main.rs:15:9:15:9 | b [Some] | provenance | |
|
||||
| main.rs:16:10:16:10 | b [Some] | main.rs:16:10:16:19 | b.unwrap(...) | provenance | MaD:2 |
|
||||
| main.rs:20:9:20:9 | a [Ok] | main.rs:21:10:21:10 | a [Ok] | provenance | |
|
||||
| main.rs:20:9:20:9 | a [Ok] | main.rs:22:13:22:13 | a [Ok] | provenance | |
|
||||
| main.rs:20:31:20:44 | Ok(...) [Ok] | main.rs:20:9:20:9 | a [Ok] | provenance | |
|
||||
| main.rs:20:34:20:43 | source(...) | main.rs:20:31:20:44 | Ok(...) [Ok] | provenance | |
|
||||
| main.rs:21:10:21:10 | a [Ok] | main.rs:21:10:21:19 | a.unwrap(...) | provenance | MaD:5 |
|
||||
| main.rs:22:9:22:9 | b [Ok] | main.rs:23:10:23:10 | b [Ok] | provenance | |
|
||||
| main.rs:22:13:22:13 | a [Ok] | main.rs:22:13:22:21 | a.clone(...) [Ok] | provenance | MaD:4 |
|
||||
| main.rs:22:13:22:13 | a [Ok] | main.rs:22:13:22:21 | a.clone(...) [Ok] | provenance | generated |
|
||||
| main.rs:22:13:22:21 | a.clone(...) [Ok] | main.rs:22:9:22:9 | b [Ok] | provenance | |
|
||||
| main.rs:23:10:23:10 | b [Ok] | main.rs:23:10:23:19 | b.unwrap(...) | provenance | MaD:5 |
|
||||
| main.rs:27:9:27:9 | a | main.rs:28:10:28:10 | a | provenance | |
|
||||
| main.rs:27:9:27:9 | a | main.rs:29:13:29:13 | a | provenance | |
|
||||
| main.rs:27:13:27:22 | source(...) | main.rs:27:9:27:9 | a | provenance | |
|
||||
| main.rs:29:9:29:9 | b | main.rs:30:10:30:10 | b | provenance | |
|
||||
| main.rs:29:13:29:13 | a | main.rs:29:13:29:21 | a.clone(...) | provenance | generated |
|
||||
| main.rs:29:13:29:21 | a.clone(...) | main.rs:29:9:29:9 | b | provenance | |
|
||||
| main.rs:42:13:42:13 | w [Wrapper] | main.rs:43:15:43:15 | w [Wrapper] | provenance | |
|
||||
| main.rs:42:17:42:41 | Wrapper {...} [Wrapper] | main.rs:42:13:42:13 | w [Wrapper] | provenance | |
|
||||
| main.rs:42:30:42:39 | source(...) | main.rs:42:17:42:41 | Wrapper {...} [Wrapper] | provenance | |
|
||||
| main.rs:43:15:43:15 | w [Wrapper] | main.rs:44:13:44:28 | Wrapper {...} [Wrapper] | provenance | |
|
||||
| main.rs:43:15:43:15 | w [Wrapper] | main.rs:46:17:46:17 | w [Wrapper] | provenance | |
|
||||
| main.rs:44:13:44:28 | Wrapper {...} [Wrapper] | main.rs:44:26:44:26 | n | provenance | |
|
||||
| main.rs:44:26:44:26 | n | main.rs:44:38:44:38 | n | provenance | |
|
||||
| main.rs:46:13:46:13 | u [Wrapper] | main.rs:47:15:47:15 | u [Wrapper] | provenance | |
|
||||
| main.rs:46:17:46:17 | w [Wrapper] | main.rs:46:17:46:25 | w.clone(...) [Wrapper] | provenance | generated |
|
||||
| main.rs:46:17:46:25 | w.clone(...) [Wrapper] | main.rs:46:13:46:13 | u [Wrapper] | provenance | |
|
||||
| main.rs:47:15:47:15 | u [Wrapper] | main.rs:48:13:48:28 | Wrapper {...} [Wrapper] | provenance | |
|
||||
| main.rs:48:13:48:28 | Wrapper {...} [Wrapper] | main.rs:48:26:48:26 | n | provenance | |
|
||||
| main.rs:48:26:48:26 | n | main.rs:48:38:48:38 | n | provenance | |
|
||||
| main.rs:59:13:59:13 | b [Some] | main.rs:60:23:60:23 | b [Some] | provenance | |
|
||||
| main.rs:59:17:59:32 | Some(...) [Some] | main.rs:59:13:59:13 | b [Some] | provenance | |
|
||||
| main.rs:59:22:59:31 | source(...) | main.rs:59:17:59:32 | Some(...) [Some] | provenance | |
|
||||
| main.rs:60:13:60:13 | z [Some, tuple.1] | main.rs:61:15:61:15 | z [Some, tuple.1] | provenance | |
|
||||
| main.rs:60:17:60:24 | a.zip(...) [Some, tuple.1] | main.rs:60:13:60:13 | z [Some, tuple.1] | provenance | |
|
||||
| main.rs:60:23:60:23 | b [Some] | main.rs:60:17:60:24 | a.zip(...) [Some, tuple.1] | provenance | MaD:3 |
|
||||
| main.rs:61:15:61:15 | z [Some, tuple.1] | main.rs:62:13:62:24 | Some(...) [Some, tuple.1] | provenance | |
|
||||
| main.rs:62:13:62:24 | Some(...) [Some, tuple.1] | main.rs:62:18:62:23 | TuplePat [tuple.1] | provenance | |
|
||||
| main.rs:62:18:62:23 | TuplePat [tuple.1] | main.rs:62:22:62:22 | m | provenance | |
|
||||
| main.rs:62:22:62:22 | m | main.rs:64:22:64:22 | m | provenance | |
|
||||
| main.rs:12:9:12:9 | a [Some] | main.rs:13:10:13:10 | a [Some] | provenance | |
|
||||
| main.rs:12:9:12:9 | a [Some] | main.rs:14:13:14:13 | a [Some] | provenance | |
|
||||
| main.rs:12:13:12:28 | Some(...) [Some] | main.rs:12:9:12:9 | a [Some] | provenance | |
|
||||
| main.rs:12:18:12:27 | source(...) | main.rs:12:13:12:28 | Some(...) [Some] | provenance | |
|
||||
| main.rs:13:10:13:10 | a [Some] | main.rs:13:10:13:19 | a.unwrap(...) | provenance | MaD:2 |
|
||||
| main.rs:14:9:14:9 | b [Some] | main.rs:15:10:15:10 | b [Some] | provenance | |
|
||||
| main.rs:14:13:14:13 | a [Some] | main.rs:14:13:14:21 | a.clone(...) [Some] | provenance | MaD:1 |
|
||||
| main.rs:14:13:14:13 | a [Some] | main.rs:14:13:14:21 | a.clone(...) [Some] | provenance | generated |
|
||||
| main.rs:14:13:14:21 | a.clone(...) [Some] | main.rs:14:9:14:9 | b [Some] | provenance | |
|
||||
| main.rs:15:10:15:10 | b [Some] | main.rs:15:10:15:19 | b.unwrap(...) | provenance | MaD:2 |
|
||||
| main.rs:19:9:19:9 | a [Ok] | main.rs:20:10:20:10 | a [Ok] | provenance | |
|
||||
| main.rs:19:9:19:9 | a [Ok] | main.rs:21:13:21:13 | a [Ok] | provenance | |
|
||||
| main.rs:19:31:19:44 | Ok(...) [Ok] | main.rs:19:9:19:9 | a [Ok] | provenance | |
|
||||
| main.rs:19:34:19:43 | source(...) | main.rs:19:31:19:44 | Ok(...) [Ok] | provenance | |
|
||||
| main.rs:20:10:20:10 | a [Ok] | main.rs:20:10:20:19 | a.unwrap(...) | provenance | MaD:5 |
|
||||
| main.rs:21:9:21:9 | b [Ok] | main.rs:22:10:22:10 | b [Ok] | provenance | |
|
||||
| main.rs:21:13:21:13 | a [Ok] | main.rs:21:13:21:21 | a.clone(...) [Ok] | provenance | MaD:4 |
|
||||
| main.rs:21:13:21:13 | a [Ok] | main.rs:21:13:21:21 | a.clone(...) [Ok] | provenance | generated |
|
||||
| main.rs:21:13:21:21 | a.clone(...) [Ok] | main.rs:21:9:21:9 | b [Ok] | provenance | |
|
||||
| main.rs:22:10:22:10 | b [Ok] | main.rs:22:10:22:19 | b.unwrap(...) | provenance | MaD:5 |
|
||||
| main.rs:26:9:26:9 | a | main.rs:27:10:27:10 | a | provenance | |
|
||||
| main.rs:26:9:26:9 | a | main.rs:28:13:28:13 | a | provenance | |
|
||||
| main.rs:26:13:26:22 | source(...) | main.rs:26:9:26:9 | a | provenance | |
|
||||
| main.rs:28:9:28:9 | b | main.rs:29:10:29:10 | b | provenance | |
|
||||
| main.rs:28:13:28:13 | a | main.rs:28:13:28:21 | a.clone(...) | provenance | generated |
|
||||
| main.rs:28:13:28:21 | a.clone(...) | main.rs:28:9:28:9 | b | provenance | |
|
||||
| main.rs:41:13:41:13 | w [Wrapper] | main.rs:42:15:42:15 | w [Wrapper] | provenance | |
|
||||
| main.rs:41:17:41:41 | Wrapper {...} [Wrapper] | main.rs:41:13:41:13 | w [Wrapper] | provenance | |
|
||||
| main.rs:41:30:41:39 | source(...) | main.rs:41:17:41:41 | Wrapper {...} [Wrapper] | provenance | |
|
||||
| main.rs:42:15:42:15 | w [Wrapper] | main.rs:43:13:43:28 | Wrapper {...} [Wrapper] | provenance | |
|
||||
| main.rs:42:15:42:15 | w [Wrapper] | main.rs:45:17:45:17 | w [Wrapper] | provenance | |
|
||||
| main.rs:43:13:43:28 | Wrapper {...} [Wrapper] | main.rs:43:26:43:26 | n | provenance | |
|
||||
| main.rs:43:26:43:26 | n | main.rs:43:38:43:38 | n | provenance | |
|
||||
| main.rs:45:13:45:13 | u [Wrapper] | main.rs:46:15:46:15 | u [Wrapper] | provenance | |
|
||||
| main.rs:45:17:45:17 | w [Wrapper] | main.rs:45:17:45:25 | w.clone(...) [Wrapper] | provenance | generated |
|
||||
| main.rs:45:17:45:25 | w.clone(...) [Wrapper] | main.rs:45:13:45:13 | u [Wrapper] | provenance | |
|
||||
| main.rs:46:15:46:15 | u [Wrapper] | main.rs:47:13:47:28 | Wrapper {...} [Wrapper] | provenance | |
|
||||
| main.rs:47:13:47:28 | Wrapper {...} [Wrapper] | main.rs:47:26:47:26 | n | provenance | |
|
||||
| main.rs:47:26:47:26 | n | main.rs:47:38:47:38 | n | provenance | |
|
||||
| main.rs:58:13:58:13 | b [Some] | main.rs:59:23:59:23 | b [Some] | provenance | |
|
||||
| main.rs:58:17:58:32 | Some(...) [Some] | main.rs:58:13:58:13 | b [Some] | provenance | |
|
||||
| main.rs:58:22:58:31 | source(...) | main.rs:58:17:58:32 | Some(...) [Some] | provenance | |
|
||||
| main.rs:59:13:59:13 | z [Some, tuple.1] | main.rs:60:15:60:15 | z [Some, tuple.1] | provenance | |
|
||||
| main.rs:59:17:59:24 | a.zip(...) [Some, tuple.1] | main.rs:59:13:59:13 | z [Some, tuple.1] | provenance | |
|
||||
| main.rs:59:23:59:23 | b [Some] | main.rs:59:17:59:24 | a.zip(...) [Some, tuple.1] | provenance | MaD:3 |
|
||||
| main.rs:60:15:60:15 | z [Some, tuple.1] | main.rs:61:13:61:24 | Some(...) [Some, tuple.1] | provenance | |
|
||||
| main.rs:61:13:61:24 | Some(...) [Some, tuple.1] | main.rs:61:18:61:23 | TuplePat [tuple.1] | provenance | |
|
||||
| main.rs:61:18:61:23 | TuplePat [tuple.1] | main.rs:61:22:61:22 | m | provenance | |
|
||||
| main.rs:61:22:61:22 | m | main.rs:63:22:63:22 | m | provenance | |
|
||||
nodes
|
||||
| main.rs:13:9:13:9 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:13:13:13:28 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
| main.rs:13:18:13:27 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:14:10:14:10 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:14:10:14:19 | a.unwrap(...) | semmle.label | a.unwrap(...) |
|
||||
| main.rs:15:9:15:9 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:15:13:15:13 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:15:13:15:21 | a.clone(...) [Some] | semmle.label | a.clone(...) [Some] |
|
||||
| main.rs:16:10:16:10 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:16:10:16:19 | b.unwrap(...) | semmle.label | b.unwrap(...) |
|
||||
| main.rs:20:9:20:9 | a [Ok] | semmle.label | a [Ok] |
|
||||
| main.rs:20:31:20:44 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] |
|
||||
| main.rs:20:34:20:43 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:21:10:21:10 | a [Ok] | semmle.label | a [Ok] |
|
||||
| main.rs:21:10:21:19 | a.unwrap(...) | semmle.label | a.unwrap(...) |
|
||||
| main.rs:22:9:22:9 | b [Ok] | semmle.label | b [Ok] |
|
||||
| main.rs:22:13:22:13 | a [Ok] | semmle.label | a [Ok] |
|
||||
| main.rs:22:13:22:21 | a.clone(...) [Ok] | semmle.label | a.clone(...) [Ok] |
|
||||
| main.rs:23:10:23:10 | b [Ok] | semmle.label | b [Ok] |
|
||||
| main.rs:23:10:23:19 | b.unwrap(...) | semmle.label | b.unwrap(...) |
|
||||
| main.rs:27:9:27:9 | a | semmle.label | a |
|
||||
| main.rs:27:13:27:22 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:28:10:28:10 | a | semmle.label | a |
|
||||
| main.rs:29:9:29:9 | b | semmle.label | b |
|
||||
| main.rs:29:13:29:13 | a | semmle.label | a |
|
||||
| main.rs:29:13:29:21 | a.clone(...) | semmle.label | a.clone(...) |
|
||||
| main.rs:30:10:30:10 | b | semmle.label | b |
|
||||
| main.rs:42:13:42:13 | w [Wrapper] | semmle.label | w [Wrapper] |
|
||||
| main.rs:42:17:42:41 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] |
|
||||
| main.rs:42:30:42:39 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:43:15:43:15 | w [Wrapper] | semmle.label | w [Wrapper] |
|
||||
| main.rs:44:13:44:28 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] |
|
||||
| main.rs:44:26:44:26 | n | semmle.label | n |
|
||||
| main.rs:44:38:44:38 | n | semmle.label | n |
|
||||
| main.rs:46:13:46:13 | u [Wrapper] | semmle.label | u [Wrapper] |
|
||||
| main.rs:46:17:46:17 | w [Wrapper] | semmle.label | w [Wrapper] |
|
||||
| main.rs:46:17:46:25 | w.clone(...) [Wrapper] | semmle.label | w.clone(...) [Wrapper] |
|
||||
| main.rs:47:15:47:15 | u [Wrapper] | semmle.label | u [Wrapper] |
|
||||
| main.rs:48:13:48:28 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] |
|
||||
| main.rs:48:26:48:26 | n | semmle.label | n |
|
||||
| main.rs:48:38:48:38 | n | semmle.label | n |
|
||||
| main.rs:59:13:59:13 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:59:17:59:32 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
| main.rs:59:22:59:31 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:60:13:60:13 | z [Some, tuple.1] | semmle.label | z [Some, tuple.1] |
|
||||
| main.rs:60:17:60:24 | a.zip(...) [Some, tuple.1] | semmle.label | a.zip(...) [Some, tuple.1] |
|
||||
| main.rs:60:23:60:23 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:61:15:61:15 | z [Some, tuple.1] | semmle.label | z [Some, tuple.1] |
|
||||
| main.rs:62:13:62:24 | Some(...) [Some, tuple.1] | semmle.label | Some(...) [Some, tuple.1] |
|
||||
| main.rs:62:18:62:23 | TuplePat [tuple.1] | semmle.label | TuplePat [tuple.1] |
|
||||
| main.rs:62:22:62:22 | m | semmle.label | m |
|
||||
| main.rs:64:22:64:22 | m | semmle.label | m |
|
||||
| main.rs:12:9:12:9 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:12:13:12:28 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
| main.rs:12:18:12:27 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:13:10:13:10 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:13:10:13:19 | a.unwrap(...) | semmle.label | a.unwrap(...) |
|
||||
| main.rs:14:9:14:9 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:14:13:14:13 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:14:13:14:21 | a.clone(...) [Some] | semmle.label | a.clone(...) [Some] |
|
||||
| main.rs:15:10:15:10 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:15:10:15:19 | b.unwrap(...) | semmle.label | b.unwrap(...) |
|
||||
| main.rs:19:9:19:9 | a [Ok] | semmle.label | a [Ok] |
|
||||
| main.rs:19:31:19:44 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] |
|
||||
| main.rs:19:34:19:43 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:20:10:20:10 | a [Ok] | semmle.label | a [Ok] |
|
||||
| main.rs:20:10:20:19 | a.unwrap(...) | semmle.label | a.unwrap(...) |
|
||||
| main.rs:21:9:21:9 | b [Ok] | semmle.label | b [Ok] |
|
||||
| main.rs:21:13:21:13 | a [Ok] | semmle.label | a [Ok] |
|
||||
| main.rs:21:13:21:21 | a.clone(...) [Ok] | semmle.label | a.clone(...) [Ok] |
|
||||
| main.rs:22:10:22:10 | b [Ok] | semmle.label | b [Ok] |
|
||||
| main.rs:22:10:22:19 | b.unwrap(...) | semmle.label | b.unwrap(...) |
|
||||
| main.rs:26:9:26:9 | a | semmle.label | a |
|
||||
| main.rs:26:13:26:22 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:27:10:27:10 | a | semmle.label | a |
|
||||
| main.rs:28:9:28:9 | b | semmle.label | b |
|
||||
| main.rs:28:13:28:13 | a | semmle.label | a |
|
||||
| main.rs:28:13:28:21 | a.clone(...) | semmle.label | a.clone(...) |
|
||||
| main.rs:29:10:29:10 | b | semmle.label | b |
|
||||
| main.rs:41:13:41:13 | w [Wrapper] | semmle.label | w [Wrapper] |
|
||||
| main.rs:41:17:41:41 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] |
|
||||
| main.rs:41:30:41:39 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:42:15:42:15 | w [Wrapper] | semmle.label | w [Wrapper] |
|
||||
| main.rs:43:13:43:28 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] |
|
||||
| main.rs:43:26:43:26 | n | semmle.label | n |
|
||||
| main.rs:43:38:43:38 | n | semmle.label | n |
|
||||
| main.rs:45:13:45:13 | u [Wrapper] | semmle.label | u [Wrapper] |
|
||||
| main.rs:45:17:45:17 | w [Wrapper] | semmle.label | w [Wrapper] |
|
||||
| main.rs:45:17:45:25 | w.clone(...) [Wrapper] | semmle.label | w.clone(...) [Wrapper] |
|
||||
| main.rs:46:15:46:15 | u [Wrapper] | semmle.label | u [Wrapper] |
|
||||
| main.rs:47:13:47:28 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] |
|
||||
| main.rs:47:26:47:26 | n | semmle.label | n |
|
||||
| main.rs:47:38:47:38 | n | semmle.label | n |
|
||||
| main.rs:58:13:58:13 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:58:17:58:32 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
| main.rs:58:22:58:31 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:59:13:59:13 | z [Some, tuple.1] | semmle.label | z [Some, tuple.1] |
|
||||
| main.rs:59:17:59:24 | a.zip(...) [Some, tuple.1] | semmle.label | a.zip(...) [Some, tuple.1] |
|
||||
| main.rs:59:23:59:23 | b [Some] | semmle.label | b [Some] |
|
||||
| main.rs:60:15:60:15 | z [Some, tuple.1] | semmle.label | z [Some, tuple.1] |
|
||||
| main.rs:61:13:61:24 | Some(...) [Some, tuple.1] | semmle.label | Some(...) [Some, tuple.1] |
|
||||
| main.rs:61:18:61:23 | TuplePat [tuple.1] | semmle.label | TuplePat [tuple.1] |
|
||||
| main.rs:61:22:61:22 | m | semmle.label | m |
|
||||
| main.rs:63:22:63:22 | m | semmle.label | m |
|
||||
subpaths
|
||||
testFailures
|
||||
#select
|
||||
| main.rs:14:10:14:19 | a.unwrap(...) | main.rs:13:18:13:27 | source(...) | main.rs:14:10:14:19 | a.unwrap(...) | $@ | main.rs:13:18:13:27 | source(...) | source(...) |
|
||||
| main.rs:16:10:16:19 | b.unwrap(...) | main.rs:13:18:13:27 | source(...) | main.rs:16:10:16:19 | b.unwrap(...) | $@ | main.rs:13:18:13:27 | source(...) | source(...) |
|
||||
| main.rs:21:10:21:19 | a.unwrap(...) | main.rs:20:34:20:43 | source(...) | main.rs:21:10:21:19 | a.unwrap(...) | $@ | main.rs:20:34:20:43 | source(...) | source(...) |
|
||||
| main.rs:23:10:23:19 | b.unwrap(...) | main.rs:20:34:20:43 | source(...) | main.rs:23:10:23:19 | b.unwrap(...) | $@ | main.rs:20:34:20:43 | source(...) | source(...) |
|
||||
| main.rs:28:10:28:10 | a | main.rs:27:13:27:22 | source(...) | main.rs:28:10:28:10 | a | $@ | main.rs:27:13:27:22 | source(...) | source(...) |
|
||||
| main.rs:30:10:30:10 | b | main.rs:27:13:27:22 | source(...) | main.rs:30:10:30:10 | b | $@ | main.rs:27:13:27:22 | source(...) | source(...) |
|
||||
| main.rs:44:38:44:38 | n | main.rs:42:30:42:39 | source(...) | main.rs:44:38:44:38 | n | $@ | main.rs:42:30:42:39 | source(...) | source(...) |
|
||||
| main.rs:48:38:48:38 | n | main.rs:42:30:42:39 | source(...) | main.rs:48:38:48:38 | n | $@ | main.rs:42:30:42:39 | source(...) | source(...) |
|
||||
| main.rs:64:22:64:22 | m | main.rs:59:22:59:31 | source(...) | main.rs:64:22:64:22 | m | $@ | main.rs:59:22:59:31 | source(...) | source(...) |
|
||||
| main.rs:13:10:13:19 | a.unwrap(...) | main.rs:12:18:12:27 | source(...) | main.rs:13:10:13:19 | a.unwrap(...) | $@ | main.rs:12:18:12:27 | source(...) | source(...) |
|
||||
| main.rs:15:10:15:19 | b.unwrap(...) | main.rs:12:18:12:27 | source(...) | main.rs:15:10:15:19 | b.unwrap(...) | $@ | main.rs:12:18:12:27 | source(...) | source(...) |
|
||||
| main.rs:20:10:20:19 | a.unwrap(...) | main.rs:19:34:19:43 | source(...) | main.rs:20:10:20:19 | a.unwrap(...) | $@ | main.rs:19:34:19:43 | source(...) | source(...) |
|
||||
| main.rs:22:10:22:19 | b.unwrap(...) | main.rs:19:34:19:43 | source(...) | main.rs:22:10:22:19 | b.unwrap(...) | $@ | main.rs:19:34:19:43 | source(...) | source(...) |
|
||||
| main.rs:27:10:27:10 | a | main.rs:26:13:26:22 | source(...) | main.rs:27:10:27:10 | a | $@ | main.rs:26:13:26:22 | source(...) | source(...) |
|
||||
| main.rs:29:10:29:10 | b | main.rs:26:13:26:22 | source(...) | main.rs:29:10:29:10 | b | $@ | main.rs:26:13:26:22 | source(...) | source(...) |
|
||||
| main.rs:43:38:43:38 | n | main.rs:41:30:41:39 | source(...) | main.rs:43:38:43:38 | n | $@ | main.rs:41:30:41:39 | source(...) | source(...) |
|
||||
| main.rs:47:38:47:38 | n | main.rs:41:30:41:39 | source(...) | main.rs:47:38:47:38 | n | $@ | main.rs:41:30:41:39 | source(...) | source(...) |
|
||||
| main.rs:63:22:63:22 | m | main.rs:58:22:58:31 | source(...) | main.rs:63:22:63:22 | m | $@ | main.rs:58:22:58:31 | source(...) | source(...) |
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
fn source(i: i64) -> i64 {
|
||||
1000 + i
|
||||
}
|
||||
@@ -31,27 +30,27 @@ fn i64_clone() {
|
||||
}
|
||||
|
||||
mod my_clone {
|
||||
use super::{source, sink};
|
||||
use super::{sink, source};
|
||||
|
||||
#[derive(Clone)]
|
||||
struct Wrapper {
|
||||
n: i64
|
||||
n: i64,
|
||||
}
|
||||
|
||||
pub fn wrapper_clone() {
|
||||
let w = Wrapper { n: source(73) };
|
||||
match w {
|
||||
Wrapper { n: n } => sink(n) // $ hasValueFlow=73
|
||||
Wrapper { n: n } => sink(n), // $ hasValueFlow=73
|
||||
}
|
||||
let u = w.clone();
|
||||
match u {
|
||||
Wrapper { n: n } => sink(n) // $ hasValueFlow=73
|
||||
Wrapper { n: n } => sink(n), // $ hasValueFlow=73
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mod flow_through_option {
|
||||
use super::{source, sink};
|
||||
use super::{sink, source};
|
||||
// Test the auto generated flow summaries for `Option`
|
||||
|
||||
fn zip_flow() {
|
||||
@@ -62,8 +61,8 @@ mod flow_through_option {
|
||||
Some((n, m)) => {
|
||||
sink(n);
|
||||
sink(m); // $ hasValueFlow=38
|
||||
},
|
||||
None => ()
|
||||
}
|
||||
None => (),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,6 +73,20 @@ mod flow_through_option {
|
||||
}
|
||||
}
|
||||
|
||||
mod ptr {
|
||||
use super::{sink, source};
|
||||
|
||||
fn read_write() {
|
||||
let mut x: i64 = 0;
|
||||
let y = &mut x as *mut i64;
|
||||
unsafe {
|
||||
sink(std::ptr::read(y));
|
||||
std::ptr::write(y, source(30));
|
||||
sink(std::ptr::read(y)); // $ MISSING: hasValueFlow=30
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
option_clone();
|
||||
result_clone();
|
||||
|
||||
Reference in New Issue
Block a user