From 6a2502c97a994cbb5255406310c6f599c8f3a657 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 2 Dec 2025 13:00:00 +0100 Subject: [PATCH 1/9] Rust: Add type inference tests for raw pointers --- .../type-inference/raw_pointer.rs | 60 ++++++++++++++ .../type-inference/type-inference.expected | 80 +++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 rust/ql/test/library-tests/type-inference/raw_pointer.rs diff --git a/rust/ql/test/library-tests/type-inference/raw_pointer.rs b/rust/ql/test/library-tests/type-inference/raw_pointer.rs new file mode 100644 index 000000000000..4ae863632d96 --- /dev/null +++ b/rust/ql/test/library-tests/type-inference/raw_pointer.rs @@ -0,0 +1,60 @@ +use std::ptr::null_mut; + +fn raw_pointer_const_deref(x: *const i32) -> i32 { + let _y = unsafe { *x }; // $ MISSING: type=_y:i32 + 0 +} + +fn raw_pointer_mut_deref(x: *mut bool) -> i32 { + let _y = unsafe { *x }; // $ MISSING: type=_y:bool + 0 +} + +fn raw_const_borrow() { + let a: i64 = 10; + let x = &raw const a; // $ MISSING: type=x:TPtrConst.i64 + unsafe { + let _y = *x; // $ type=_y:i64 SPURIOUS: target=deref + } +} + +fn raw_mut_borrow() { + let mut a = 10i32; + let x = &raw mut a; // $ MISSING: type=x:TPtrMut.i32 + unsafe { + let _y = *x; // $ type=_y:i32 SPURIOUS: target=deref + } +} + +fn raw_mut_write(cond: bool) { + let a = 10i32; + // The type of `x` must be inferred from the write below. + let ptr_written = null_mut(); // $ target=null_mut MISSING: type=ptr_written:TPtrMut.i32 + if cond { + unsafe { + // NOTE: This write is undefined behavior because `x` is a null pointer. + *ptr_written = a; + let _y = *ptr_written; // $ MISSING: type=_y:i32 + } + } +} + +fn raw_type_from_deref(cond: bool) { + // The type of `x` must be inferred from the read below. + let ptr_read = null_mut(); // $ target=null_mut MISSING: type=ptr_read:TPtrMut.i64 + if cond { + unsafe { + // NOTE: This read is undefined behavior because `x` is a null pointer. + let _y: i64 = *ptr_read; + } + } +} + +pub fn test() { + raw_pointer_const_deref(&10); // $ target=raw_pointer_const_deref + raw_pointer_mut_deref(&mut true); // $ target=raw_pointer_mut_deref + raw_const_borrow(); // $ target=raw_const_borrow + raw_mut_borrow(); // $ target=raw_mut_borrow + raw_mut_write(false); // $ target=raw_mut_write + raw_type_from_deref(false); // $ target=raw_type_from_deref +} diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index e6845968a7b1..e056fdd373bb 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -8333,4 +8333,84 @@ inferType | pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:3:28:3:28 | x | TPtr | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:3:50:6:1 | { ... } | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:4:24:4:24 | x | TPtr | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:5:5:5:5 | 0 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:8:26:8:26 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:8:47:11:1 | { ... } | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:9:24:9:24 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:10:5:10:5 | 0 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:15:9:15:9 | x | TRef | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:15:13:15:24 | &raw const a | TRef | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:15:24:15:24 | a | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:16:5:18:5 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:17:13:17:14 | _y | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:17:18:17:19 | * ... | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:17:19:17:19 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:17:19:17:19 | x | TRef | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:21:21:27:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:22:13:22:13 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:22:17:22:21 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:23:9:23:9 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:23:9:23:9 | x | TRef | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:23:13:23:22 | &raw mut a | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:23:13:23:22 | &raw mut a | TRef | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:23:22:23:22 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:24:5:26:5 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:25:13:25:14 | _y | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:25:18:25:19 | * ... | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:25:19:25:19 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:25:19:25:19 | x | TRef | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:29:18:29:21 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:29:30:40:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:30:9:30:9 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:30:13:30:17 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:33:5:39:5 | if cond {...} | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:33:8:33:11 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:33:13:39:5 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:34:9:38:9 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:36:13:36:24 | * ... | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:36:13:36:28 | ... = ... | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:36:28:36:28 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:42:24:42:27 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:42:36:51:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | * | +| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:45:5:50:5 | if cond {...} | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:45:8:45:11 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:45:13:50:5 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:46:9:49:9 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:48:17:48:18 | _y | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:48:27:48:35 | * ... | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | * | +| raw_pointer.rs:53:15:60:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:54:5:54:32 | raw_pointer_const_deref(...) | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:54:29:54:31 | &10 | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:54:29:54:31 | &10 | TRef | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:54:30:54:31 | 10 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:55:5:55:36 | raw_pointer_mut_deref(...) | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:55:27:55:35 | &mut true | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:55:27:55:35 | &mut true | TRef | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:55:32:55:35 | true | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:56:5:56:22 | raw_const_borrow(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:57:5:57:20 | raw_mut_borrow(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:58:5:58:24 | raw_mut_write(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:58:19:58:23 | false | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:59:5:59:30 | raw_type_from_deref(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:59:25:59:29 | false | | {EXTERNAL LOCATION} | bool | testFailures From 3e7a7d541ba0f9888874e08c86195f508c861818 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 2 Dec 2025 13:14:58 +0100 Subject: [PATCH 2/9] Rust: Include certain types in type inference tests --- .../type-inference/type-inference.expected | 4482 +++++++++++++++++ .../type-inference/type-inference.ql | 16 +- 2 files changed, 4495 insertions(+), 3 deletions(-) diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index e056fdd373bb..0ef15c66fc2b 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -1,3 +1,4485 @@ +inferCertainType +| blanket_impl.rs:15:18:15:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:15:18:15:22 | SelfParam | TRef | blanket_impl.rs:9:5:10:14 | S2 | +| blanket_impl.rs:15:42:17:9 | { ... } | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:15:42:17:9 | { ... } | TRef | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:16:13:16:15 | &S1 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:21:19:21:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:21:19:21:23 | SelfParam | TRef | blanket_impl.rs:20:5:22:5 | Self [trait Clone1] | +| blanket_impl.rs:25:22:25:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:25:22:25:26 | SelfParam | TRef | blanket_impl.rs:24:5:28:5 | Self [trait Duplicatable] | +| blanket_impl.rs:32:19:32:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:32:19:32:23 | SelfParam | TRef | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:32:34:34:9 | { ... } | | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:33:14:33:17 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:33:14:33:17 | self | TRef | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:40:22:40:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:40:22:40:26 | SelfParam | TRef | blanket_impl.rs:38:10:38:18 | T | +| blanket_impl.rs:40:37:42:9 | { ... } | | blanket_impl.rs:38:10:38:18 | T | +| blanket_impl.rs:41:13:41:16 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:41:13:41:16 | self | TRef | blanket_impl.rs:38:10:38:18 | T | +| blanket_impl.rs:45:33:60:5 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:47:18:47:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:48:18:48:22 | (...) | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:48:19:48:21 | &S1 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:49:18:49:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:49:18:49:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:51:18:51:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:51:18:51:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:52:18:52:22 | (...) | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:52:19:52:21 | &S1 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:53:18:53:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:53:18:53:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:54:32:54:34 | &S1 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:55:18:55:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:55:18:55:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:57:18:57:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:57:18:57:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:58:18:58:22 | (...) | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:58:19:58:21 | &S2 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:59:18:59:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:59:18:59:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:68:24:68:24 | x | | {EXTERNAL LOCATION} | i64 | +| blanket_impl.rs:68:32:68:32 | y | | blanket_impl.rs:67:5:69:5 | Self [trait Trait1] | +| blanket_impl.rs:72:24:72:24 | x | | {EXTERNAL LOCATION} | i64 | +| blanket_impl.rs:72:32:72:32 | y | | blanket_impl.rs:71:5:73:5 | Self [trait Trait2] | +| blanket_impl.rs:77:24:77:24 | x | | {EXTERNAL LOCATION} | i64 | +| blanket_impl.rs:77:32:77:32 | y | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:77:49:79:9 | { ... } | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:78:13:78:13 | y | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:84:24:84:24 | x | | {EXTERNAL LOCATION} | i64 | +| blanket_impl.rs:84:32:84:32 | y | | blanket_impl.rs:82:10:82:18 | T | +| blanket_impl.rs:84:49:86:9 | { ... } | | blanket_impl.rs:82:10:82:18 | T | +| blanket_impl.rs:85:28:85:28 | x | | {EXTERNAL LOCATION} | i64 | +| blanket_impl.rs:85:31:85:31 | y | | blanket_impl.rs:82:10:82:18 | T | +| blanket_impl.rs:89:33:98:5 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:90:13:90:14 | x1 | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:90:18:90:39 | ...::assoc_func1(...) | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:91:18:91:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:91:18:91:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:91:20:91:21 | x1 | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:93:18:93:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:93:18:93:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:95:18:95:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:95:18:95:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:97:18:97:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:97:18:97:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:108:22:108:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:108:22:108:26 | SelfParam | TRef | blanket_impl.rs:107:5:109:5 | Self [trait Flag] | +| blanket_impl.rs:112:26:112:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:112:26:112:30 | SelfParam | TRef | blanket_impl.rs:111:5:113:5 | Self [trait TryFlag] | +| blanket_impl.rs:119:26:119:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:119:26:119:30 | SelfParam | TRef | blanket_impl.rs:115:10:115:11 | Fl | +| blanket_impl.rs:119:49:121:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| blanket_impl.rs:119:49:121:9 | { ... } | T | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:120:18:120:21 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:120:18:120:21 | self | TRef | blanket_impl.rs:115:10:115:11 | Fl | +| blanket_impl.rs:126:32:126:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:126:32:126:36 | SelfParam | TRef | blanket_impl.rs:124:5:129:5 | Self [trait TryFlagExt] | +| blanket_impl.rs:126:55:128:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| blanket_impl.rs:126:55:128:9 | { ... } | T | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:127:13:127:16 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:127:13:127:16 | self | TRef | blanket_impl.rs:124:5:129:5 | Self [trait TryFlagExt] | +| blanket_impl.rs:135:32:135:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:135:32:135:36 | SelfParam | TRef | blanket_impl.rs:133:5:136:5 | Self [trait AnotherTryFlag] | +| blanket_impl.rs:144:26:144:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:144:26:144:30 | SelfParam | TRef | blanket_impl.rs:138:5:140:5 | MyTryFlag | +| blanket_impl.rs:144:49:146:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| blanket_impl.rs:144:49:146:9 | { ... } | T | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:145:18:145:21 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:145:18:145:21 | self | TRef | blanket_impl.rs:138:5:140:5 | MyTryFlag | +| blanket_impl.rs:155:22:155:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:155:22:155:26 | SelfParam | TRef | blanket_impl.rs:149:5:151:5 | MyFlag | +| blanket_impl.rs:155:37:157:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:156:13:156:16 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:156:13:156:16 | self | TRef | blanket_impl.rs:149:5:151:5 | MyFlag | +| blanket_impl.rs:166:32:166:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:166:32:166:36 | SelfParam | TRef | blanket_impl.rs:160:5:162:5 | MyOtherFlag | +| blanket_impl.rs:166:55:168:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| blanket_impl.rs:166:55:168:9 | { ... } | T | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:167:18:167:21 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:167:18:167:21 | self | TRef | blanket_impl.rs:160:5:162:5 | MyOtherFlag | +| blanket_impl.rs:171:15:184:5 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:172:13:172:23 | my_try_flag | | blanket_impl.rs:138:5:140:5 | MyTryFlag | +| blanket_impl.rs:172:27:172:50 | MyTryFlag {...} | | blanket_impl.rs:138:5:140:5 | MyTryFlag | +| blanket_impl.rs:172:45:172:48 | true | | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:173:22:173:32 | my_try_flag | | blanket_impl.rs:138:5:140:5 | MyTryFlag | +| blanket_impl.rs:175:13:175:19 | my_flag | | blanket_impl.rs:149:5:151:5 | MyFlag | +| blanket_impl.rs:175:23:175:43 | MyFlag {...} | | blanket_impl.rs:149:5:151:5 | MyFlag | +| blanket_impl.rs:175:38:175:41 | true | | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:178:22:178:28 | my_flag | | blanket_impl.rs:149:5:151:5 | MyFlag | +| blanket_impl.rs:180:13:180:25 | my_other_flag | | blanket_impl.rs:160:5:162:5 | MyOtherFlag | +| blanket_impl.rs:180:29:180:54 | MyOtherFlag {...} | | blanket_impl.rs:160:5:162:5 | MyOtherFlag | +| blanket_impl.rs:180:49:180:52 | true | | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:183:22:183:34 | my_other_flag | | blanket_impl.rs:160:5:162:5 | MyOtherFlag | +| blanket_impl.rs:196:15:196:18 | SelfParam | | blanket_impl.rs:194:5:197:5 | Self [trait MyTrait1] | +| blanket_impl.rs:201:15:201:18 | SelfParam | | blanket_impl.rs:199:5:202:5 | Self [trait MyTrait2] | +| blanket_impl.rs:206:15:206:18 | SelfParam | | blanket_impl.rs:204:5:207:5 | Self [trait MyTrait3] | +| blanket_impl.rs:211:15:211:18 | SelfParam | | blanket_impl.rs:209:5:212:5 | Self [trait MyTrait4a] | +| blanket_impl.rs:216:15:216:18 | SelfParam | | blanket_impl.rs:214:5:217:5 | Self [trait MyTrait4b] | +| blanket_impl.rs:221:15:221:18 | SelfParam | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:221:21:221:22 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:226:15:226:18 | SelfParam | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:226:21:226:22 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:231:15:231:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:231:15:231:18 | SelfParam | TRef | blanket_impl.rs:229:10:229:27 | T | +| blanket_impl.rs:231:21:233:9 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:232:13:232:16 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:232:13:232:16 | self | TRef | blanket_impl.rs:229:10:229:27 | T | +| blanket_impl.rs:238:15:238:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:238:15:238:18 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:238:15:238:18 | SelfParam | TRef.TRef | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:238:21:240:9 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:239:13:239:16 | self | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:239:13:239:16 | self | TRef | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:239:13:239:16 | self | TRef.TRef | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:245:15:245:18 | SelfParam | | blanket_impl.rs:243:10:243:20 | T | +| blanket_impl.rs:245:21:247:9 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:246:13:246:16 | self | | blanket_impl.rs:243:10:243:20 | T | +| blanket_impl.rs:252:15:252:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:252:15:252:18 | SelfParam | TRef | blanket_impl.rs:250:10:250:10 | T | +| blanket_impl.rs:252:21:252:22 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:255:33:263:5 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:257:18:257:22 | (...) | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:257:19:257:21 | &S1 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:258:18:258:23 | (...) | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:258:19:258:22 | &... | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:258:20:258:22 | &S1 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:260:18:260:22 | (...) | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:260:19:260:21 | &S1 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:262:18:262:22 | (...) | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:262:19:262:21 | &S2 | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:272:21:272:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:272:21:272:25 | SelfParam | TRef | blanket_impl.rs:271:5:274:5 | Self [trait Executor] | +| blanket_impl.rs:273:24:273:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:273:24:273:28 | SelfParam | TRef | blanket_impl.rs:271:5:274:5 | Self [trait Executor] | +| blanket_impl.rs:273:31:273:35 | query | | blanket_impl.rs:273:21:273:21 | E | +| blanket_impl.rs:277:21:277:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:277:21:277:25 | SelfParam | TRef | blanket_impl.rs:276:10:276:22 | T | +| blanket_impl.rs:277:28:279:9 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:278:22:278:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:278:22:278:41 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:281:24:281:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:281:24:281:28 | SelfParam | TRef | blanket_impl.rs:276:10:276:22 | T | +| blanket_impl.rs:281:31:281:36 | _query | | blanket_impl.rs:281:21:281:21 | E | +| blanket_impl.rs:281:42:283:9 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:282:22:282:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:282:22:282:41 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:290:16:300:5 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:291:13:291:13 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:291:17:291:34 | MySqlConnection {...} | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:293:9:293:9 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:294:35:294:36 | &c | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:294:36:294:36 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:296:9:296:9 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:296:20:296:40 | "SELECT * FROM users" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:296:20:296:40 | "SELECT * FROM users" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:297:9:297:9 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:297:28:297:48 | "SELECT * FROM users" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:297:28:297:48 | "SELECT * FROM users" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:298:35:298:36 | &c | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:298:36:298:36 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:298:39:298:59 | "SELECT * FROM users" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:298:39:298:59 | "SELECT * FROM users" | TRef | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:299:43:299:44 | &c | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:299:44:299:44 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:299:47:299:67 | "SELECT * FROM users" | | {EXTERNAL LOCATION} | & | +| blanket_impl.rs:299:47:299:67 | "SELECT * FROM users" | TRef | {EXTERNAL LOCATION} | str | +| closure.rs:4:19:31:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:6:27:6:27 | a | | {EXTERNAL LOCATION} | bool | +| closure.rs:6:30:6:30 | b | | {EXTERNAL LOCATION} | bool | +| closure.rs:6:33:6:33 | a | | {EXTERNAL LOCATION} | bool | +| closure.rs:6:33:6:38 | ... && ... | | {EXTERNAL LOCATION} | bool | +| closure.rs:6:38:6:38 | b | | {EXTERNAL LOCATION} | bool | +| closure.rs:8:13:8:13 | x | | {EXTERNAL LOCATION} | i64 | +| closure.rs:8:22:8:25 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:9:31:9:34 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:10:26:10:26 | x | | {EXTERNAL LOCATION} | i64 | +| closure.rs:14:25:14:25 | n | | {EXTERNAL LOCATION} | i64 | +| closure.rs:14:33:14:33 | n | | {EXTERNAL LOCATION} | i64 | +| closure.rs:25:21:25:24 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:30:13:30:15 | _b2 | | {EXTERNAL LOCATION} | bool | +| closure.rs:35:44:35:44 | f | | closure.rs:35:20:35:41 | F | +| closure.rs:35:50:37:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:36:23:36:23 | f | | closure.rs:35:20:35:41 | F | +| closure.rs:36:25:36:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:39:46:39:46 | f | | closure.rs:39:22:39:43 | F | +| closure.rs:39:52:42:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:41:9:41:9 | f | | closure.rs:39:22:39:43 | F | +| closure.rs:44:39:44:39 | f | | closure.rs:44:20:44:36 | F | +| closure.rs:44:45:44:45 | a | | closure.rs:44:14:44:14 | A | +| closure.rs:44:56:46:5 | { ... } | | closure.rs:44:17:44:17 | B | +| closure.rs:45:9:45:9 | f | | closure.rs:44:20:44:36 | F | +| closure.rs:45:11:45:11 | a | | closure.rs:44:14:44:14 | A | +| closure.rs:48:18:48:18 | f | | closure.rs:48:21:48:43 | impl ... | +| closure.rs:48:53:50:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:49:9:49:9 | f | | closure.rs:48:21:48:43 | impl ... | +| closure.rs:52:15:64:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:53:18:53:18 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:54:16:54:16 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:60:27:60:30 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:63:13:63:15 | _r2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:63:19:63:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:68:54:68:54 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:68:54:68:54 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:68:54:68:54 | f | T | closure.rs:68:26:68:51 | F | +| closure.rs:68:65:68:67 | arg | | closure.rs:68:20:68:20 | A | +| closure.rs:68:78:70:5 | { ... } | | closure.rs:68:23:68:23 | B | +| closure.rs:69:9:69:9 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:69:9:69:9 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:69:9:69:9 | f | T | closure.rs:68:26:68:51 | F | +| closure.rs:69:11:69:13 | arg | | closure.rs:68:20:68:20 | A | +| closure.rs:72:30:72:30 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:72:30:72:30 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:72:30:72:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:72:30:72:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:72:30:72:30 | f | T.dyn(Args).T0 | closure.rs:72:24:72:24 | A | +| closure.rs:72:30:72:30 | f | T.dyn(Output) | closure.rs:72:27:72:27 | B | +| closure.rs:72:58:72:60 | arg | | closure.rs:72:24:72:24 | A | +| closure.rs:72:66:75:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:73:31:73:31 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:73:31:73:31 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:73:31:73:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:73:31:73:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:73:31:73:31 | f | T.dyn(Args).T0 | closure.rs:72:24:72:24 | A | +| closure.rs:73:31:73:31 | f | T.dyn(Output) | closure.rs:72:27:72:27 | B | +| closure.rs:73:34:73:36 | arg | | closure.rs:72:24:72:24 | A | +| closure.rs:74:31:74:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| closure.rs:74:31:74:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| closure.rs:74:41:74:41 | _ | | {EXTERNAL LOCATION} | i64 | +| closure.rs:74:49:74:52 | true | | {EXTERNAL LOCATION} | bool | +| dereference.rs:12:14:12:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:12:14:12:18 | SelfParam | TRef | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:12:29:14:5 | { ... } | | {EXTERNAL LOCATION} | & | +| dereference.rs:12:29:14:5 | { ... } | TRef | {EXTERNAL LOCATION} | i64 | +| dereference.rs:13:9:13:19 | &... | | {EXTERNAL LOCATION} | & | +| dereference.rs:13:10:13:13 | self | | {EXTERNAL LOCATION} | & | +| dereference.rs:13:10:13:13 | self | TRef | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:25:14:25:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:25:14:25:18 | SelfParam | TRef | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:25:14:25:18 | SelfParam | TRef.T | dereference.rs:21:6:21:6 | T | +| dereference.rs:25:27:27:5 | { ... } | | {EXTERNAL LOCATION} | & | +| dereference.rs:25:27:27:5 | { ... } | TRef | dereference.rs:21:6:21:6 | T | +| dereference.rs:26:9:26:19 | &... | | {EXTERNAL LOCATION} | & | +| dereference.rs:26:10:26:13 | self | | {EXTERNAL LOCATION} | & | +| dereference.rs:26:10:26:13 | self | TRef | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:26:10:26:13 | self | TRef.T | dereference.rs:21:6:21:6 | T | +| dereference.rs:33:12:33:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:33:12:33:16 | SelfParam | TRef | dereference.rs:30:1:30:15 | S | +| dereference.rs:33:12:33:16 | SelfParam | TRef.T | dereference.rs:32:6:32:6 | T | +| dereference.rs:33:25:35:5 | { ... } | | {EXTERNAL LOCATION} | & | +| dereference.rs:33:25:35:5 | { ... } | TRef | dereference.rs:32:6:32:6 | T | +| dereference.rs:34:9:34:15 | &... | | {EXTERNAL LOCATION} | & | +| dereference.rs:34:10:34:13 | self | | {EXTERNAL LOCATION} | & | +| dereference.rs:34:10:34:13 | self | TRef | dereference.rs:30:1:30:15 | S | +| dereference.rs:34:10:34:13 | self | TRef.T | dereference.rs:32:6:32:6 | T | +| dereference.rs:38:39:50:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:40:9:40:10 | a1 | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:40:14:40:42 | MyIntPointer {...} | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:40:36:40:40 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:41:15:41:16 | a1 | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:44:9:44:10 | a2 | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:44:14:44:42 | MyIntPointer {...} | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:44:36:44:40 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:45:16:45:17 | a2 | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:48:9:48:10 | a3 | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:48:14:48:42 | MyIntPointer {...} | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:48:36:48:40 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:49:17:49:18 | a3 | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:52:39:64:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:54:9:54:10 | c1 | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:54:14:54:42 | MySmartPointer {...} | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:54:38:54:40 | 'a' | | {EXTERNAL LOCATION} | char | +| dereference.rs:55:15:55:16 | c1 | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:58:9:58:10 | c2 | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:58:14:58:42 | MySmartPointer {...} | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:58:38:58:40 | 'a' | | {EXTERNAL LOCATION} | char | +| dereference.rs:59:16:59:17 | c2 | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:62:9:62:10 | c3 | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:62:14:62:44 | MySmartPointer {...} | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:62:38:62:42 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:63:17:63:18 | c3 | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:66:31:78:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:68:9:68:10 | e1 | | {EXTERNAL LOCATION} | & | +| dereference.rs:68:14:68:17 | &'a' | | {EXTERNAL LOCATION} | & | +| dereference.rs:68:15:68:17 | 'a' | | {EXTERNAL LOCATION} | char | +| dereference.rs:69:15:69:16 | e1 | | {EXTERNAL LOCATION} | & | +| dereference.rs:72:9:72:10 | e2 | | {EXTERNAL LOCATION} | & | +| dereference.rs:72:14:72:17 | &'a' | | {EXTERNAL LOCATION} | & | +| dereference.rs:72:15:72:17 | 'a' | | {EXTERNAL LOCATION} | char | +| dereference.rs:73:16:73:17 | e2 | | {EXTERNAL LOCATION} | & | +| dereference.rs:76:9:76:10 | e3 | | {EXTERNAL LOCATION} | & | +| dereference.rs:76:14:76:19 | &34i64 | | {EXTERNAL LOCATION} | & | +| dereference.rs:76:15:76:19 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:77:17:77:18 | e3 | | {EXTERNAL LOCATION} | & | +| dereference.rs:80:31:92:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:82:9:82:10 | g1 | | {EXTERNAL LOCATION} | Box | +| dereference.rs:82:9:82:10 | g1 | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:82:9:82:10 | g1 | T | {EXTERNAL LOCATION} | char | +| dereference.rs:82:25:82:37 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| dereference.rs:82:25:82:37 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:82:34:82:36 | 'a' | | {EXTERNAL LOCATION} | char | +| dereference.rs:83:15:83:16 | g1 | | {EXTERNAL LOCATION} | Box | +| dereference.rs:83:15:83:16 | g1 | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:83:15:83:16 | g1 | T | {EXTERNAL LOCATION} | char | +| dereference.rs:86:9:86:10 | g2 | | {EXTERNAL LOCATION} | Box | +| dereference.rs:86:9:86:10 | g2 | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:86:9:86:10 | g2 | T | {EXTERNAL LOCATION} | char | +| dereference.rs:86:25:86:37 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| dereference.rs:86:25:86:37 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:86:34:86:36 | 'a' | | {EXTERNAL LOCATION} | char | +| dereference.rs:87:16:87:17 | g2 | | {EXTERNAL LOCATION} | Box | +| dereference.rs:87:16:87:17 | g2 | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:87:16:87:17 | g2 | T | {EXTERNAL LOCATION} | char | +| dereference.rs:90:9:90:10 | g3 | | {EXTERNAL LOCATION} | Box | +| dereference.rs:90:9:90:10 | g3 | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:90:9:90:10 | g3 | T | {EXTERNAL LOCATION} | i64 | +| dereference.rs:90:24:90:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| dereference.rs:90:24:90:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:90:33:90:37 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:91:17:91:18 | g3 | | {EXTERNAL LOCATION} | Box | +| dereference.rs:91:17:91:18 | g3 | A | {EXTERNAL LOCATION} | Global | +| dereference.rs:91:17:91:18 | g3 | T | {EXTERNAL LOCATION} | i64 | +| dereference.rs:94:27:105:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:96:9:96:9 | x | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:96:13:96:41 | MyIntPointer {...} | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:96:35:96:39 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:97:14:97:14 | x | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:100:9:100:9 | x | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:100:13:100:43 | MySmartPointer {...} | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:100:37:100:41 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:101:14:101:14 | x | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:103:9:103:9 | z | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:103:13:103:45 | MySmartPointer {...} | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:103:39:103:42 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:104:14:104:14 | z | | dereference.rs:17:1:19:1 | MySmartPointer | +| dereference.rs:131:19:139:5 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:132:17:132:26 | key_to_key | | {EXTERNAL LOCATION} | HashMap | +| dereference.rs:132:17:132:26 | key_to_key | K | {EXTERNAL LOCATION} | & | +| dereference.rs:132:17:132:26 | key_to_key | K.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:132:17:132:26 | key_to_key | S | {EXTERNAL LOCATION} | RandomState | +| dereference.rs:132:17:132:26 | key_to_key | V | {EXTERNAL LOCATION} | & | +| dereference.rs:132:17:132:26 | key_to_key | V.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:132:30:132:57 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| dereference.rs:132:30:132:57 | ...::new(...) | K | {EXTERNAL LOCATION} | & | +| dereference.rs:132:30:132:57 | ...::new(...) | K.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:132:30:132:57 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| dereference.rs:132:30:132:57 | ...::new(...) | V | {EXTERNAL LOCATION} | & | +| dereference.rs:132:30:132:57 | ...::new(...) | V.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:133:17:133:19 | key | | {EXTERNAL LOCATION} | & | +| dereference.rs:133:23:133:29 | &... | | {EXTERNAL LOCATION} | & | +| dereference.rs:133:24:133:29 | Key {...} | | dereference.rs:110:5:111:21 | Key | +| dereference.rs:134:9:137:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| dereference.rs:134:32:134:41 | key_to_key | | {EXTERNAL LOCATION} | HashMap | +| dereference.rs:134:32:134:41 | key_to_key | K | {EXTERNAL LOCATION} | & | +| dereference.rs:134:32:134:41 | key_to_key | K.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:134:32:134:41 | key_to_key | S | {EXTERNAL LOCATION} | RandomState | +| dereference.rs:134:32:134:41 | key_to_key | V | {EXTERNAL LOCATION} | & | +| dereference.rs:134:32:134:41 | key_to_key | V.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:134:47:134:49 | key | | {EXTERNAL LOCATION} | & | +| dereference.rs:134:52:137:9 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:136:13:136:15 | key | | {EXTERNAL LOCATION} | & | +| dereference.rs:138:9:138:18 | key_to_key | | {EXTERNAL LOCATION} | HashMap | +| dereference.rs:138:9:138:18 | key_to_key | K | {EXTERNAL LOCATION} | & | +| dereference.rs:138:9:138:18 | key_to_key | K.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:138:9:138:18 | key_to_key | S | {EXTERNAL LOCATION} | RandomState | +| dereference.rs:138:9:138:18 | key_to_key | V | {EXTERNAL LOCATION} | & | +| dereference.rs:138:9:138:18 | key_to_key | V.TRef | dereference.rs:110:5:111:21 | Key | +| dereference.rs:138:27:138:29 | key | | {EXTERNAL LOCATION} | & | +| dereference.rs:138:32:138:34 | key | | {EXTERNAL LOCATION} | & | +| dereference.rs:144:16:144:19 | SelfParam | | dereference.rs:143:5:145:5 | Self [trait MyTrait1] | +| dereference.rs:151:16:151:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:151:16:151:19 | SelfParam | TRef | dereference.rs:147:5:147:13 | S | +| dereference.rs:151:27:153:9 | { ... } | | dereference.rs:147:5:147:13 | S | +| dereference.rs:158:16:158:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:158:16:158:19 | SelfParam | TRef | dereference.rs:147:5:147:13 | S | +| dereference.rs:158:29:160:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:164:16:164:19 | SelfParam | | dereference.rs:163:5:165:5 | Self [trait MyTrait2] | +| dereference.rs:164:22:164:24 | arg | | dereference.rs:163:20:163:21 | T1 | +| dereference.rs:169:16:169:19 | SelfParam | | dereference.rs:147:5:147:13 | S | +| dereference.rs:169:22:169:24 | arg | | {EXTERNAL LOCATION} | & | +| dereference.rs:169:22:169:24 | arg | TRef | dereference.rs:147:5:147:13 | S | +| dereference.rs:169:36:171:9 | { ... } | | dereference.rs:147:5:147:13 | S | +| dereference.rs:176:16:176:19 | SelfParam | | dereference.rs:147:5:147:13 | S | +| dereference.rs:176:22:176:24 | arg | | {EXTERNAL LOCATION} | & | +| dereference.rs:176:22:176:24 | arg | TRef | dereference.rs:147:5:147:13 | S | +| dereference.rs:176:42:178:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:181:19:188:5 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:182:17:182:20 | (...) | | {EXTERNAL LOCATION} | & | +| dereference.rs:182:18:182:19 | &S | | {EXTERNAL LOCATION} | & | +| dereference.rs:184:17:184:24 | (...) | | {EXTERNAL LOCATION} | & | +| dereference.rs:184:18:184:23 | &mut S | | {EXTERNAL LOCATION} | & | +| dereference.rs:186:23:186:24 | &S | | {EXTERNAL LOCATION} | & | +| dereference.rs:187:23:187:28 | &mut S | | {EXTERNAL LOCATION} | & | +| dereference.rs:196:16:196:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:196:16:196:20 | SelfParam | TRef | dereference.rs:195:5:197:5 | Self [trait Bar] | +| dereference.rs:201:16:201:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:201:16:201:24 | SelfParam | TRef | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:201:27:203:9 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:202:22:202:38 | "In struct impl!\\n" | | {EXTERNAL LOCATION} | & | +| dereference.rs:202:22:202:38 | "In struct impl!\\n" | TRef | {EXTERNAL LOCATION} | str | +| dereference.rs:202:22:202:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:202:22:202:38 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:208:16:208:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| dereference.rs:208:16:208:20 | SelfParam | TRef | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:208:23:210:9 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:209:22:209:37 | "In trait impl!\\n" | | {EXTERNAL LOCATION} | & | +| dereference.rs:209:22:209:37 | "In trait impl!\\n" | TRef | {EXTERNAL LOCATION} | str | +| dereference.rs:209:22:209:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:209:22:209:37 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:213:19:216:5 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:214:17:214:17 | f | | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:214:21:214:26 | Foo {...} | | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:215:9:215:9 | f | | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:219:15:228:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dereference.rs:220:5:220:38 | explicit_monomorphic_dereference(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:221:5:221:38 | explicit_polymorphic_dereference(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:222:5:222:30 | explicit_ref_dereference(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:223:5:223:30 | explicit_box_dereference(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:224:5:224:26 | implicit_dereference(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:225:5:225:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:226:5:226:26 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| dereference.rs:227:5:227:34 | ...::main(...) | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:7:10:7:14 | SelfParam | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:7:10:7:14 | SelfParam | TRef | dyn_type.rs:5:1:8:1 | Self [trait MyTrait1] | +| dyn_type.rs:12:12:12:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:12:12:12:16 | SelfParam | TRef | dyn_type.rs:10:1:13:1 | Self [trait GenericGet] | +| dyn_type.rs:18:12:18:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:18:12:18:16 | SelfParam | TRef | dyn_type.rs:15:1:19:1 | Self [trait AssocTrait] | +| dyn_type.rs:28:10:28:14 | SelfParam | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:28:10:28:14 | SelfParam | TRef | dyn_type.rs:21:1:24:1 | MyStruct | +| dyn_type.rs:28:27:30:5 | { ... } | | {EXTERNAL LOCATION} | String | +| dyn_type.rs:29:17:29:30 | "MyTrait1: {}" | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:29:17:29:30 | "MyTrait1: {}" | TRef | {EXTERNAL LOCATION} | str | +| dyn_type.rs:29:17:29:42 | ...::format(...) | | {EXTERNAL LOCATION} | String | +| dyn_type.rs:29:33:29:36 | self | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:29:33:29:36 | self | TRef | dyn_type.rs:21:1:24:1 | MyStruct | +| dyn_type.rs:40:12:40:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:40:12:40:16 | SelfParam | TRef | dyn_type.rs:33:1:36:1 | GenStruct | +| dyn_type.rs:40:12:40:16 | SelfParam | TRef.A | dyn_type.rs:38:6:38:21 | A | +| dyn_type.rs:40:24:42:5 | { ... } | | dyn_type.rs:38:6:38:21 | A | +| dyn_type.rs:41:9:41:12 | self | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:41:9:41:12 | self | TRef | dyn_type.rs:33:1:36:1 | GenStruct | +| dyn_type.rs:41:9:41:12 | self | TRef.A | dyn_type.rs:38:6:38:21 | A | +| dyn_type.rs:51:12:51:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:51:12:51:16 | SelfParam | TRef | dyn_type.rs:33:1:36:1 | GenStruct | +| dyn_type.rs:51:12:51:16 | SelfParam | TRef.A | dyn_type.rs:45:6:45:8 | GGP | +| dyn_type.rs:51:34:53:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:51:34:53:5 | { ... } | T0 | dyn_type.rs:45:6:45:8 | GGP | +| dyn_type.rs:51:34:53:5 | { ... } | T1 | {EXTERNAL LOCATION} | bool | +| dyn_type.rs:52:9:52:34 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:52:10:52:13 | self | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:52:10:52:13 | self | TRef | dyn_type.rs:33:1:36:1 | GenStruct | +| dyn_type.rs:52:10:52:13 | self | TRef.A | dyn_type.rs:45:6:45:8 | GGP | +| dyn_type.rs:52:30:52:33 | true | | {EXTERNAL LOCATION} | bool | +| dyn_type.rs:56:40:56:40 | a | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:56:40:56:40 | a | TRef | dyn_type.rs:56:13:56:37 | G | +| dyn_type.rs:56:52:58:1 | { ... } | | dyn_type.rs:56:10:56:10 | A | +| dyn_type.rs:57:5:57:5 | a | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:57:5:57:5 | a | TRef | dyn_type.rs:56:13:56:37 | G | +| dyn_type.rs:60:46:60:46 | a | | dyn_type.rs:60:18:60:43 | A | +| dyn_type.rs:60:78:62:1 | { ... } | | {EXTERNAL LOCATION} | Box | +| dyn_type.rs:60:78:62:1 | { ... } | A | {EXTERNAL LOCATION} | Global | +| dyn_type.rs:60:78:62:1 | { ... } | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | +| dyn_type.rs:60:78:62:1 | { ... } | T.dyn(A) | dyn_type.rs:60:18:60:43 | A | +| dyn_type.rs:61:5:61:36 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| dyn_type.rs:61:5:61:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| dyn_type.rs:61:14:61:35 | GenStruct {...} | | dyn_type.rs:33:1:36:1 | GenStruct | +| dyn_type.rs:61:33:61:33 | a | | dyn_type.rs:60:18:60:43 | A | +| dyn_type.rs:64:25:64:27 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:64:25:64:27 | obj | TRef | dyn_type.rs:5:1:8:1 | dyn MyTrait1 | +| dyn_type.rs:64:45:66:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:65:21:65:23 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:65:21:65:23 | obj | TRef | dyn_type.rs:5:1:8:1 | dyn MyTrait1 | +| dyn_type.rs:68:27:68:29 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:68:27:68:29 | obj | TRef | dyn_type.rs:10:1:13:1 | dyn GenericGet | +| dyn_type.rs:68:27:68:29 | obj | TRef.dyn(A) | {EXTERNAL LOCATION} | String | +| dyn_type.rs:68:57:71:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:69:22:69:24 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:69:22:69:24 | obj | TRef | dyn_type.rs:10:1:13:1 | dyn GenericGet | +| dyn_type.rs:69:22:69:24 | obj | TRef.dyn(A) | {EXTERNAL LOCATION} | String | +| dyn_type.rs:70:26:70:28 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:70:26:70:28 | obj | TRef | dyn_type.rs:10:1:13:1 | dyn GenericGet | +| dyn_type.rs:70:26:70:28 | obj | TRef.dyn(A) | {EXTERNAL LOCATION} | String | +| dyn_type.rs:73:26:76:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:74:9:74:11 | obj | | {EXTERNAL LOCATION} | Box | +| dyn_type.rs:74:9:74:11 | obj | A | {EXTERNAL LOCATION} | Global | +| dyn_type.rs:74:9:74:11 | obj | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | +| dyn_type.rs:74:15:74:33 | get_box_trait(...) | | {EXTERNAL LOCATION} | Box | +| dyn_type.rs:74:15:74:33 | get_box_trait(...) | A | {EXTERNAL LOCATION} | Global | +| dyn_type.rs:74:15:74:33 | get_box_trait(...) | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | +| dyn_type.rs:74:29:74:32 | true | | {EXTERNAL LOCATION} | bool | +| dyn_type.rs:75:21:75:23 | obj | | {EXTERNAL LOCATION} | Box | +| dyn_type.rs:75:21:75:23 | obj | A | {EXTERNAL LOCATION} | Global | +| dyn_type.rs:75:21:75:23 | obj | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | +| dyn_type.rs:78:24:78:24 | a | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:78:24:78:24 | a | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | +| dyn_type.rs:78:24:78:24 | a | TRef.dyn(AP) | dyn_type.rs:78:21:78:21 | B | +| dyn_type.rs:78:24:78:24 | a | TRef.dyn(GP) | dyn_type.rs:78:18:78:18 | A | +| dyn_type.rs:78:65:80:1 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:78:65:80:1 | { ... } | T0 | dyn_type.rs:78:18:78:18 | A | +| dyn_type.rs:78:65:80:1 | { ... } | T1 | dyn_type.rs:78:21:78:21 | B | +| dyn_type.rs:79:5:79:5 | a | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:79:5:79:5 | a | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | +| dyn_type.rs:79:5:79:5 | a | TRef.dyn(AP) | dyn_type.rs:78:21:78:21 | B | +| dyn_type.rs:79:5:79:5 | a | TRef.dyn(GP) | dyn_type.rs:78:18:78:18 | A | +| dyn_type.rs:82:55:82:55 | a | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:82:55:82:55 | a | TRef | dyn_type.rs:82:20:82:52 | T | +| dyn_type.rs:82:72:84:1 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:82:72:84:1 | { ... } | T0 | dyn_type.rs:82:14:82:14 | A | +| dyn_type.rs:82:72:84:1 | { ... } | T1 | dyn_type.rs:82:17:82:17 | B | +| dyn_type.rs:83:5:83:5 | a | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:83:5:83:5 | a | TRef | dyn_type.rs:82:20:82:52 | T | +| dyn_type.rs:86:20:86:22 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:86:20:86:22 | obj | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | +| dyn_type.rs:86:20:86:22 | obj | TRef.dyn(AP) | {EXTERNAL LOCATION} | bool | +| dyn_type.rs:86:20:86:22 | obj | TRef.dyn(GP) | {EXTERNAL LOCATION} | i64 | +| dyn_type.rs:86:58:99:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:87:9:90:5 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:90:11:90:13 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:90:11:90:13 | obj | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | +| dyn_type.rs:90:11:90:13 | obj | TRef.dyn(AP) | {EXTERNAL LOCATION} | bool | +| dyn_type.rs:90:11:90:13 | obj | TRef.dyn(GP) | {EXTERNAL LOCATION} | i64 | +| dyn_type.rs:91:9:94:5 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:94:9:94:26 | assoc_dyn_get(...) | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:94:23:94:25 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:94:23:94:25 | obj | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | +| dyn_type.rs:94:23:94:25 | obj | TRef.dyn(AP) | {EXTERNAL LOCATION} | bool | +| dyn_type.rs:94:23:94:25 | obj | TRef.dyn(GP) | {EXTERNAL LOCATION} | i64 | +| dyn_type.rs:95:9:98:5 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:98:9:98:22 | assoc_get(...) | | {EXTERNAL LOCATION} | (T_2) | +| dyn_type.rs:98:19:98:21 | obj | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:98:19:98:21 | obj | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | +| dyn_type.rs:98:19:98:21 | obj | TRef.dyn(AP) | {EXTERNAL LOCATION} | bool | +| dyn_type.rs:98:19:98:21 | obj | TRef.dyn(GP) | {EXTERNAL LOCATION} | i64 | +| dyn_type.rs:101:15:108:1 | { ... } | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:102:5:102:49 | test_basic_dyn_trait(...) | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:102:26:102:48 | &... | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:102:27:102:48 | MyStruct {...} | | dyn_type.rs:21:1:24:1 | MyStruct | +| dyn_type.rs:103:5:105:6 | test_generic_dyn_trait(...) | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:103:28:105:5 | &... | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:103:29:105:5 | GenStruct {...} | | dyn_type.rs:33:1:36:1 | GenStruct | +| dyn_type.rs:104:16:104:17 | "" | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:104:16:104:17 | "" | TRef | {EXTERNAL LOCATION} | str | +| dyn_type.rs:106:5:106:25 | test_poly_dyn_trait(...) | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:107:5:107:46 | test_assoc_type(...) | | {EXTERNAL LOCATION} | () | +| dyn_type.rs:107:21:107:45 | &... | | {EXTERNAL LOCATION} | & | +| dyn_type.rs:107:22:107:45 | GenStruct {...} | | dyn_type.rs:33:1:36:1 | GenStruct | +| invalid/main.rs:8:16:8:19 | SelfParam | | invalid/main.rs:7:5:9:5 | Self [trait T1] | +| invalid/main.rs:8:22:8:23 | { ... } | | {EXTERNAL LOCATION} | () | +| invalid/main.rs:12:16:12:19 | SelfParam | | invalid/main.rs:11:5:15:5 | Self [trait T2] | +| invalid/main.rs:12:22:14:9 | { ... } | | {EXTERNAL LOCATION} | () | +| invalid/main.rs:13:13:13:16 | self | | invalid/main.rs:11:5:15:5 | Self [trait T2] | +| invalid/main.rs:25:22:25:25 | SelfParam | | invalid/main.rs:24:5:26:5 | Self [trait AddAlias] | +| invalid/main.rs:25:28:25:32 | other | | invalid/main.rs:24:5:26:5 | Self [trait AddAlias] | +| invalid/main.rs:29:22:29:25 | SelfParam | | invalid/main.rs:21:5:22:20 | Num | +| invalid/main.rs:29:28:29:32 | other | | invalid/main.rs:21:5:22:20 | Num | +| invalid/main.rs:29:49:31:9 | { ... } | | invalid/main.rs:21:5:22:20 | Num | +| invalid/main.rs:30:17:30:20 | self | | invalid/main.rs:21:5:22:20 | Num | +| invalid/main.rs:30:26:30:30 | other | | invalid/main.rs:21:5:22:20 | Num | +| invalid/main.rs:39:16:39:19 | SelfParam | | invalid/main.rs:35:10:35:20 | T | +| invalid/main.rs:39:22:39:26 | other | | invalid/main.rs:35:10:35:20 | T | +| invalid/main.rs:39:43:41:9 | { ... } | | invalid/main.rs:35:10:35:20 | T | +| invalid/main.rs:40:13:40:16 | self | | invalid/main.rs:35:10:35:20 | T | +| invalid/main.rs:40:28:40:32 | other | | invalid/main.rs:35:10:35:20 | T | +| invalid/main.rs:44:30:49:5 | { ... } | | {EXTERNAL LOCATION} | () | +| invalid/main.rs:57:19:57:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:57:19:57:23 | SelfParam | TRef | invalid/main.rs:56:5:58:5 | Self [trait Clone1] | +| invalid/main.rs:61:22:61:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:61:22:61:26 | SelfParam | TRef | invalid/main.rs:60:5:64:5 | Self [trait Duplicatable] | +| invalid/main.rs:68:19:68:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:68:19:68:23 | SelfParam | TRef | invalid/main.rs:53:5:54:14 | S1 | +| invalid/main.rs:68:34:70:9 | { ... } | | invalid/main.rs:53:5:54:14 | S1 | +| invalid/main.rs:69:14:69:17 | self | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:69:14:69:17 | self | TRef | invalid/main.rs:53:5:54:14 | S1 | +| invalid/main.rs:75:22:75:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:75:22:75:26 | SelfParam | TRef | invalid/main.rs:53:5:54:14 | S1 | +| invalid/main.rs:75:37:77:9 | { ... } | | invalid/main.rs:53:5:54:14 | S1 | +| invalid/main.rs:76:14:76:17 | self | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:76:14:76:17 | self | TRef | invalid/main.rs:53:5:54:14 | S1 | +| invalid/main.rs:83:22:83:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:83:22:83:26 | SelfParam | TRef | invalid/main.rs:81:10:81:18 | T | +| invalid/main.rs:83:37:85:9 | { ... } | | invalid/main.rs:81:10:81:18 | T | +| invalid/main.rs:84:13:84:16 | self | | {EXTERNAL LOCATION} | & | +| invalid/main.rs:84:13:84:16 | self | TRef | invalid/main.rs:81:10:81:18 | T | +| invalid/main.rs:88:33:92:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:25:30:28:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:26:13:26:13 | x | | main.rs:5:5:8:5 | MyThing | +| main.rs:26:17:26:32 | MyThing {...} | | main.rs:5:5:8:5 | MyThing | +| main.rs:27:18:27:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:27:18:27:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:27:18:27:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:27:18:27:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:27:26:27:26 | x | | main.rs:5:5:8:5 | MyThing | +| main.rs:30:29:30:29 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:30:29:30:29 | x | A | {EXTERNAL LOCATION} | bool | +| main.rs:30:46:33:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:31:17:31:17 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:31:17:31:17 | x | A | {EXTERNAL LOCATION} | bool | +| main.rs:32:18:32:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:32:18:32:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:32:18:32:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:32:18:32:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:35:31:63:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:37:13:37:13 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:37:13:37:13 | x | A | main.rs:3:5:4:13 | S | +| main.rs:37:17:37:42 | GenericThing::<...> {...} | | main.rs:16:5:19:5 | GenericThing | +| main.rs:37:17:37:42 | GenericThing::<...> {...} | A | main.rs:3:5:4:13 | S | +| main.rs:38:18:38:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:38:18:38:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:38:18:38:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:38:18:38:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:38:26:38:26 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:38:26:38:26 | x | A | main.rs:3:5:4:13 | S | +| main.rs:41:13:41:13 | y | | main.rs:16:5:19:5 | GenericThing | +| main.rs:41:17:41:37 | GenericThing {...} | | main.rs:16:5:19:5 | GenericThing | +| main.rs:42:18:42:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:42:18:42:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:42:18:42:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:42:18:42:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:42:26:42:26 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:42:26:42:26 | x | A | main.rs:3:5:4:13 | S | +| main.rs:46:13:46:13 | x | | main.rs:21:5:23:5 | OptionS | +| main.rs:46:17:48:9 | OptionS {...} | | main.rs:21:5:23:5 | OptionS | +| main.rs:49:18:49:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:49:18:49:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:49:18:49:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:49:18:49:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:49:26:49:26 | x | | main.rs:21:5:23:5 | OptionS | +| main.rs:52:13:52:13 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:52:13:52:13 | x | A | main.rs:10:5:14:5 | MyOption | +| main.rs:52:13:52:13 | x | A.T | main.rs:3:5:4:13 | S | +| main.rs:52:17:54:9 | GenericThing::<...> {...} | | main.rs:16:5:19:5 | GenericThing | +| main.rs:52:17:54:9 | GenericThing::<...> {...} | A | main.rs:10:5:14:5 | MyOption | +| main.rs:52:17:54:9 | GenericThing::<...> {...} | A.T | main.rs:3:5:4:13 | S | +| main.rs:55:18:55:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:55:18:55:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:55:18:55:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:55:18:55:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:55:26:55:26 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:55:26:55:26 | x | A | main.rs:10:5:14:5 | MyOption | +| main.rs:55:26:55:26 | x | A.T | main.rs:3:5:4:13 | S | +| main.rs:57:17:57:17 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:57:21:59:9 | GenericThing {...} | | main.rs:16:5:19:5 | GenericThing | +| main.rs:61:13:61:13 | a | | main.rs:10:5:14:5 | MyOption | +| main.rs:61:13:61:13 | a | T | main.rs:3:5:4:13 | S | +| main.rs:61:30:61:30 | x | | main.rs:16:5:19:5 | GenericThing | +| main.rs:62:18:62:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:62:18:62:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:62:18:62:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:62:18:62:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:62:26:62:26 | a | | main.rs:10:5:14:5 | MyOption | +| main.rs:62:26:62:26 | a | T | main.rs:3:5:4:13 | S | +| main.rs:65:16:68:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:66:9:66:29 | simple_field_access(...) | | {EXTERNAL LOCATION} | () | +| main.rs:67:9:67:30 | generic_field_access(...) | | {EXTERNAL LOCATION} | () | +| main.rs:75:19:75:22 | SelfParam | | main.rs:72:5:72:21 | Foo | +| main.rs:75:33:77:9 | { ... } | | main.rs:72:5:72:21 | Foo | +| main.rs:76:13:76:16 | self | | main.rs:72:5:72:21 | Foo | +| main.rs:79:19:79:22 | SelfParam | | main.rs:72:5:72:21 | Foo | +| main.rs:79:32:81:9 | { ... } | | main.rs:72:5:72:21 | Foo | +| main.rs:80:13:80:16 | self | | main.rs:72:5:72:21 | Foo | +| main.rs:84:23:89:5 | { ... } | | main.rs:72:5:72:21 | Foo | +| main.rs:85:18:85:33 | "main.rs::m1::f\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:85:18:85:33 | "main.rs::m1::f\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:85:18:85:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:85:18:85:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:86:13:86:13 | x | | main.rs:72:5:72:21 | Foo | +| main.rs:86:17:86:22 | Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:87:20:87:25 | Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:88:9:88:9 | x | | main.rs:72:5:72:21 | Foo | +| main.rs:91:14:91:14 | x | | main.rs:72:5:72:21 | Foo | +| main.rs:91:22:91:22 | y | | main.rs:72:5:72:21 | Foo | +| main.rs:91:37:95:5 | { ... } | | main.rs:72:5:72:21 | Foo | +| main.rs:92:18:92:33 | "main.rs::m1::g\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:92:18:92:33 | "main.rs::m1::g\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:92:18:92:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:92:18:92:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:93:9:93:9 | x | | main.rs:72:5:72:21 | Foo | +| main.rs:94:9:94:9 | y | | main.rs:72:5:72:21 | Foo | +| main.rs:105:25:105:28 | SelfParam | | main.rs:104:5:106:5 | Self [trait MyTrait] | +| main.rs:110:25:110:28 | SelfParam | | main.rs:99:5:102:5 | MyThing | +| main.rs:110:39:112:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:111:13:111:16 | self | | main.rs:99:5:102:5 | MyThing | +| main.rs:115:16:121:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:116:13:116:13 | x | | main.rs:99:5:102:5 | MyThing | +| main.rs:116:17:116:39 | MyThing {...} | | main.rs:99:5:102:5 | MyThing | +| main.rs:116:34:116:37 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:117:17:117:17 | x | | main.rs:99:5:102:5 | MyThing | +| main.rs:119:13:119:13 | y | | main.rs:99:5:102:5 | MyThing | +| main.rs:119:17:119:40 | MyThing {...} | | main.rs:99:5:102:5 | MyThing | +| main.rs:119:34:119:38 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:120:39:120:39 | y | | main.rs:99:5:102:5 | MyThing | +| main.rs:130:25:130:29 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:130:25:130:29 | SelfParam | TRef | main.rs:128:9:133:9 | Self [trait Foo] | +| main.rs:130:32:132:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:131:26:131:31 | "foo!\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:131:26:131:31 | "foo!\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:131:26:131:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:131:26:131:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:137:25:137:29 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:137:25:137:29 | SelfParam | TRef | main.rs:135:9:140:9 | Self [trait Bar] | +| main.rs:137:32:139:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:138:26:138:31 | "bar!\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:138:26:138:31 | "bar!\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:138:26:138:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:138:26:138:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:149:15:170:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:151:9:154:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:155:9:158:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:159:9:162:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:163:9:169:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:167:13:167:29 | ...::a_method(...) | | {EXTERNAL LOCATION} | () | +| main.rs:167:27:167:28 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:168:13:168:29 | ...::a_method(...) | | {EXTERNAL LOCATION} | () | +| main.rs:168:27:168:28 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:186:15:186:18 | SelfParam | | main.rs:174:5:177:5 | MyThing | +| main.rs:186:15:186:18 | SelfParam | A | main.rs:179:5:180:14 | S1 | +| main.rs:186:27:188:9 | { ... } | | main.rs:179:5:180:14 | S1 | +| main.rs:187:13:187:16 | self | | main.rs:174:5:177:5 | MyThing | +| main.rs:187:13:187:16 | self | A | main.rs:179:5:180:14 | S1 | +| main.rs:193:15:193:18 | SelfParam | | main.rs:174:5:177:5 | MyThing | +| main.rs:193:15:193:18 | SelfParam | A | main.rs:181:5:182:14 | S2 | +| main.rs:193:29:195:9 | { ... } | | main.rs:174:5:177:5 | MyThing | +| main.rs:193:29:195:9 | { ... } | A | main.rs:181:5:182:14 | S2 | +| main.rs:194:13:194:30 | Self {...} | | main.rs:174:5:177:5 | MyThing | +| main.rs:194:13:194:30 | Self {...} | A | main.rs:181:5:182:14 | S2 | +| main.rs:194:23:194:26 | self | | main.rs:174:5:177:5 | MyThing | +| main.rs:194:23:194:26 | self | A | main.rs:181:5:182:14 | S2 | +| main.rs:199:15:199:18 | SelfParam | | main.rs:174:5:177:5 | MyThing | +| main.rs:199:15:199:18 | SelfParam | A | main.rs:198:10:198:10 | T | +| main.rs:199:26:201:9 | { ... } | | main.rs:198:10:198:10 | T | +| main.rs:200:13:200:16 | self | | main.rs:174:5:177:5 | MyThing | +| main.rs:200:13:200:16 | self | A | main.rs:198:10:198:10 | T | +| main.rs:204:16:220:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:205:13:205:13 | x | | main.rs:174:5:177:5 | MyThing | +| main.rs:205:17:205:33 | MyThing {...} | | main.rs:174:5:177:5 | MyThing | +| main.rs:206:13:206:13 | y | | main.rs:174:5:177:5 | MyThing | +| main.rs:206:17:206:33 | MyThing {...} | | main.rs:174:5:177:5 | MyThing | +| main.rs:209:18:209:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:209:18:209:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:209:18:209:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:209:18:209:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:209:26:209:26 | x | | main.rs:174:5:177:5 | MyThing | +| main.rs:210:18:210:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:210:18:210:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:210:18:210:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:210:18:210:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:210:26:210:26 | y | | main.rs:174:5:177:5 | MyThing | +| main.rs:212:18:212:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:212:18:212:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:212:18:212:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:212:18:212:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:212:26:212:26 | x | | main.rs:174:5:177:5 | MyThing | +| main.rs:213:18:213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:213:18:213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:213:18:213:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:213:18:213:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:213:26:213:26 | y | | main.rs:174:5:177:5 | MyThing | +| main.rs:215:13:215:13 | x | | main.rs:174:5:177:5 | MyThing | +| main.rs:215:17:215:33 | MyThing {...} | | main.rs:174:5:177:5 | MyThing | +| main.rs:216:13:216:13 | y | | main.rs:174:5:177:5 | MyThing | +| main.rs:216:17:216:33 | MyThing {...} | | main.rs:174:5:177:5 | MyThing | +| main.rs:218:18:218:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:218:18:218:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:218:18:218:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:218:18:218:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:218:26:218:26 | x | | main.rs:174:5:177:5 | MyThing | +| main.rs:219:18:219:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:219:18:219:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:219:18:219:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:219:18:219:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:219:26:219:26 | y | | main.rs:174:5:177:5 | MyThing | +| main.rs:243:15:243:18 | SelfParam | | main.rs:242:5:251:5 | Self [trait MyTrait] | +| main.rs:245:15:245:18 | SelfParam | | main.rs:242:5:251:5 | Self [trait MyTrait] | +| main.rs:248:9:250:9 | { ... } | | main.rs:242:5:251:5 | Self [trait MyTrait] | +| main.rs:249:13:249:16 | self | | main.rs:242:5:251:5 | Self [trait MyTrait] | +| main.rs:255:16:255:19 | SelfParam | | main.rs:253:5:258:5 | Self [trait MyProduct] | +| main.rs:257:16:257:19 | SelfParam | | main.rs:253:5:258:5 | Self [trait MyProduct] | +| main.rs:260:43:260:43 | x | | main.rs:260:26:260:40 | T2 | +| main.rs:260:56:262:5 | { ... } | | main.rs:260:22:260:23 | T1 | +| main.rs:261:9:261:9 | x | | main.rs:260:26:260:40 | T2 | +| main.rs:266:15:266:18 | SelfParam | | main.rs:224:5:227:5 | MyThing | +| main.rs:266:15:266:18 | SelfParam | A | main.rs:235:5:236:14 | S1 | +| main.rs:266:27:268:9 | { ... } | | main.rs:235:5:236:14 | S1 | +| main.rs:267:13:267:16 | self | | main.rs:224:5:227:5 | MyThing | +| main.rs:267:13:267:16 | self | A | main.rs:235:5:236:14 | S1 | +| main.rs:273:15:273:18 | SelfParam | | main.rs:224:5:227:5 | MyThing | +| main.rs:273:15:273:18 | SelfParam | A | main.rs:237:5:238:14 | S2 | +| main.rs:273:29:275:9 | { ... } | | main.rs:224:5:227:5 | MyThing | +| main.rs:273:29:275:9 | { ... } | A | main.rs:237:5:238:14 | S2 | +| main.rs:274:13:274:30 | Self {...} | | main.rs:224:5:227:5 | MyThing | +| main.rs:274:13:274:30 | Self {...} | A | main.rs:237:5:238:14 | S2 | +| main.rs:274:23:274:26 | self | | main.rs:224:5:227:5 | MyThing | +| main.rs:274:23:274:26 | self | A | main.rs:237:5:238:14 | S2 | +| main.rs:285:15:285:18 | SelfParam | | main.rs:224:5:227:5 | MyThing | +| main.rs:285:15:285:18 | SelfParam | A | main.rs:239:5:240:14 | S3 | +| main.rs:285:27:287:9 | { ... } | | main.rs:280:10:280:11 | TD | +| main.rs:292:15:292:18 | SelfParam | | main.rs:229:5:233:5 | MyPair | +| main.rs:292:15:292:18 | SelfParam | P1 | main.rs:290:10:290:10 | I | +| main.rs:292:15:292:18 | SelfParam | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:292:26:294:9 | { ... } | | main.rs:290:10:290:10 | I | +| main.rs:293:13:293:16 | self | | main.rs:229:5:233:5 | MyPair | +| main.rs:293:13:293:16 | self | P1 | main.rs:290:10:290:10 | I | +| main.rs:293:13:293:16 | self | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:299:15:299:18 | SelfParam | | main.rs:229:5:233:5 | MyPair | +| main.rs:299:15:299:18 | SelfParam | P1 | main.rs:235:5:236:14 | S1 | +| main.rs:299:15:299:18 | SelfParam | P2 | main.rs:237:5:238:14 | S2 | +| main.rs:299:27:301:9 | { ... } | | main.rs:239:5:240:14 | S3 | +| main.rs:306:15:306:18 | SelfParam | | main.rs:229:5:233:5 | MyPair | +| main.rs:306:15:306:18 | SelfParam | P1 | main.rs:224:5:227:5 | MyThing | +| main.rs:306:15:306:18 | SelfParam | P1.A | main.rs:304:10:304:11 | TT | +| main.rs:306:15:306:18 | SelfParam | P2 | main.rs:239:5:240:14 | S3 | +| main.rs:306:27:309:9 | { ... } | | main.rs:304:10:304:11 | TT | +| main.rs:307:25:307:28 | self | | main.rs:229:5:233:5 | MyPair | +| main.rs:307:25:307:28 | self | P1 | main.rs:224:5:227:5 | MyThing | +| main.rs:307:25:307:28 | self | P1.A | main.rs:304:10:304:11 | TT | +| main.rs:307:25:307:28 | self | P2 | main.rs:239:5:240:14 | S3 | +| main.rs:315:16:315:19 | SelfParam | | main.rs:229:5:233:5 | MyPair | +| main.rs:315:16:315:19 | SelfParam | P1 | main.rs:313:10:313:10 | A | +| main.rs:315:16:315:19 | SelfParam | P2 | main.rs:313:10:313:10 | A | +| main.rs:315:27:317:9 | { ... } | | main.rs:313:10:313:10 | A | +| main.rs:316:13:316:16 | self | | main.rs:229:5:233:5 | MyPair | +| main.rs:316:13:316:16 | self | P1 | main.rs:313:10:313:10 | A | +| main.rs:316:13:316:16 | self | P2 | main.rs:313:10:313:10 | A | +| main.rs:320:16:320:19 | SelfParam | | main.rs:229:5:233:5 | MyPair | +| main.rs:320:16:320:19 | SelfParam | P1 | main.rs:313:10:313:10 | A | +| main.rs:320:16:320:19 | SelfParam | P2 | main.rs:313:10:313:10 | A | +| main.rs:320:27:322:9 | { ... } | | main.rs:313:10:313:10 | A | +| main.rs:321:13:321:16 | self | | main.rs:229:5:233:5 | MyPair | +| main.rs:321:13:321:16 | self | P1 | main.rs:313:10:313:10 | A | +| main.rs:321:13:321:16 | self | P2 | main.rs:313:10:313:10 | A | +| main.rs:328:16:328:19 | SelfParam | | main.rs:229:5:233:5 | MyPair | +| main.rs:328:16:328:19 | SelfParam | P1 | main.rs:237:5:238:14 | S2 | +| main.rs:328:16:328:19 | SelfParam | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:328:28:330:9 | { ... } | | main.rs:235:5:236:14 | S1 | +| main.rs:329:13:329:16 | self | | main.rs:229:5:233:5 | MyPair | +| main.rs:329:13:329:16 | self | P1 | main.rs:237:5:238:14 | S2 | +| main.rs:329:13:329:16 | self | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:333:16:333:19 | SelfParam | | main.rs:229:5:233:5 | MyPair | +| main.rs:333:16:333:19 | SelfParam | P1 | main.rs:237:5:238:14 | S2 | +| main.rs:333:16:333:19 | SelfParam | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:333:28:335:9 | { ... } | | main.rs:237:5:238:14 | S2 | +| main.rs:334:13:334:16 | self | | main.rs:229:5:233:5 | MyPair | +| main.rs:334:13:334:16 | self | P1 | main.rs:237:5:238:14 | S2 | +| main.rs:334:13:334:16 | self | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:338:46:338:46 | p | | main.rs:338:24:338:43 | P | +| main.rs:338:58:340:5 | { ... } | | main.rs:338:16:338:17 | V1 | +| main.rs:339:9:339:9 | p | | main.rs:338:24:338:43 | P | +| main.rs:342:46:342:46 | p | | main.rs:342:24:342:43 | P | +| main.rs:342:58:344:5 | { ... } | | main.rs:342:20:342:21 | V2 | +| main.rs:343:9:343:9 | p | | main.rs:342:24:342:43 | P | +| main.rs:346:54:346:54 | p | | main.rs:229:5:233:5 | MyPair | +| main.rs:346:54:346:54 | p | P1 | main.rs:346:20:346:21 | V0 | +| main.rs:346:54:346:54 | p | P2 | main.rs:346:32:346:51 | P | +| main.rs:346:78:348:5 | { ... } | | main.rs:346:24:346:25 | V1 | +| main.rs:347:9:347:9 | p | | main.rs:229:5:233:5 | MyPair | +| main.rs:347:9:347:9 | p | P1 | main.rs:346:20:346:21 | V0 | +| main.rs:347:9:347:9 | p | P2 | main.rs:346:32:346:51 | P | +| main.rs:352:23:352:26 | SelfParam | | main.rs:350:5:353:5 | Self [trait ConvertTo] | +| main.rs:357:23:357:26 | SelfParam | | main.rs:355:10:355:23 | T | +| main.rs:357:35:359:9 | { ... } | | main.rs:235:5:236:14 | S1 | +| main.rs:358:13:358:16 | self | | main.rs:355:10:355:23 | T | +| main.rs:362:41:362:45 | thing | | main.rs:362:23:362:38 | T | +| main.rs:362:57:364:5 | { ... } | | main.rs:362:19:362:20 | TS | +| main.rs:363:9:363:13 | thing | | main.rs:362:23:362:38 | T | +| main.rs:366:56:366:60 | thing | | main.rs:366:39:366:53 | TP | +| main.rs:366:73:369:5 | { ... } | | main.rs:235:5:236:14 | S1 | +| main.rs:368:9:368:13 | thing | | main.rs:366:39:366:53 | TP | +| main.rs:371:16:442:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:372:13:372:20 | thing_s1 | | main.rs:224:5:227:5 | MyThing | +| main.rs:372:24:372:40 | MyThing {...} | | main.rs:224:5:227:5 | MyThing | +| main.rs:373:13:373:20 | thing_s2 | | main.rs:224:5:227:5 | MyThing | +| main.rs:373:24:373:40 | MyThing {...} | | main.rs:224:5:227:5 | MyThing | +| main.rs:374:13:374:20 | thing_s3 | | main.rs:224:5:227:5 | MyThing | +| main.rs:374:24:374:40 | MyThing {...} | | main.rs:224:5:227:5 | MyThing | +| main.rs:378:18:378:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:378:18:378:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:378:18:378:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:378:18:378:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:378:26:378:33 | thing_s1 | | main.rs:224:5:227:5 | MyThing | +| main.rs:379:18:379:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:379:18:379:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:379:18:379:40 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:379:18:379:40 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:379:26:379:33 | thing_s2 | | main.rs:224:5:227:5 | MyThing | +| main.rs:380:13:380:14 | s3 | | main.rs:239:5:240:14 | S3 | +| main.rs:380:22:380:29 | thing_s3 | | main.rs:224:5:227:5 | MyThing | +| main.rs:381:18:381:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:381:18:381:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:381:18:381:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:381:18:381:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:381:26:381:27 | s3 | | main.rs:239:5:240:14 | S3 | +| main.rs:383:13:383:14 | p1 | | main.rs:229:5:233:5 | MyPair | +| main.rs:383:18:383:42 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:384:18:384:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:384:18:384:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:384:18:384:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:384:18:384:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:384:26:384:27 | p1 | | main.rs:229:5:233:5 | MyPair | +| main.rs:386:13:386:14 | p2 | | main.rs:229:5:233:5 | MyPair | +| main.rs:386:18:386:42 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:387:18:387:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:387:18:387:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:387:18:387:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:387:18:387:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:387:26:387:27 | p2 | | main.rs:229:5:233:5 | MyPair | +| main.rs:389:13:389:14 | p3 | | main.rs:229:5:233:5 | MyPair | +| main.rs:389:18:392:9 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:390:17:390:33 | MyThing {...} | | main.rs:224:5:227:5 | MyThing | +| main.rs:393:18:393:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:393:18:393:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:393:18:393:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:393:18:393:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:393:26:393:27 | p3 | | main.rs:229:5:233:5 | MyPair | +| main.rs:396:13:396:13 | a | | main.rs:229:5:233:5 | MyPair | +| main.rs:396:17:396:41 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:397:17:397:17 | a | | main.rs:229:5:233:5 | MyPair | +| main.rs:398:18:398:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:398:18:398:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:398:18:398:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:398:18:398:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:399:17:399:17 | a | | main.rs:229:5:233:5 | MyPair | +| main.rs:400:18:400:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:400:18:400:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:400:18:400:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:400:18:400:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:406:13:406:13 | b | | main.rs:229:5:233:5 | MyPair | +| main.rs:406:17:406:41 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:407:17:407:17 | b | | main.rs:229:5:233:5 | MyPair | +| main.rs:408:18:408:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:408:18:408:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:408:18:408:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:408:18:408:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:409:17:409:17 | b | | main.rs:229:5:233:5 | MyPair | +| main.rs:410:18:410:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:410:18:410:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:410:18:410:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:410:18:410:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:414:31:414:38 | thing_s1 | | main.rs:224:5:227:5 | MyThing | +| main.rs:415:18:415:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:415:18:415:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:415:18:415:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:415:18:415:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:416:31:416:38 | thing_s2 | | main.rs:224:5:227:5 | MyThing | +| main.rs:417:18:417:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:417:18:417:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:417:18:417:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:417:18:417:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:420:13:420:13 | a | | main.rs:229:5:233:5 | MyPair | +| main.rs:420:17:420:41 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:421:25:421:25 | a | | main.rs:229:5:233:5 | MyPair | +| main.rs:422:18:422:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:422:18:422:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:422:18:422:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:422:18:422:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:423:25:423:25 | a | | main.rs:229:5:233:5 | MyPair | +| main.rs:424:18:424:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:424:18:424:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:424:18:424:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:424:18:424:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:427:13:427:13 | b | | main.rs:229:5:233:5 | MyPair | +| main.rs:427:17:427:41 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:428:25:428:25 | b | | main.rs:229:5:233:5 | MyPair | +| main.rs:429:18:429:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:429:18:429:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:429:18:429:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:429:18:429:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:430:25:430:25 | b | | main.rs:229:5:233:5 | MyPair | +| main.rs:431:18:431:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:431:18:431:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:431:18:431:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:431:18:431:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:433:13:433:13 | c | | main.rs:229:5:233:5 | MyPair | +| main.rs:433:17:436:9 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:435:17:435:41 | MyPair {...} | | main.rs:229:5:233:5 | MyPair | +| main.rs:437:29:437:29 | c | | main.rs:229:5:233:5 | MyPair | +| main.rs:439:13:439:17 | thing | | main.rs:224:5:227:5 | MyThing | +| main.rs:439:21:439:37 | MyThing {...} | | main.rs:224:5:227:5 | MyThing | +| main.rs:440:17:440:21 | thing | | main.rs:224:5:227:5 | MyThing | +| main.rs:441:28:441:32 | thing | | main.rs:224:5:227:5 | MyThing | +| main.rs:450:26:450:29 | SelfParam | | main.rs:449:5:453:5 | Self [trait OverlappingTrait] | +| main.rs:452:28:452:31 | SelfParam | | main.rs:449:5:453:5 | Self [trait OverlappingTrait] | +| main.rs:452:34:452:35 | s1 | | main.rs:446:5:447:14 | S1 | +| main.rs:457:26:457:29 | SelfParam | | main.rs:446:5:447:14 | S1 | +| main.rs:457:38:459:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:462:28:462:31 | SelfParam | | main.rs:446:5:447:14 | S1 | +| main.rs:462:34:462:35 | s1 | | main.rs:446:5:447:14 | S1 | +| main.rs:462:48:464:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:469:26:469:29 | SelfParam | | main.rs:446:5:447:14 | S1 | +| main.rs:469:38:471:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:470:13:470:16 | self | | main.rs:446:5:447:14 | S1 | +| main.rs:474:28:474:31 | SelfParam | | main.rs:446:5:447:14 | S1 | +| main.rs:474:40:476:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:475:13:475:16 | self | | main.rs:446:5:447:14 | S1 | +| main.rs:483:26:483:29 | SelfParam | | main.rs:479:5:479:22 | S2 | +| main.rs:483:26:483:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| main.rs:483:38:485:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:488:28:488:31 | SelfParam | | main.rs:479:5:479:22 | S2 | +| main.rs:488:28:488:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| main.rs:488:40:490:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:495:26:495:29 | SelfParam | | main.rs:479:5:479:22 | S2 | +| main.rs:495:26:495:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| main.rs:495:38:497:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:500:28:500:31 | SelfParam | | main.rs:479:5:479:22 | S2 | +| main.rs:500:28:500:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| main.rs:500:34:500:35 | s1 | | main.rs:446:5:447:14 | S1 | +| main.rs:500:48:502:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:507:26:507:29 | SelfParam | | main.rs:479:5:479:22 | S2 | +| main.rs:507:26:507:29 | SelfParam | T2 | main.rs:446:5:447:14 | S1 | +| main.rs:507:38:509:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:512:28:512:31 | SelfParam | | main.rs:479:5:479:22 | S2 | +| main.rs:512:28:512:31 | SelfParam | T2 | main.rs:446:5:447:14 | S1 | +| main.rs:512:34:512:35 | s1 | | main.rs:446:5:447:14 | S1 | +| main.rs:512:48:514:9 | { ... } | | main.rs:446:5:447:14 | S1 | +| main.rs:521:14:521:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:521:14:521:18 | SelfParam | TRef | main.rs:520:5:522:5 | Self [trait OverlappingTrait2] | +| main.rs:521:21:521:21 | x | | {EXTERNAL LOCATION} | & | +| main.rs:521:21:521:21 | x | TRef | main.rs:520:29:520:29 | T | +| main.rs:526:14:526:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:526:14:526:18 | SelfParam | TRef | main.rs:517:5:518:22 | S3 | +| main.rs:526:14:526:18 | SelfParam | TRef.T3 | main.rs:524:10:524:10 | T | +| main.rs:526:21:526:21 | x | | {EXTERNAL LOCATION} | & | +| main.rs:526:21:526:21 | x | TRef | main.rs:524:10:524:10 | T | +| main.rs:526:37:528:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:526:37:528:9 | { ... } | TRef | main.rs:517:5:518:22 | S3 | +| main.rs:526:37:528:9 | { ... } | TRef.T3 | main.rs:524:10:524:10 | T | +| main.rs:527:13:527:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:527:13:527:16 | self | TRef | main.rs:517:5:518:22 | S3 | +| main.rs:527:13:527:16 | self | TRef.T3 | main.rs:524:10:524:10 | T | +| main.rs:533:14:533:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:533:14:533:18 | SelfParam | TRef | main.rs:517:5:518:22 | S3 | +| main.rs:533:14:533:18 | SelfParam | TRef.T3 | main.rs:531:10:531:10 | T | +| main.rs:533:21:533:21 | x | | main.rs:531:10:531:10 | T | +| main.rs:533:36:535:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:533:36:535:9 | { ... } | TRef | main.rs:517:5:518:22 | S3 | +| main.rs:533:36:535:9 | { ... } | TRef.T3 | main.rs:531:10:531:10 | T | +| main.rs:534:13:534:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:534:13:534:16 | self | TRef | main.rs:517:5:518:22 | S3 | +| main.rs:534:13:534:16 | self | TRef.T3 | main.rs:531:10:531:10 | T | +| main.rs:540:14:540:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:540:14:540:18 | SelfParam | TRef | main.rs:538:5:541:5 | Self [trait MyTrait1] | +| main.rs:540:21:540:22 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:550:14:550:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:550:14:550:18 | SelfParam | TRef | main.rs:545:5:546:14 | S4 | +| main.rs:550:21:550:22 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:560:14:560:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:560:14:560:18 | SelfParam | TRef | main.rs:555:5:556:22 | S5 | +| main.rs:560:14:560:18 | SelfParam | TRef.T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:560:21:560:22 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:569:16:595:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:571:18:571:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:571:18:571:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:571:18:571:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:571:18:571:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:572:18:572:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:572:18:572:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:572:18:572:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:572:18:572:45 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:572:26:572:45 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | +| main.rs:573:18:573:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:573:18:573:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:573:18:573:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:573:18:573:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:574:18:574:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:574:18:574:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:574:18:574:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:574:18:574:47 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:574:26:574:47 | ...::common_method_2(...) | | main.rs:446:5:447:14 | S1 | +| main.rs:577:18:577:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:577:18:577:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:577:18:577:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:577:18:577:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:578:18:578:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:578:18:578:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:578:18:578:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:578:18:578:56 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:578:26:578:56 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | +| main.rs:581:18:581:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:581:18:581:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:581:18:581:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:581:18:581:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:582:18:582:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:582:18:582:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:582:18:582:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:582:18:582:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:582:26:582:49 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | +| main.rs:583:18:583:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:583:18:583:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:583:18:583:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:583:18:583:56 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:583:26:583:56 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | +| main.rs:586:18:586:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:586:18:586:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:586:18:586:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:586:18:586:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:587:18:587:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:587:18:587:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:587:18:587:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:587:18:587:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:587:26:587:37 | ...::m(...) | | {EXTERNAL LOCATION} | & | +| main.rs:587:26:587:37 | ...::m(...) | TRef | main.rs:517:5:518:22 | S3 | +| main.rs:587:32:587:33 | &w | | {EXTERNAL LOCATION} | & | +| main.rs:590:9:590:18 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| main.rs:590:15:590:17 | &S4 | | {EXTERNAL LOCATION} | & | +| main.rs:591:12:591:15 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:592:9:592:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| main.rs:592:15:592:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:592:19:592:22 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:593:12:593:15 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:594:9:594:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| main.rs:594:15:594:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:594:19:594:22 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:611:19:611:22 | SelfParam | | main.rs:609:5:612:5 | Self [trait FirstTrait] | +| main.rs:616:19:616:22 | SelfParam | | main.rs:614:5:617:5 | Self [trait SecondTrait] | +| main.rs:619:64:619:64 | x | | main.rs:619:45:619:61 | T | +| main.rs:619:70:623:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:621:18:621:18 | x | | main.rs:619:45:619:61 | T | +| main.rs:622:18:622:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:622:18:622:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:622:18:622:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:622:18:622:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:625:65:625:65 | x | | main.rs:625:46:625:62 | T | +| main.rs:625:71:629:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:627:18:627:18 | x | | main.rs:625:46:625:62 | T | +| main.rs:628:18:628:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:628:18:628:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:628:18:628:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:628:18:628:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:631:49:631:49 | x | | main.rs:631:30:631:46 | T | +| main.rs:631:55:634:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:632:17:632:17 | x | | main.rs:631:30:631:46 | T | +| main.rs:633:18:633:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:633:18:633:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:633:18:633:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:633:18:633:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:636:53:636:53 | x | | main.rs:636:34:636:50 | T | +| main.rs:636:59:639:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:637:17:637:17 | x | | main.rs:636:34:636:50 | T | +| main.rs:638:18:638:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:638:18:638:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:638:18:638:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:638:18:638:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:641:43:641:43 | x | | main.rs:641:40:641:40 | T | +| main.rs:644:5:647:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:645:17:645:17 | x | | main.rs:641:40:641:40 | T | +| main.rs:646:18:646:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:646:18:646:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:646:18:646:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:646:18:646:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:650:16:650:19 | SelfParam | | main.rs:649:5:653:5 | Self [trait Pair] | +| main.rs:652:16:652:19 | SelfParam | | main.rs:649:5:653:5 | Self [trait Pair] | +| main.rs:655:53:655:53 | x | | main.rs:655:50:655:50 | T | +| main.rs:655:59:655:59 | y | | main.rs:655:50:655:50 | T | +| main.rs:659:5:662:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:660:17:660:17 | x | | main.rs:655:50:655:50 | T | +| main.rs:661:17:661:17 | y | | main.rs:655:50:655:50 | T | +| main.rs:664:58:664:58 | x | | main.rs:664:41:664:55 | T | +| main.rs:664:64:664:64 | y | | main.rs:664:41:664:55 | T | +| main.rs:664:70:669:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:666:18:666:18 | x | | main.rs:664:41:664:55 | T | +| main.rs:667:18:667:18 | y | | main.rs:664:41:664:55 | T | +| main.rs:668:18:668:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:668:18:668:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:668:18:668:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:668:18:668:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:671:69:671:69 | x | | main.rs:671:52:671:66 | T | +| main.rs:671:75:671:75 | y | | main.rs:671:52:671:66 | T | +| main.rs:671:81:676:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:673:18:673:18 | x | | main.rs:671:52:671:66 | T | +| main.rs:674:18:674:18 | y | | main.rs:671:52:671:66 | T | +| main.rs:675:18:675:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:675:18:675:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:675:18:675:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:675:18:675:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:678:50:678:50 | x | | main.rs:678:41:678:47 | T | +| main.rs:678:56:678:56 | y | | main.rs:678:41:678:47 | T | +| main.rs:678:62:683:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:680:18:680:18 | x | | main.rs:678:41:678:47 | T | +| main.rs:681:18:681:18 | y | | main.rs:678:41:678:47 | T | +| main.rs:682:18:682:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:682:18:682:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:682:18:682:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:682:18:682:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:685:54:685:54 | x | | main.rs:685:41:685:51 | T | +| main.rs:685:60:685:60 | y | | main.rs:685:41:685:51 | T | +| main.rs:685:66:690:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:687:18:687:18 | x | | main.rs:685:41:685:51 | T | +| main.rs:688:18:688:18 | y | | main.rs:685:41:685:51 | T | +| main.rs:689:18:689:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:689:18:689:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:689:18:689:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:689:18:689:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:697:18:697:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:697:18:697:22 | SelfParam | TRef | main.rs:694:5:698:5 | Self [trait TraitWithSelfTp] | +| main.rs:700:40:700:44 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:700:40:700:44 | thing | TRef | main.rs:700:17:700:37 | T | +| main.rs:700:56:702:5 | { ... } | | main.rs:700:14:700:14 | A | +| main.rs:701:9:701:13 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:701:9:701:13 | thing | TRef | main.rs:700:17:700:37 | T | +| main.rs:705:44:705:48 | thing | | main.rs:705:24:705:41 | S | +| main.rs:705:61:708:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:706:19:706:23 | thing | | main.rs:705:24:705:41 | S | +| main.rs:713:55:713:59 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:713:55:713:59 | thing | TRef | main.rs:713:25:713:52 | S | +| main.rs:713:66:716:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:715:25:715:29 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:715:25:715:29 | thing | TRef | main.rs:713:25:713:52 | S | +| main.rs:724:18:724:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:724:18:724:22 | SelfParam | TRef | main.rs:718:5:720:5 | MyStruct | +| main.rs:724:41:726:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:724:41:726:9 | { ... } | T | main.rs:718:5:720:5 | MyStruct | +| main.rs:725:18:725:47 | MyStruct {...} | | main.rs:718:5:720:5 | MyStruct | +| main.rs:725:36:725:39 | self | | {EXTERNAL LOCATION} | & | +| main.rs:725:36:725:39 | self | TRef | main.rs:718:5:720:5 | MyStruct | +| main.rs:731:19:734:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:732:13:732:13 | s | | main.rs:718:5:720:5 | MyStruct | +| main.rs:732:17:732:37 | MyStruct {...} | | main.rs:718:5:720:5 | MyStruct | +| main.rs:733:25:733:26 | &s | | {EXTERNAL LOCATION} | & | +| main.rs:733:26:733:26 | s | | main.rs:718:5:720:5 | MyStruct | +| main.rs:749:15:749:18 | SelfParam | | main.rs:748:5:759:5 | Self [trait MyTrait] | +| main.rs:751:15:751:18 | SelfParam | | main.rs:748:5:759:5 | Self [trait MyTrait] | +| main.rs:754:9:756:9 | { ... } | | main.rs:748:19:748:19 | A | +| main.rs:755:13:755:16 | self | | main.rs:748:5:759:5 | Self [trait MyTrait] | +| main.rs:758:18:758:18 | x | | main.rs:748:5:759:5 | Self [trait MyTrait] | +| main.rs:762:15:762:18 | SelfParam | | main.rs:745:5:746:14 | S2 | +| main.rs:762:26:764:9 | { ... } | | main.rs:761:10:761:19 | T | +| main.rs:766:18:766:18 | x | | main.rs:745:5:746:14 | S2 | +| main.rs:766:32:768:9 | { ... } | | main.rs:761:10:761:19 | T | +| main.rs:772:15:772:18 | SelfParam | | main.rs:743:5:744:14 | S1 | +| main.rs:772:28:774:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:776:18:776:18 | x | | main.rs:743:5:744:14 | S1 | +| main.rs:776:34:778:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:783:50:783:50 | x | | main.rs:783:26:783:47 | T2 | +| main.rs:783:63:786:5 | { ... } | | main.rs:783:22:783:23 | T1 | +| main.rs:784:9:784:9 | x | | main.rs:783:26:783:47 | T2 | +| main.rs:785:9:785:9 | x | | main.rs:783:26:783:47 | T2 | +| main.rs:787:52:787:52 | x | | main.rs:787:28:787:49 | T2 | +| main.rs:787:65:791:5 | { ... } | | main.rs:787:24:787:25 | T1 | +| main.rs:788:24:788:24 | x | | main.rs:787:28:787:49 | T2 | +| main.rs:790:16:790:16 | x | | main.rs:787:28:787:49 | T2 | +| main.rs:792:52:792:52 | x | | main.rs:792:28:792:49 | T2 | +| main.rs:792:65:796:5 | { ... } | | main.rs:792:24:792:25 | T1 | +| main.rs:793:29:793:29 | x | | main.rs:792:28:792:49 | T2 | +| main.rs:795:21:795:21 | x | | main.rs:792:28:792:49 | T2 | +| main.rs:797:55:797:55 | x | | main.rs:797:31:797:52 | T2 | +| main.rs:797:68:801:5 | { ... } | | main.rs:797:27:797:28 | T1 | +| main.rs:798:27:798:27 | x | | main.rs:797:31:797:52 | T2 | +| main.rs:800:19:800:19 | x | | main.rs:797:31:797:52 | T2 | +| main.rs:802:55:802:55 | x | | main.rs:802:31:802:52 | T2 | +| main.rs:802:68:806:5 | { ... } | | main.rs:802:27:802:28 | T1 | +| main.rs:803:32:803:32 | x | | main.rs:802:31:802:52 | T2 | +| main.rs:805:24:805:24 | x | | main.rs:802:31:802:52 | T2 | +| main.rs:810:49:810:49 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:810:49:810:49 | x | T | main.rs:810:32:810:46 | T2 | +| main.rs:810:71:812:5 | { ... } | | main.rs:810:28:810:29 | T1 | +| main.rs:811:9:811:9 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:811:9:811:9 | x | T | main.rs:810:32:810:46 | T2 | +| main.rs:813:51:813:51 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:813:51:813:51 | x | T | main.rs:813:34:813:48 | T2 | +| main.rs:813:73:815:5 | { ... } | | main.rs:813:30:813:31 | T1 | +| main.rs:814:16:814:16 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:814:16:814:16 | x | T | main.rs:813:34:813:48 | T2 | +| main.rs:816:51:816:51 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:816:51:816:51 | x | T | main.rs:816:34:816:48 | T2 | +| main.rs:816:73:818:5 | { ... } | | main.rs:816:30:816:31 | T1 | +| main.rs:817:21:817:21 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:817:21:817:21 | x | T | main.rs:816:34:816:48 | T2 | +| main.rs:821:15:821:18 | SelfParam | | main.rs:738:5:741:5 | MyThing | +| main.rs:821:15:821:18 | SelfParam | T | main.rs:820:10:820:10 | T | +| main.rs:821:26:823:9 | { ... } | | main.rs:820:10:820:10 | T | +| main.rs:822:13:822:16 | self | | main.rs:738:5:741:5 | MyThing | +| main.rs:822:13:822:16 | self | T | main.rs:820:10:820:10 | T | +| main.rs:825:18:825:18 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:825:18:825:18 | x | T | main.rs:820:10:820:10 | T | +| main.rs:825:32:827:9 | { ... } | | main.rs:820:10:820:10 | T | +| main.rs:826:13:826:13 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:826:13:826:13 | x | T | main.rs:820:10:820:10 | T | +| main.rs:830:16:888:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:831:13:831:13 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:831:17:831:33 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:832:13:832:13 | y | | main.rs:738:5:741:5 | MyThing | +| main.rs:832:17:832:33 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:834:18:834:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:834:18:834:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:834:18:834:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:834:18:834:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:834:26:834:26 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:835:18:835:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:835:18:835:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:835:18:835:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:835:18:835:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:835:26:835:26 | y | | main.rs:738:5:741:5 | MyThing | +| main.rs:837:13:837:13 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:837:17:837:33 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:838:13:838:13 | y | | main.rs:738:5:741:5 | MyThing | +| main.rs:838:17:838:33 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:840:18:840:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:840:18:840:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:840:18:840:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:840:18:840:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:840:26:840:26 | x | | main.rs:738:5:741:5 | MyThing | +| main.rs:841:18:841:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:841:18:841:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:841:18:841:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:841:18:841:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:841:26:841:26 | y | | main.rs:738:5:741:5 | MyThing | +| main.rs:843:13:843:14 | x2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:843:18:843:34 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:844:13:844:14 | y2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:844:18:844:34 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:846:31:846:32 | x2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:847:18:847:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:847:18:847:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:847:18:847:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:847:18:847:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:848:33:848:34 | x2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:849:18:849:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:849:18:849:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:849:18:849:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:849:18:849:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:850:33:850:34 | x2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:851:18:851:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:851:18:851:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:851:18:851:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:851:18:851:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:852:31:852:32 | y2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:853:18:853:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:853:18:853:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:853:18:853:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:853:18:853:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:854:33:854:34 | y2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:855:18:855:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:855:18:855:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:855:18:855:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:855:18:855:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:856:33:856:34 | y2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:857:18:857:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:857:18:857:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:857:18:857:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:857:18:857:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:858:36:858:37 | x2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:859:18:859:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:859:18:859:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:859:18:859:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:859:18:859:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:860:36:860:37 | x2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:861:18:861:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:861:18:861:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:861:18:861:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:861:18:861:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:862:36:862:37 | y2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:863:18:863:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:863:18:863:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:863:18:863:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:863:18:863:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:864:36:864:37 | y2 | | main.rs:738:5:741:5 | MyThing | +| main.rs:865:18:865:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:865:18:865:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:865:18:865:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:865:18:865:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:867:13:867:14 | x3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:867:18:869:9 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:868:16:868:32 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:870:13:870:14 | y3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:870:18:872:9 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:871:16:871:32 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | +| main.rs:874:37:874:38 | x3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:875:18:875:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:875:18:875:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:875:18:875:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:875:18:875:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:876:39:876:40 | x3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:877:18:877:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:877:18:877:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:877:18:877:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:877:18:877:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:878:39:878:40 | x3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:879:18:879:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:879:18:879:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:879:18:879:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:879:18:879:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:880:37:880:38 | y3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:881:18:881:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:881:18:881:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:881:18:881:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:881:18:881:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:882:39:882:40 | y3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:883:18:883:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:883:18:883:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:883:18:883:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:883:18:883:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:884:39:884:40 | y3 | | main.rs:738:5:741:5 | MyThing | +| main.rs:885:18:885:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:885:18:885:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:885:18:885:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:885:18:885:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:887:13:887:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:898:19:898:22 | SelfParam | | main.rs:892:5:895:5 | Wrapper | +| main.rs:898:19:898:22 | SelfParam | A | main.rs:897:10:897:10 | A | +| main.rs:898:30:900:9 | { ... } | | main.rs:897:10:897:10 | A | +| main.rs:899:13:899:16 | self | | main.rs:892:5:895:5 | Wrapper | +| main.rs:899:13:899:16 | self | A | main.rs:897:10:897:10 | A | +| main.rs:907:15:907:18 | SelfParam | | main.rs:903:5:917:5 | Self [trait MyTrait] | +| main.rs:909:15:909:18 | SelfParam | | main.rs:903:5:917:5 | Self [trait MyTrait] | +| main.rs:913:9:916:9 | { ... } | | main.rs:904:9:904:28 | AssociatedType | +| main.rs:914:13:914:16 | self | | main.rs:903:5:917:5 | Self [trait MyTrait] | +| main.rs:923:19:923:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:923:19:923:23 | SelfParam | TRef | main.rs:919:5:929:5 | Self [trait MyTraitAssoc2] | +| main.rs:923:26:923:26 | a | | main.rs:923:16:923:16 | A | +| main.rs:925:22:925:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:925:22:925:26 | SelfParam | TRef | main.rs:919:5:929:5 | Self [trait MyTraitAssoc2] | +| main.rs:925:29:925:29 | a | | main.rs:925:19:925:19 | A | +| main.rs:925:35:925:35 | b | | main.rs:925:19:925:19 | A | +| main.rs:925:75:928:9 | { ... } | | main.rs:920:9:920:52 | GenericAssociatedType | +| main.rs:926:13:926:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:926:13:926:16 | self | TRef | main.rs:919:5:929:5 | Self [trait MyTraitAssoc2] | +| main.rs:926:22:926:22 | a | | main.rs:925:19:925:19 | A | +| main.rs:927:13:927:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:927:13:927:16 | self | TRef | main.rs:919:5:929:5 | Self [trait MyTraitAssoc2] | +| main.rs:927:22:927:22 | b | | main.rs:925:19:925:19 | A | +| main.rs:936:21:936:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:936:21:936:25 | SelfParam | TRef | main.rs:931:5:941:5 | Self [trait TraitMultipleAssoc] | +| main.rs:938:20:938:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:938:20:938:24 | SelfParam | TRef | main.rs:931:5:941:5 | Self [trait TraitMultipleAssoc] | +| main.rs:940:20:940:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:940:20:940:24 | SelfParam | TRef | main.rs:931:5:941:5 | Self [trait TraitMultipleAssoc] | +| main.rs:956:15:956:18 | SelfParam | | main.rs:943:5:944:13 | S | +| main.rs:956:45:958:9 | { ... } | | main.rs:949:5:950:14 | AT | +| main.rs:966:19:966:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:966:19:966:23 | SelfParam | TRef | main.rs:943:5:944:13 | S | +| main.rs:966:26:966:26 | a | | main.rs:966:16:966:16 | A | +| main.rs:966:46:968:9 | { ... } | | main.rs:892:5:895:5 | Wrapper | +| main.rs:966:46:968:9 | { ... } | A | main.rs:966:16:966:16 | A | +| main.rs:967:13:967:32 | Wrapper {...} | | main.rs:892:5:895:5 | Wrapper | +| main.rs:967:30:967:30 | a | | main.rs:966:16:966:16 | A | +| main.rs:975:15:975:18 | SelfParam | | main.rs:946:5:947:14 | S2 | +| main.rs:975:45:977:9 | { ... } | | main.rs:892:5:895:5 | Wrapper | +| main.rs:975:45:977:9 | { ... } | A | main.rs:946:5:947:14 | S2 | +| main.rs:976:13:976:35 | Wrapper {...} | | main.rs:892:5:895:5 | Wrapper | +| main.rs:976:30:976:33 | self | | main.rs:946:5:947:14 | S2 | +| main.rs:982:30:984:9 | { ... } | | main.rs:892:5:895:5 | Wrapper | +| main.rs:982:30:984:9 | { ... } | A | main.rs:946:5:947:14 | S2 | +| main.rs:983:13:983:33 | Wrapper {...} | | main.rs:892:5:895:5 | Wrapper | +| main.rs:989:22:989:26 | thing | | main.rs:989:10:989:19 | T | +| main.rs:990:9:990:13 | thing | | main.rs:989:10:989:19 | T | +| main.rs:997:21:997:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:997:21:997:25 | SelfParam | TRef | main.rs:949:5:950:14 | AT | +| main.rs:997:34:999:9 | { ... } | | main.rs:949:5:950:14 | AT | +| main.rs:1001:20:1001:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1001:20:1001:24 | SelfParam | TRef | main.rs:949:5:950:14 | AT | +| main.rs:1001:43:1003:9 | { ... } | | main.rs:943:5:944:13 | S | +| main.rs:1005:20:1005:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1005:20:1005:24 | SelfParam | TRef | main.rs:949:5:950:14 | AT | +| main.rs:1005:43:1007:9 | { ... } | | main.rs:946:5:947:14 | S2 | +| main.rs:1010:16:1038:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1013:18:1013:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1013:18:1013:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1013:18:1013:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1013:18:1013:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1018:18:1018:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1018:18:1018:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1018:18:1018:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1018:18:1018:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1022:18:1022:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1022:18:1022:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1022:18:1022:43 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1022:18:1022:43 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1025:18:1025:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1025:18:1025:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1025:18:1025:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1025:18:1025:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1028:18:1028:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1028:18:1028:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1028:18:1028:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1028:18:1028:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1031:18:1031:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1031:18:1031:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1031:18:1031:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1031:18:1031:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1033:18:1033:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1033:18:1033:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1033:18:1033:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1033:18:1033:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1045:19:1045:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1045:19:1045:23 | SelfParam | TRef | main.rs:1042:5:1046:5 | Self [trait Supertrait] | +| main.rs:1045:26:1045:32 | content | | main.rs:1043:9:1043:21 | Content | +| main.rs:1050:24:1050:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1050:24:1050:28 | SelfParam | TRef | main.rs:1048:5:1051:5 | Self [trait Subtrait] | +| main.rs:1059:23:1059:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1059:23:1059:27 | SelfParam | TRef | main.rs:1053:5:1063:5 | Self [trait Subtrait2] | +| main.rs:1059:68:1062:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1060:13:1060:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1060:13:1060:16 | self | TRef | main.rs:1053:5:1063:5 | Self [trait Subtrait2] | +| main.rs:1061:13:1061:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1061:13:1061:16 | self | TRef | main.rs:1053:5:1063:5 | Self [trait Subtrait2] | +| main.rs:1069:19:1069:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1069:19:1069:23 | SelfParam | TRef | main.rs:1065:5:1065:24 | MyType | +| main.rs:1069:19:1069:23 | SelfParam | TRef.T | main.rs:1067:10:1067:10 | T | +| main.rs:1069:26:1069:33 | _content | | main.rs:1067:10:1067:10 | T | +| main.rs:1069:51:1071:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1070:22:1070:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1070:22:1070:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1070:22:1070:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1070:22:1070:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1076:24:1076:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1076:24:1076:28 | SelfParam | TRef | main.rs:1065:5:1065:24 | MyType | +| main.rs:1076:24:1076:28 | SelfParam | TRef.T | main.rs:1074:10:1074:17 | T | +| main.rs:1077:15:1077:18 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1077:15:1077:18 | self | TRef | main.rs:1065:5:1065:24 | MyType | +| main.rs:1077:15:1077:18 | self | TRef.T | main.rs:1074:10:1074:17 | T | +| main.rs:1081:33:1081:36 | item | | {EXTERNAL LOCATION} | & | +| main.rs:1081:33:1081:36 | item | TRef | main.rs:1081:20:1081:30 | T | +| main.rs:1082:9:1082:12 | item | | {EXTERNAL LOCATION} | & | +| main.rs:1082:9:1082:12 | item | TRef | main.rs:1081:20:1081:30 | T | +| main.rs:1085:35:1085:38 | item | | {EXTERNAL LOCATION} | & | +| main.rs:1085:35:1085:38 | item | TRef | main.rs:1085:21:1085:32 | T | +| main.rs:1085:93:1088:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1086:9:1086:12 | item | | {EXTERNAL LOCATION} | & | +| main.rs:1086:9:1086:12 | item | TRef | main.rs:1085:21:1085:32 | T | +| main.rs:1087:9:1087:12 | item | | {EXTERNAL LOCATION} | & | +| main.rs:1087:9:1087:12 | item | TRef | main.rs:1085:21:1085:32 | T | +| main.rs:1090:15:1096:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1091:28:1091:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1094:28:1094:31 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1095:37:1095:42 | &item2 | | {EXTERNAL LOCATION} | & | +| main.rs:1112:15:1112:18 | SelfParam | | main.rs:1100:5:1104:5 | MyEnum | +| main.rs:1112:15:1112:18 | SelfParam | A | main.rs:1111:10:1111:10 | T | +| main.rs:1112:26:1117:9 | { ... } | | main.rs:1111:10:1111:10 | T | +| main.rs:1113:19:1113:22 | self | | main.rs:1100:5:1104:5 | MyEnum | +| main.rs:1113:19:1113:22 | self | A | main.rs:1111:10:1111:10 | T | +| main.rs:1115:17:1115:32 | ...::C2 {...} | | main.rs:1100:5:1104:5 | MyEnum | +| main.rs:1120:16:1126:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1122:13:1122:13 | y | | main.rs:1100:5:1104:5 | MyEnum | +| main.rs:1122:17:1122:36 | ...::C2 {...} | | main.rs:1100:5:1104:5 | MyEnum | +| main.rs:1124:18:1124:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1124:18:1124:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1124:18:1124:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1124:18:1124:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1125:18:1125:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1125:18:1125:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1125:18:1125:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1125:18:1125:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1125:26:1125:26 | y | | main.rs:1100:5:1104:5 | MyEnum | +| main.rs:1147:15:1147:18 | SelfParam | | main.rs:1145:5:1148:5 | Self [trait MyTrait1] | +| main.rs:1152:15:1152:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1152:15:1152:19 | SelfParam | TRef | main.rs:1150:5:1162:5 | Self [trait MyTrait2] | +| main.rs:1155:9:1161:9 | { ... } | | main.rs:1150:20:1150:22 | Tr2 | +| main.rs:1157:17:1157:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1157:17:1157:20 | self | TRef | main.rs:1150:5:1162:5 | Self [trait MyTrait2] | +| main.rs:1159:27:1159:30 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1159:27:1159:30 | self | TRef | main.rs:1150:5:1162:5 | Self [trait MyTrait2] | +| main.rs:1166:15:1166:18 | SelfParam | | main.rs:1164:5:1176:5 | Self [trait MyTrait3] | +| main.rs:1169:9:1175:9 | { ... } | | main.rs:1164:20:1164:22 | Tr3 | +| main.rs:1171:17:1171:20 | self | | main.rs:1164:5:1176:5 | Self [trait MyTrait3] | +| main.rs:1173:26:1173:30 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1173:27:1173:30 | self | | main.rs:1164:5:1176:5 | Self [trait MyTrait3] | +| main.rs:1180:15:1180:18 | SelfParam | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1180:15:1180:18 | SelfParam | A | main.rs:1178:10:1178:10 | T | +| main.rs:1180:26:1182:9 | { ... } | | main.rs:1178:10:1178:10 | T | +| main.rs:1181:13:1181:16 | self | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1181:13:1181:16 | self | A | main.rs:1178:10:1178:10 | T | +| main.rs:1189:15:1189:18 | SelfParam | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1189:15:1189:18 | SelfParam | A | main.rs:1187:10:1187:10 | T | +| main.rs:1189:35:1191:9 | { ... } | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1189:35:1191:9 | { ... } | A | main.rs:1187:10:1187:10 | T | +| main.rs:1190:13:1190:33 | MyThing {...} | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1190:26:1190:29 | self | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1190:26:1190:29 | self | A | main.rs:1187:10:1187:10 | T | +| main.rs:1198:44:1198:44 | x | | main.rs:1198:26:1198:41 | T2 | +| main.rs:1198:57:1200:5 | { ... } | | main.rs:1198:22:1198:23 | T1 | +| main.rs:1199:9:1199:9 | x | | main.rs:1198:26:1198:41 | T2 | +| main.rs:1202:56:1202:56 | x | | main.rs:1202:39:1202:53 | T | +| main.rs:1202:62:1206:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1204:17:1204:17 | x | | main.rs:1202:39:1202:53 | T | +| main.rs:1205:18:1205:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1205:18:1205:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1205:18:1205:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1205:18:1205:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1208:16:1232:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1209:13:1209:13 | x | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1209:17:1209:33 | MyThing {...} | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1210:13:1210:13 | y | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1210:17:1210:33 | MyThing {...} | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1212:18:1212:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1212:18:1212:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1212:18:1212:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1212:18:1212:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1212:26:1212:26 | x | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1213:18:1213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1213:18:1213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1213:18:1213:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1213:26:1213:26 | y | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1215:13:1215:13 | x | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1215:17:1215:33 | MyThing {...} | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1216:13:1216:13 | y | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1216:17:1216:33 | MyThing {...} | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1218:18:1218:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1218:18:1218:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1218:18:1218:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1218:18:1218:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1218:26:1218:26 | x | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1219:18:1219:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1219:18:1219:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1219:18:1219:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1219:18:1219:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1219:26:1219:26 | y | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1221:13:1221:13 | x | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1221:17:1221:34 | MyThing2 {...} | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1222:13:1222:13 | y | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1222:17:1222:34 | MyThing2 {...} | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1224:18:1224:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1224:18:1224:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1224:18:1224:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1224:26:1224:26 | x | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1225:18:1225:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1225:18:1225:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1225:18:1225:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1225:18:1225:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1225:26:1225:26 | y | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1227:13:1227:13 | x | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1227:17:1227:33 | MyThing {...} | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1228:31:1228:31 | x | | main.rs:1130:5:1133:5 | MyThing | +| main.rs:1230:13:1230:13 | x | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1230:17:1230:34 | MyThing2 {...} | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1231:31:1231:31 | x | | main.rs:1135:5:1138:5 | MyThing2 | +| main.rs:1248:22:1248:22 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1248:22:1248:22 | x | TRef | main.rs:1248:11:1248:19 | T | +| main.rs:1248:35:1250:5 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1248:35:1250:5 | { ... } | TRef | main.rs:1248:11:1248:19 | T | +| main.rs:1249:9:1249:9 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1249:9:1249:9 | x | TRef | main.rs:1248:11:1248:19 | T | +| main.rs:1253:17:1253:20 | SelfParam | | main.rs:1238:5:1239:14 | S1 | +| main.rs:1253:29:1255:9 | { ... } | | main.rs:1241:5:1242:14 | S2 | +| main.rs:1258:21:1258:21 | x | | main.rs:1258:13:1258:14 | T1 | +| main.rs:1261:5:1263:5 | { ... } | | main.rs:1258:17:1258:18 | T2 | +| main.rs:1262:9:1262:9 | x | | main.rs:1258:13:1258:14 | T1 | +| main.rs:1265:16:1281:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1267:18:1267:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1267:18:1267:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1267:18:1267:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1267:18:1267:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1267:26:1267:31 | id(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1267:29:1267:30 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1270:18:1270:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1270:18:1270:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1270:18:1270:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1270:18:1270:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1270:26:1270:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1270:26:1270:37 | id::<...>(...) | TRef | main.rs:1238:5:1239:14 | S1 | +| main.rs:1270:35:1270:36 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1274:18:1274:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1274:18:1274:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1274:18:1274:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1274:18:1274:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1274:26:1274:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1274:26:1274:44 | id::<...>(...) | TRef | main.rs:1244:5:1244:25 | dyn Trait | +| main.rs:1274:42:1274:43 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1277:9:1277:25 | into::<...>(...) | | main.rs:1241:5:1242:14 | S2 | +| main.rs:1280:13:1280:13 | y | | main.rs:1241:5:1242:14 | S2 | +| main.rs:1294:22:1294:25 | SelfParam | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1294:22:1294:25 | SelfParam | Fst | main.rs:1293:10:1293:12 | Fst | +| main.rs:1294:22:1294:25 | SelfParam | Snd | main.rs:1293:15:1293:17 | Snd | +| main.rs:1294:35:1301:9 | { ... } | | main.rs:1293:15:1293:17 | Snd | +| main.rs:1295:19:1295:22 | self | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1295:19:1295:22 | self | Fst | main.rs:1293:10:1293:12 | Fst | +| main.rs:1295:19:1295:22 | self | Snd | main.rs:1293:15:1293:17 | Snd | +| main.rs:1296:43:1296:82 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:1296:50:1296:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | +| main.rs:1296:50:1296:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1296:50:1296:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:1296:50:1296:81 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1297:43:1297:81 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:1297:50:1297:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | +| main.rs:1297:50:1297:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1297:50:1297:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:1297:50:1297:80 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1325:10:1325:10 | t | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1325:10:1325:10 | t | Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1325:10:1325:10 | t | Snd | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1325:10:1325:10 | t | Snd.Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1325:10:1325:10 | t | Snd.Snd | main.rs:1310:5:1311:14 | S3 | +| main.rs:1325:30:1328:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1326:17:1326:17 | t | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1326:17:1326:17 | t | Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1326:17:1326:17 | t | Snd | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1326:17:1326:17 | t | Snd.Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1326:17:1326:17 | t | Snd.Snd | main.rs:1310:5:1311:14 | S3 | +| main.rs:1327:18:1327:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1327:18:1327:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1327:18:1327:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1342:22:1342:25 | SelfParam | | main.rs:1340:5:1343:5 | Self [trait TraitWithAssocType] | +| main.rs:1350:22:1350:25 | SelfParam | | main.rs:1338:5:1338:28 | GenS | +| main.rs:1350:22:1350:25 | SelfParam | GenT | main.rs:1345:10:1345:15 | Output | +| main.rs:1350:44:1352:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1350:44:1352:9 | { ... } | E | main.rs:1345:10:1345:15 | Output | +| main.rs:1350:44:1352:9 | { ... } | T | main.rs:1345:10:1345:15 | Output | +| main.rs:1351:16:1351:19 | self | | main.rs:1338:5:1338:28 | GenS | +| main.rs:1351:16:1351:19 | self | GenT | main.rs:1345:10:1345:15 | Output | +| main.rs:1355:16:1377:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1357:13:1357:14 | p1 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1357:13:1357:14 | p1 | Fst | main.rs:1304:5:1305:14 | S1 | +| main.rs:1357:13:1357:14 | p1 | Snd | main.rs:1307:5:1308:14 | S2 | +| main.rs:1358:18:1358:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1358:18:1358:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1358:18:1358:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1358:18:1358:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1358:26:1358:27 | p1 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1358:26:1358:27 | p1 | Fst | main.rs:1304:5:1305:14 | S1 | +| main.rs:1358:26:1358:27 | p1 | Snd | main.rs:1307:5:1308:14 | S2 | +| main.rs:1361:13:1361:14 | p2 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1361:13:1361:14 | p2 | Fst | main.rs:1304:5:1305:14 | S1 | +| main.rs:1361:13:1361:14 | p2 | Snd | main.rs:1307:5:1308:14 | S2 | +| main.rs:1362:18:1362:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1362:18:1362:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1362:18:1362:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1362:18:1362:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1362:26:1362:27 | p2 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1362:26:1362:27 | p2 | Fst | main.rs:1304:5:1305:14 | S1 | +| main.rs:1362:26:1362:27 | p2 | Snd | main.rs:1307:5:1308:14 | S2 | +| main.rs:1365:13:1365:14 | p3 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1365:13:1365:14 | p3 | Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1366:18:1366:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1366:18:1366:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1366:18:1366:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1366:18:1366:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1366:26:1366:27 | p3 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1366:26:1366:27 | p3 | Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1369:13:1369:14 | p3 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1369:13:1369:14 | p3 | Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1369:13:1369:14 | p3 | Snd | main.rs:1310:5:1311:14 | S3 | +| main.rs:1370:18:1370:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1370:18:1370:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1370:18:1370:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1370:18:1370:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1370:26:1370:27 | p3 | | main.rs:1285:5:1291:5 | PairOption | +| main.rs:1370:26:1370:27 | p3 | Fst | main.rs:1307:5:1308:14 | S2 | +| main.rs:1370:26:1370:27 | p3 | Snd | main.rs:1310:5:1311:14 | S3 | +| main.rs:1372:9:1372:55 | g(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1374:13:1374:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1374:13:1374:13 | x | E | main.rs:1304:5:1305:14 | S1 | +| main.rs:1374:13:1374:13 | x | T | main.rs:1330:5:1330:34 | S4 | +| main.rs:1374:13:1374:13 | x | T.T41 | main.rs:1307:5:1308:14 | S2 | +| main.rs:1374:13:1374:13 | x | T.T42 | main.rs:1332:5:1332:22 | S5 | +| main.rs:1374:13:1374:13 | x | T.T42.T5 | main.rs:1307:5:1308:14 | S2 | +| main.rs:1376:22:1376:25 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1389:16:1389:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1389:16:1389:24 | SelfParam | TRef | main.rs:1387:5:1394:5 | Self [trait MyTrait] | +| main.rs:1389:27:1389:31 | value | | main.rs:1387:19:1387:19 | S | +| main.rs:1391:21:1391:29 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1391:21:1391:29 | SelfParam | TRef | main.rs:1387:5:1394:5 | Self [trait MyTrait] | +| main.rs:1391:32:1391:36 | value | | main.rs:1387:19:1387:19 | S | +| main.rs:1391:42:1393:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1392:13:1392:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1392:13:1392:16 | self | TRef | main.rs:1387:5:1394:5 | Self [trait MyTrait] | +| main.rs:1392:22:1392:26 | value | | main.rs:1387:19:1387:19 | S | +| main.rs:1398:16:1398:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1398:16:1398:24 | SelfParam | TRef | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1398:16:1398:24 | SelfParam | TRef.T | main.rs:1396:10:1396:10 | T | +| main.rs:1398:27:1398:31 | value | | main.rs:1396:10:1396:10 | T | +| main.rs:1398:37:1398:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1402:26:1404:9 | { ... } | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1402:26:1404:9 | { ... } | T | main.rs:1401:10:1401:10 | T | +| main.rs:1408:20:1408:23 | SelfParam | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1408:20:1408:23 | SelfParam | T | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1408:20:1408:23 | SelfParam | T.T | main.rs:1407:10:1407:10 | T | +| main.rs:1408:41:1413:9 | { ... } | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1408:41:1413:9 | { ... } | T | main.rs:1407:10:1407:10 | T | +| main.rs:1409:19:1409:22 | self | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1409:19:1409:22 | self | T | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1409:19:1409:22 | self | T.T | main.rs:1407:10:1407:10 | T | +| main.rs:1419:16:1465:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1420:13:1420:14 | x1 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1420:13:1420:14 | x1 | T | main.rs:1416:5:1417:13 | S | +| main.rs:1420:18:1420:37 | ...::new(...) | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1420:18:1420:37 | ...::new(...) | T | main.rs:1416:5:1417:13 | S | +| main.rs:1421:18:1421:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1421:18:1421:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1421:18:1421:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1421:18:1421:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1421:26:1421:27 | x1 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1421:26:1421:27 | x1 | T | main.rs:1416:5:1417:13 | S | +| main.rs:1423:17:1423:18 | x2 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1423:22:1423:36 | ...::new(...) | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1424:9:1424:10 | x2 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1425:18:1425:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1425:18:1425:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1425:18:1425:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1425:18:1425:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1425:26:1425:27 | x2 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1428:17:1428:18 | x3 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1428:22:1428:36 | ...::new(...) | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1429:9:1429:10 | x3 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1430:18:1430:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1430:18:1430:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1430:18:1430:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1430:18:1430:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1430:26:1430:27 | x3 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1432:17:1432:18 | x4 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1432:22:1432:36 | ...::new(...) | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1433:9:1433:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1433:23:1433:29 | &mut x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1433:28:1433:29 | x4 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1434:18:1434:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1434:18:1434:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1434:18:1434:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1434:18:1434:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1434:26:1434:27 | x4 | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1437:18:1437:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1437:18:1437:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1437:18:1437:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1437:18:1437:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1440:18:1440:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1440:18:1440:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1440:18:1440:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1440:18:1440:61 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1440:26:1440:61 | ...::flatten(...) | | main.rs:1381:5:1385:5 | MyOption | +| main.rs:1440:26:1440:61 | ...::flatten(...) | T | main.rs:1416:5:1417:13 | S | +| main.rs:1448:18:1448:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1448:18:1448:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1448:18:1448:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1448:18:1448:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1452:13:1452:16 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1453:13:1453:17 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1455:18:1455:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1455:18:1455:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1455:18:1455:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1455:18:1455:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1458:30:1463:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1459:13:1461:13 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1459:22:1461:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1464:18:1464:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1464:18:1464:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1464:18:1464:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1464:18:1464:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1482:15:1482:18 | SelfParam | | main.rs:1470:5:1471:19 | S | +| main.rs:1482:15:1482:18 | SelfParam | T | main.rs:1481:10:1481:10 | T | +| main.rs:1482:26:1484:9 | { ... } | | main.rs:1481:10:1481:10 | T | +| main.rs:1483:13:1483:16 | self | | main.rs:1470:5:1471:19 | S | +| main.rs:1483:13:1483:16 | self | T | main.rs:1481:10:1481:10 | T | +| main.rs:1486:15:1486:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1486:15:1486:19 | SelfParam | TRef | main.rs:1470:5:1471:19 | S | +| main.rs:1486:15:1486:19 | SelfParam | TRef.T | main.rs:1481:10:1481:10 | T | +| main.rs:1486:28:1488:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1486:28:1488:9 | { ... } | TRef | main.rs:1481:10:1481:10 | T | +| main.rs:1487:13:1487:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1487:14:1487:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1487:14:1487:17 | self | TRef | main.rs:1470:5:1471:19 | S | +| main.rs:1487:14:1487:17 | self | TRef.T | main.rs:1481:10:1481:10 | T | +| main.rs:1490:15:1490:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1490:15:1490:25 | SelfParam | TRef | main.rs:1470:5:1471:19 | S | +| main.rs:1490:15:1490:25 | SelfParam | TRef.T | main.rs:1481:10:1481:10 | T | +| main.rs:1490:34:1492:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1490:34:1492:9 | { ... } | TRef | main.rs:1481:10:1481:10 | T | +| main.rs:1491:13:1491:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1491:14:1491:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1491:14:1491:17 | self | TRef | main.rs:1470:5:1471:19 | S | +| main.rs:1491:14:1491:17 | self | TRef.T | main.rs:1481:10:1481:10 | T | +| main.rs:1496:29:1496:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1496:29:1496:33 | SelfParam | TRef | main.rs:1495:5:1498:5 | Self [trait ATrait] | +| main.rs:1497:33:1497:36 | SelfParam | | main.rs:1495:5:1498:5 | Self [trait ATrait] | +| main.rs:1503:29:1503:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1503:29:1503:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1503:29:1503:33 | SelfParam | TRef.TRef | main.rs:1476:5:1479:5 | MyInt | +| main.rs:1503:43:1505:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1504:17:1504:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1504:17:1504:20 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1504:17:1504:20 | self | TRef.TRef | main.rs:1476:5:1479:5 | MyInt | +| main.rs:1508:33:1508:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1508:33:1508:36 | SelfParam | TRef | main.rs:1476:5:1479:5 | MyInt | +| main.rs:1508:46:1510:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1509:15:1509:18 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1509:15:1509:18 | self | TRef | main.rs:1476:5:1479:5 | MyInt | +| main.rs:1513:16:1563:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1515:18:1515:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1515:18:1515:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1515:18:1515:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1515:18:1515:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1519:18:1519:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1519:18:1519:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1519:18:1519:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1519:18:1519:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1520:18:1520:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1520:18:1520:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1520:18:1520:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1520:18:1520:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1524:18:1524:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1524:18:1524:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1524:18:1524:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1524:18:1524:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1524:26:1524:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1524:26:1524:41 | ...::m2(...) | TRef | main.rs:1473:5:1474:14 | S2 | +| main.rs:1524:38:1524:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1525:18:1525:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1525:18:1525:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1525:18:1525:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1525:18:1525:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1525:26:1525:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1525:26:1525:41 | ...::m3(...) | TRef | main.rs:1473:5:1474:14 | S2 | +| main.rs:1525:38:1525:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1527:13:1527:14 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1527:18:1527:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1529:18:1529:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1529:18:1529:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1529:18:1529:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1529:18:1529:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1529:26:1529:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1530:18:1530:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1530:18:1530:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1530:18:1530:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1530:18:1530:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1530:26:1530:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1532:13:1532:14 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1532:18:1532:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1534:18:1534:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1534:18:1534:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1534:18:1534:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1534:18:1534:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1534:26:1534:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1535:18:1535:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1535:18:1535:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1535:18:1535:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1535:18:1535:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1535:26:1535:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1537:13:1537:14 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1537:18:1537:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1540:18:1540:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1540:18:1540:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1540:18:1540:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1540:18:1540:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1540:28:1540:29 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1542:20:1542:22 | &S2 | | {EXTERNAL LOCATION} | & | +| main.rs:1546:18:1546:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1546:18:1546:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1546:18:1546:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1546:18:1546:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1548:13:1548:14 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1548:26:1548:32 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1548:26:1548:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1552:17:1552:18 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1554:13:1554:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1554:24:1554:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1554:25:1554:39 | MyInt {...} | | main.rs:1476:5:1479:5 | MyInt | +| main.rs:1556:17:1556:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1557:18:1557:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1557:18:1557:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1557:18:1557:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1557:18:1557:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1560:13:1560:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1560:24:1560:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1560:25:1560:39 | MyInt {...} | | main.rs:1476:5:1479:5 | MyInt | +| main.rs:1561:17:1561:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1562:18:1562:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1562:18:1562:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1562:18:1562:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1562:18:1562:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1569:16:1569:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1569:16:1569:20 | SelfParam | TRef | main.rs:1567:5:1575:5 | Self [trait MyTrait] | +| main.rs:1572:16:1572:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1572:16:1572:20 | SelfParam | TRef | main.rs:1567:5:1575:5 | Self [trait MyTrait] | +| main.rs:1572:32:1574:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1572:32:1574:9 | { ... } | TRef | main.rs:1567:5:1575:5 | Self [trait MyTrait] | +| main.rs:1573:13:1573:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1573:13:1573:16 | self | TRef | main.rs:1567:5:1575:5 | Self [trait MyTrait] | +| main.rs:1581:16:1581:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1581:16:1581:20 | SelfParam | TRef | main.rs:1577:5:1577:20 | MyStruct | +| main.rs:1581:36:1583:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1581:36:1583:9 | { ... } | TRef | main.rs:1577:5:1577:20 | MyStruct | +| main.rs:1582:13:1582:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1582:13:1582:16 | self | TRef | main.rs:1577:5:1577:20 | MyStruct | +| main.rs:1586:16:1589:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1598:16:1598:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1598:16:1598:20 | SelfParam | TRef | main.rs:1595:5:1595:26 | MyStruct | +| main.rs:1598:16:1598:20 | SelfParam | TRef.T | main.rs:1597:10:1597:10 | T | +| main.rs:1598:32:1600:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1598:32:1600:9 | { ... } | TRef | main.rs:1595:5:1595:26 | MyStruct | +| main.rs:1598:32:1600:9 | { ... } | TRef.T | main.rs:1597:10:1597:10 | T | +| main.rs:1599:13:1599:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1599:13:1599:16 | self | TRef | main.rs:1595:5:1595:26 | MyStruct | +| main.rs:1599:13:1599:16 | self | TRef.T | main.rs:1597:10:1597:10 | T | +| main.rs:1602:16:1602:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1602:16:1602:20 | SelfParam | TRef | main.rs:1595:5:1595:26 | MyStruct | +| main.rs:1602:16:1602:20 | SelfParam | TRef.T | main.rs:1597:10:1597:10 | T | +| main.rs:1602:23:1602:23 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1602:23:1602:23 | x | TRef | main.rs:1595:5:1595:26 | MyStruct | +| main.rs:1602:23:1602:23 | x | TRef.T | main.rs:1597:10:1597:10 | T | +| main.rs:1602:42:1604:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1602:42:1604:9 | { ... } | TRef | main.rs:1595:5:1595:26 | MyStruct | +| main.rs:1602:42:1604:9 | { ... } | TRef.T | main.rs:1597:10:1597:10 | T | +| main.rs:1603:13:1603:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1603:13:1603:16 | self | TRef | main.rs:1595:5:1595:26 | MyStruct | +| main.rs:1603:13:1603:16 | self | TRef.T | main.rs:1597:10:1597:10 | T | +| main.rs:1607:16:1613:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1612:15:1612:17 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1612:16:1612:17 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1623:17:1623:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1623:17:1623:25 | SelfParam | TRef | main.rs:1617:5:1620:5 | MyFlag | +| main.rs:1623:28:1625:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1624:13:1624:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1624:13:1624:16 | self | TRef | main.rs:1617:5:1620:5 | MyFlag | +| main.rs:1624:26:1624:29 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1624:26:1624:29 | self | TRef | main.rs:1617:5:1620:5 | MyFlag | +| main.rs:1631:15:1631:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1631:15:1631:19 | SelfParam | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1631:31:1633:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1631:31:1633:9 | { ... } | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1632:13:1632:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1632:14:1632:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1632:15:1632:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1632:16:1632:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1632:16:1632:19 | self | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1635:15:1635:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1635:15:1635:25 | SelfParam | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1635:37:1637:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1635:37:1637:9 | { ... } | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1636:13:1636:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1636:14:1636:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1636:15:1636:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1636:16:1636:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1636:16:1636:19 | self | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1639:15:1639:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1639:15:1639:15 | x | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1639:34:1641:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1639:34:1641:9 | { ... } | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1640:13:1640:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1640:13:1640:13 | x | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1643:15:1643:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1643:15:1643:15 | x | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1643:34:1645:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1643:34:1645:9 | { ... } | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1644:13:1644:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1644:14:1644:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1644:15:1644:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1644:16:1644:16 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1644:16:1644:16 | x | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1648:16:1661:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1649:13:1649:13 | x | | main.rs:1628:5:1628:13 | S | +| main.rs:1649:17:1649:20 | S {...} | | main.rs:1628:5:1628:13 | S | +| main.rs:1650:9:1650:9 | x | | main.rs:1628:5:1628:13 | S | +| main.rs:1651:9:1651:9 | x | | main.rs:1628:5:1628:13 | S | +| main.rs:1652:9:1652:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1652:9:1652:17 | ...::f3(...) | TRef | main.rs:1628:5:1628:13 | S | +| main.rs:1652:15:1652:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1652:16:1652:16 | x | | main.rs:1628:5:1628:13 | S | +| main.rs:1654:19:1654:24 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1654:20:1654:24 | &true | | {EXTERNAL LOCATION} | & | +| main.rs:1654:21:1654:24 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1659:9:1659:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1659:22:1659:30 | &mut flag | | {EXTERNAL LOCATION} | & | +| main.rs:1660:18:1660:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1660:18:1660:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1660:18:1660:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1660:18:1660:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1675:43:1678:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1675:43:1678:5 | { ... } | E | main.rs:1667:5:1668:14 | S1 | +| main.rs:1675:43:1678:5 | { ... } | T | main.rs:1667:5:1668:14 | S1 | +| main.rs:1682:46:1686:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1682:46:1686:5 | { ... } | E | main.rs:1670:5:1671:14 | S2 | +| main.rs:1682:46:1686:5 | { ... } | T | main.rs:1667:5:1668:14 | S1 | +| main.rs:1690:40:1695:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1690:40:1695:5 | { ... } | E | main.rs:1670:5:1671:14 | S2 | +| main.rs:1690:40:1695:5 | { ... } | T | main.rs:1667:5:1668:14 | S1 | +| main.rs:1699:30:1699:34 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1699:30:1699:34 | input | E | main.rs:1667:5:1668:14 | S1 | +| main.rs:1699:30:1699:34 | input | T | main.rs:1699:20:1699:27 | T | +| main.rs:1699:69:1706:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1699:69:1706:5 | { ... } | E | main.rs:1667:5:1668:14 | S1 | +| main.rs:1699:69:1706:5 | { ... } | T | main.rs:1699:20:1699:27 | T | +| main.rs:1700:21:1700:25 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1700:21:1700:25 | input | E | main.rs:1667:5:1668:14 | S1 | +| main.rs:1700:21:1700:25 | input | T | main.rs:1699:20:1699:27 | T | +| main.rs:1702:22:1702:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1702:22:1702:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1702:22:1702:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1702:22:1702:30 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1709:16:1725:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1710:9:1712:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1710:37:1710:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1710:37:1710:52 | try_same_error(...) | E | main.rs:1667:5:1668:14 | S1 | +| main.rs:1710:37:1710:52 | try_same_error(...) | T | main.rs:1667:5:1668:14 | S1 | +| main.rs:1710:54:1712:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1711:22:1711:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1711:22:1711:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1711:22:1711:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1711:22:1711:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1714:9:1716:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1714:37:1714:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1714:37:1714:55 | try_convert_error(...) | E | main.rs:1670:5:1671:14 | S2 | +| main.rs:1714:37:1714:55 | try_convert_error(...) | T | main.rs:1667:5:1668:14 | S1 | +| main.rs:1714:57:1716:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1715:22:1715:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1715:22:1715:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1715:22:1715:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1715:22:1715:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1718:9:1720:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1718:37:1718:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1718:37:1718:49 | try_chained(...) | E | main.rs:1670:5:1671:14 | S2 | +| main.rs:1718:37:1718:49 | try_chained(...) | T | main.rs:1667:5:1668:14 | S1 | +| main.rs:1718:51:1720:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1719:22:1719:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1719:22:1719:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1719:22:1719:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1719:22:1719:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1722:9:1724:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1722:37:1722:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1722:37:1722:63 | try_complex(...) | E | main.rs:1667:5:1668:14 | S1 | +| main.rs:1722:65:1724:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1723:22:1723:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1723:22:1723:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1723:22:1723:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1723:22:1723:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1729:16:1820:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1730:13:1730:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1732:17:1732:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1733:17:1733:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1734:13:1734:13 | c | | {EXTERNAL LOCATION} | char | +| main.rs:1734:17:1734:19 | 'c' | | {EXTERNAL LOCATION} | char | +| main.rs:1735:13:1735:17 | hello | | {EXTERNAL LOCATION} | & | +| main.rs:1735:13:1735:17 | hello | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1735:21:1735:27 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1735:21:1735:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1736:13:1736:13 | f | | {EXTERNAL LOCATION} | f64 | +| main.rs:1736:17:1736:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | +| main.rs:1737:13:1737:13 | t | | {EXTERNAL LOCATION} | bool | +| main.rs:1737:17:1737:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1738:13:1738:13 | f | | {EXTERNAL LOCATION} | bool | +| main.rs:1738:17:1738:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1741:26:1741:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1741:26:1741:30 | SelfParam | TRef | main.rs:1740:9:1744:9 | Self [trait MyTrait] | +| main.rs:1747:26:1747:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1747:26:1747:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1747:26:1747:30 | SelfParam | TRef.TArray | main.rs:1746:14:1746:23 | T | +| main.rs:1747:39:1749:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1747:39:1749:13 | { ... } | TRef | main.rs:1746:14:1746:23 | T | +| main.rs:1748:17:1748:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1748:17:1748:20 | self | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1748:17:1748:20 | self | TRef.TArray | main.rs:1746:14:1746:23 | T | +| main.rs:1751:31:1753:13 | { ... } | | main.rs:1746:14:1746:23 | T | +| main.rs:1756:17:1756:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1757:13:1757:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1757:17:1757:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1757:37:1757:46 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1757:38:1757:46 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1758:13:1758:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1758:17:1758:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1761:26:1761:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1761:26:1761:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1761:26:1761:30 | SelfParam | TRef.TSlice | main.rs:1760:14:1760:23 | T | +| main.rs:1761:39:1763:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1761:39:1763:13 | { ... } | TRef | main.rs:1760:14:1760:23 | T | +| main.rs:1762:17:1762:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1762:17:1762:20 | self | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1762:17:1762:20 | self | TRef.TSlice | main.rs:1760:14:1760:23 | T | +| main.rs:1765:31:1767:13 | { ... } | | main.rs:1760:14:1760:23 | T | +| main.rs:1770:13:1770:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1770:13:1770:13 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1770:13:1770:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1770:25:1770:34 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1770:26:1770:34 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1771:17:1771:17 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1771:17:1771:17 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1771:17:1771:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1772:13:1772:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1772:17:1772:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1772:34:1772:34 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1772:34:1772:34 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1772:34:1772:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1773:13:1773:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1773:17:1773:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1776:26:1776:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1776:26:1776:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1776:26:1776:30 | SelfParam | TRef.T0 | main.rs:1775:14:1775:23 | T | +| main.rs:1776:26:1776:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1776:39:1778:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1776:39:1778:13 | { ... } | TRef | main.rs:1775:14:1775:23 | T | +| main.rs:1777:17:1777:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1777:18:1777:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1777:18:1777:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1777:18:1777:21 | self | TRef.T0 | main.rs:1775:14:1775:23 | T | +| main.rs:1777:18:1777:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1780:31:1782:13 | { ... } | | main.rs:1775:14:1775:23 | T | +| main.rs:1785:13:1785:13 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1785:17:1785:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1786:17:1786:17 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1787:13:1787:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1787:17:1787:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1787:37:1787:38 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1787:38:1787:38 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1788:13:1788:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1788:17:1788:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1791:26:1791:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1791:26:1791:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1791:26:1791:30 | SelfParam | TRef.TRef | main.rs:1790:14:1790:23 | T | +| main.rs:1791:39:1793:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1791:39:1793:13 | { ... } | TRef | main.rs:1790:14:1790:23 | T | +| main.rs:1792:18:1792:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1792:18:1792:21 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1792:18:1792:21 | self | TRef.TRef | main.rs:1790:14:1790:23 | T | +| main.rs:1795:31:1797:13 | { ... } | | main.rs:1790:14:1790:23 | T | +| main.rs:1800:13:1800:13 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1800:17:1800:19 | &42 | | {EXTERNAL LOCATION} | & | +| main.rs:1801:17:1801:17 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1802:13:1802:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1802:17:1802:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1802:33:1802:34 | &r | | {EXTERNAL LOCATION} | & | +| main.rs:1802:34:1802:34 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1803:13:1803:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1803:17:1803:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1806:26:1806:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1806:26:1806:30 | SelfParam | TRef | file://:0:0:0:0 | * | +| main.rs:1806:26:1806:30 | SelfParam | TRef.TPtr | main.rs:1805:14:1805:23 | T | +| main.rs:1806:39:1808:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1806:39:1808:13 | { ... } | TRef | main.rs:1805:14:1805:23 | T | +| main.rs:1807:26:1807:32 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1807:29:1807:32 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1807:29:1807:32 | self | TRef | file://:0:0:0:0 | * | +| main.rs:1807:29:1807:32 | self | TRef.TPtr | main.rs:1805:14:1805:23 | T | +| main.rs:1810:31:1812:13 | { ... } | | main.rs:1805:14:1805:23 | T | +| main.rs:1816:13:1816:13 | p | | file://:0:0:0:0 | * | +| main.rs:1816:13:1816:13 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1816:27:1816:32 | &mut v | | {EXTERNAL LOCATION} | & | +| main.rs:1817:26:1817:26 | p | | file://:0:0:0:0 | * | +| main.rs:1817:26:1817:26 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1818:26:1818:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1818:46:1818:47 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1818:47:1818:47 | p | | file://:0:0:0:0 | * | +| main.rs:1818:47:1818:47 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1819:13:1819:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1819:17:1819:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1825:16:1837:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1826:13:1826:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:1826:17:1826:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1826:17:1826:29 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1826:25:1826:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1827:13:1827:13 | y | | {EXTERNAL LOCATION} | bool | +| main.rs:1827:17:1827:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1827:17:1827:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1827:25:1827:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1831:17:1833:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1833:16:1835:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1850:30:1852:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1851:13:1851:31 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1858:16:1858:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1858:22:1858:24 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1858:41:1863:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1859:13:1862:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1860:20:1860:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1860:29:1860:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1861:20:1861:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1861:29:1861:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1868:23:1868:31 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1868:23:1868:31 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1868:34:1868:36 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1868:45:1871:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1869:13:1869:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1869:13:1869:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1869:23:1869:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1870:13:1870:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1870:13:1870:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1870:23:1870:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1876:16:1876:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1876:22:1876:24 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1876:41:1881:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1877:13:1880:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1878:20:1878:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1878:29:1878:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1879:20:1879:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1879:29:1879:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1886:23:1886:31 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1886:23:1886:31 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1886:34:1886:36 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1886:45:1889:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1887:13:1887:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1887:13:1887:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1887:23:1887:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1888:13:1888:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1888:13:1888:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1888:23:1888:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1894:16:1894:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1894:22:1894:24 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1894:41:1899:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1895:13:1898:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1896:20:1896:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1896:29:1896:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1897:20:1897:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1897:29:1897:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1903:23:1903:31 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1903:23:1903:31 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1903:34:1903:36 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1903:45:1906:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1904:13:1904:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1904:13:1904:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1904:23:1904:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1905:13:1905:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1905:13:1905:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1905:23:1905:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1911:16:1911:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1911:22:1911:24 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1911:41:1916:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1912:13:1915:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1913:20:1913:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1913:29:1913:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1914:20:1914:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1914:29:1914:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1920:23:1920:31 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1920:23:1920:31 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1920:34:1920:36 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1920:45:1923:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1921:13:1921:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1921:13:1921:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1921:23:1921:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1922:13:1922:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1922:13:1922:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1922:23:1922:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1928:16:1928:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1928:22:1928:24 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1928:41:1933:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1929:13:1932:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1930:20:1930:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1930:29:1930:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1931:20:1931:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1931:29:1931:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1937:23:1937:31 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1937:23:1937:31 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1937:34:1937:36 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1937:45:1940:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1938:13:1938:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1938:13:1938:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1938:23:1938:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1939:13:1939:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1939:13:1939:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1939:23:1939:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1945:19:1945:22 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1945:25:1945:27 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1945:44:1950:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1946:13:1949:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1947:20:1947:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1947:29:1947:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1948:20:1948:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1948:29:1948:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1954:26:1954:34 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1954:26:1954:34 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1954:37:1954:39 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1954:48:1957:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1955:13:1955:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1955:13:1955:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1955:23:1955:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1956:13:1956:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1956:13:1956:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1956:23:1956:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1962:18:1962:21 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1962:24:1962:26 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1962:43:1967:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1963:13:1966:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1964:20:1964:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1964:29:1964:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1965:20:1965:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1965:29:1965:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1971:25:1971:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1971:25:1971:33 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1971:36:1971:38 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1971:47:1974:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1972:13:1972:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1972:13:1972:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1972:23:1972:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1973:13:1973:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1973:13:1973:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1973:23:1973:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1979:19:1979:22 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1979:25:1979:27 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1979:44:1984:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1980:13:1983:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1981:20:1981:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1981:29:1981:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1982:20:1982:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1982:29:1982:31 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1988:26:1988:34 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1988:26:1988:34 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1988:37:1988:39 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1988:48:1991:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1989:13:1989:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1989:13:1989:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1989:23:1989:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1990:13:1990:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1990:13:1990:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1990:23:1990:25 | rhs | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1996:16:1996:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1996:22:1996:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1996:40:2001:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1997:13:2000:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1998:20:1998:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1998:30:1998:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1999:20:1999:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:1999:30:1999:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2005:23:2005:31 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2005:23:2005:31 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2005:34:2005:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2005:44:2008:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2006:13:2006:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2006:13:2006:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2006:24:2006:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2007:13:2007:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2007:13:2007:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2007:24:2007:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2013:16:2013:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2013:22:2013:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2013:40:2018:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2014:13:2017:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2015:20:2015:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2015:30:2015:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2016:20:2016:23 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2016:30:2016:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2022:23:2022:31 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2022:23:2022:31 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2022:34:2022:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2022:44:2025:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2023:13:2023:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2023:13:2023:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2023:24:2023:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2024:13:2024:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2024:13:2024:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2024:24:2024:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:2030:16:2030:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2030:30:2035:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2031:13:2034:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2032:21:2032:24 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2033:21:2033:24 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2040:16:2040:19 | SelfParam | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2040:30:2045:9 | { ... } | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2041:13:2044:13 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2042:21:2042:24 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2043:21:2043:24 | self | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2049:15:2049:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2049:15:2049:19 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2049:22:2049:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2049:22:2049:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2049:44:2051:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2050:13:2050:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2050:13:2050:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2050:13:2050:29 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2050:13:2050:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2050:23:2050:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2050:23:2050:27 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2050:34:2050:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2050:34:2050:37 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2050:34:2050:50 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2050:44:2050:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2050:44:2050:48 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2053:15:2053:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2053:15:2053:19 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2053:22:2053:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2053:22:2053:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2053:44:2055:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2054:13:2054:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2054:13:2054:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2054:13:2054:29 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2054:13:2054:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2054:23:2054:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2054:23:2054:27 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2054:34:2054:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2054:34:2054:37 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2054:34:2054:50 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2054:44:2054:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2054:44:2054:48 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2059:24:2059:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2059:24:2059:28 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2059:31:2059:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2059:31:2059:35 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2059:75:2061:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2059:75:2061:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:2060:14:2060:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2060:14:2060:17 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2060:23:2060:26 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2060:23:2060:26 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2060:43:2060:62 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2060:45:2060:49 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2060:45:2060:49 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2060:55:2060:59 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2060:55:2060:59 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2063:15:2063:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2063:15:2063:19 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2063:22:2063:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2063:22:2063:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2063:44:2065:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2064:13:2064:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2064:13:2064:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2064:13:2064:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2064:13:2064:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2064:22:2064:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2064:22:2064:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2064:33:2064:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2064:33:2064:36 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2064:33:2064:48 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2064:42:2064:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2064:42:2064:46 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2067:15:2067:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2067:15:2067:19 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2067:22:2067:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2067:22:2067:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2067:44:2069:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2068:13:2068:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2068:13:2068:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2068:13:2068:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2068:13:2068:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2068:23:2068:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2068:23:2068:27 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2068:34:2068:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2068:34:2068:37 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2068:34:2068:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2068:44:2068:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2068:44:2068:48 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2071:15:2071:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2071:15:2071:19 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2071:22:2071:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2071:22:2071:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2071:44:2073:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2072:13:2072:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2072:13:2072:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2072:13:2072:28 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2072:13:2072:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2072:22:2072:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2072:22:2072:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2072:33:2072:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2072:33:2072:36 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2072:33:2072:48 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2072:42:2072:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2072:42:2072:46 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2075:15:2075:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2075:15:2075:19 | SelfParam | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2075:22:2075:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2075:22:2075:26 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2075:44:2077:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2076:13:2076:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2076:13:2076:16 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2076:13:2076:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2076:13:2076:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2076:23:2076:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2076:23:2076:27 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2076:34:2076:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2076:34:2076:37 | self | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2076:34:2076:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2076:44:2076:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2076:44:2076:48 | other | TRef | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2080:26:2080:26 | a | | main.rs:2080:18:2080:23 | T | +| main.rs:2080:32:2080:32 | b | | main.rs:2080:18:2080:23 | T | +| main.rs:2081:9:2081:9 | a | | main.rs:2080:18:2080:23 | T | +| main.rs:2081:13:2081:13 | b | | main.rs:2080:18:2080:23 | T | +| main.rs:2084:16:2215:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2088:23:2088:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2088:31:2088:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2089:23:2089:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2089:31:2089:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2090:23:2090:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2090:30:2090:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2091:23:2091:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2091:31:2091:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2092:23:2092:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2092:30:2092:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2093:23:2093:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2093:32:2093:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2096:23:2096:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2096:31:2096:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2097:23:2097:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2097:31:2097:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2098:23:2098:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2098:31:2098:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2099:23:2099:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2099:31:2099:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2100:23:2100:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2100:31:2100:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2101:39:2101:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2101:45:2101:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2104:17:2104:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2104:34:2104:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2105:9:2105:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2105:27:2105:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2107:17:2107:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2107:34:2107:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2108:9:2108:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2108:27:2108:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2110:17:2110:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2110:34:2110:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2111:9:2111:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2111:27:2111:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2113:17:2113:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2113:34:2113:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2114:9:2114:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2114:27:2114:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2116:17:2116:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2116:34:2116:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2117:9:2117:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2117:27:2117:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2120:26:2120:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2120:34:2120:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2121:25:2121:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2121:33:2121:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2122:26:2122:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2122:34:2122:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2123:23:2123:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2123:32:2123:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2124:23:2124:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2124:32:2124:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2127:17:2127:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2127:37:2127:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2128:9:2128:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2128:30:2128:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2130:17:2130:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2130:36:2130:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2131:9:2131:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2131:29:2131:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2133:17:2133:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2133:37:2133:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2134:9:2134:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2134:30:2134:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2136:17:2136:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2136:34:2136:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2137:9:2137:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2137:28:2137:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2139:17:2139:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2139:34:2139:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2140:9:2140:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:2140:28:2140:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2142:24:2142:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2143:24:2143:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2146:13:2146:14 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2146:18:2146:36 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2147:13:2147:14 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2147:18:2147:36 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2150:23:2150:24 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2150:29:2150:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2151:23:2151:24 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2151:29:2151:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2152:23:2152:24 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2152:28:2152:29 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2153:23:2153:24 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2153:29:2153:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2154:23:2154:24 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2154:28:2154:29 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2155:23:2155:24 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2155:29:2155:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2158:24:2158:25 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2158:29:2158:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2159:24:2159:25 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2159:29:2159:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2160:24:2160:25 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2160:29:2160:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2161:24:2161:25 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2161:29:2161:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2162:24:2162:25 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2162:29:2162:30 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2165:17:2165:31 | vec2_add_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2165:35:2165:36 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2166:9:2166:23 | vec2_add_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2166:28:2166:29 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2168:17:2168:31 | vec2_sub_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2168:35:2168:36 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2169:9:2169:23 | vec2_sub_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2169:28:2169:29 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2171:17:2171:31 | vec2_mul_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2171:35:2171:36 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2172:9:2172:23 | vec2_mul_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2172:28:2172:29 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2174:17:2174:31 | vec2_div_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2174:35:2174:36 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2175:9:2175:23 | vec2_div_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2175:28:2175:29 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2177:17:2177:31 | vec2_rem_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2177:35:2177:36 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2178:9:2178:23 | vec2_rem_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2178:28:2178:29 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2181:27:2181:28 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2181:32:2181:33 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2182:26:2182:27 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2182:31:2182:32 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2183:27:2183:28 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2183:32:2183:33 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2184:24:2184:25 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2184:30:2184:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2185:24:2185:25 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2185:30:2185:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2188:17:2188:34 | vec2_bitand_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2188:38:2188:39 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2189:9:2189:26 | vec2_bitand_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2189:31:2189:32 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2191:17:2191:33 | vec2_bitor_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2191:37:2191:38 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2192:9:2192:25 | vec2_bitor_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2192:30:2192:31 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2194:17:2194:34 | vec2_bitxor_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2194:38:2194:39 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2195:9:2195:26 | vec2_bitxor_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2195:31:2195:32 | v2 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2197:17:2197:31 | vec2_shl_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2197:35:2197:36 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2198:9:2198:23 | vec2_shl_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2198:29:2198:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2200:17:2200:31 | vec2_shr_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2200:35:2200:36 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2201:9:2201:23 | vec2_shr_assign | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2201:29:2201:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2204:25:2204:26 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2205:25:2205:26 | v1 | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2209:30:2209:48 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2214:30:2214:48 | Vec2 {...} | | main.rs:1843:5:1848:5 | Vec2 | +| main.rs:2224:18:2224:21 | SelfParam | | main.rs:2221:5:2221:14 | S1 | +| main.rs:2224:24:2224:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2227:25:2229:5 | { ... } | | main.rs:2221:5:2221:14 | S1 | +| main.rs:2231:41:2233:5 | { ... } | | main.rs:2231:16:2231:39 | impl ... | +| main.rs:2232:9:2232:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2235:41:2237:5 | { ... } | | main.rs:2235:16:2235:39 | impl ... | +| main.rs:2236:9:2236:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2236:9:2236:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2245:13:2245:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | +| main.rs:2245:13:2245:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | & | +| main.rs:2245:13:2245:42 | SelfParam | Ptr.TRef | main.rs:2239:5:2239:14 | S2 | +| main.rs:2246:13:2246:15 | _cx | | {EXTERNAL LOCATION} | & | +| main.rs:2246:13:2246:15 | _cx | TRef | {EXTERNAL LOCATION} | Context | +| main.rs:2247:44:2249:9 | { ... } | | {EXTERNAL LOCATION} | Poll | +| main.rs:2247:44:2249:9 | { ... } | T | main.rs:2221:5:2221:14 | S1 | +| main.rs:2252:41:2254:5 | { ... } | | main.rs:2252:16:2252:39 | impl ... | +| main.rs:2256:22:2264:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2257:9:2257:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2257:9:2257:12 | f1(...) | dyn(Output) | main.rs:2221:5:2221:14 | S1 | +| main.rs:2258:9:2258:12 | f2(...) | | main.rs:2231:16:2231:39 | impl ... | +| main.rs:2259:9:2259:12 | f3(...) | | main.rs:2235:16:2235:39 | impl ... | +| main.rs:2260:9:2260:12 | f4(...) | | main.rs:2252:16:2252:39 | impl ... | +| main.rs:2262:13:2262:13 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2262:17:2262:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2263:9:2263:9 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2274:15:2274:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2274:15:2274:19 | SelfParam | TRef | main.rs:2273:5:2275:5 | Self [trait Trait1] | +| main.rs:2274:22:2274:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2278:15:2278:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2278:15:2278:19 | SelfParam | TRef | main.rs:2277:5:2279:5 | Self [trait Trait2] | +| main.rs:2278:22:2278:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2282:15:2282:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2282:15:2282:19 | SelfParam | TRef | main.rs:2268:5:2269:14 | S1 | +| main.rs:2282:22:2282:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2286:15:2286:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2286:15:2286:19 | SelfParam | TRef | main.rs:2268:5:2269:14 | S1 | +| main.rs:2286:22:2286:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2289:37:2291:5 | { ... } | | main.rs:2289:16:2289:35 | impl ... + ... | +| main.rs:2294:18:2294:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2294:18:2294:22 | SelfParam | TRef | main.rs:2293:5:2295:5 | Self [trait MyTrait] | +| main.rs:2298:18:2298:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2298:18:2298:22 | SelfParam | TRef | main.rs:2268:5:2269:14 | S1 | +| main.rs:2298:31:2300:9 | { ... } | | main.rs:2270:5:2270:14 | S2 | +| main.rs:2304:18:2304:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2304:18:2304:22 | SelfParam | TRef | main.rs:2271:5:2271:22 | S3 | +| main.rs:2304:18:2304:22 | SelfParam | TRef.T3 | main.rs:2303:10:2303:17 | T | +| main.rs:2304:30:2307:9 | { ... } | | main.rs:2303:10:2303:17 | T | +| main.rs:2305:25:2305:28 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2305:25:2305:28 | self | TRef | main.rs:2271:5:2271:22 | S3 | +| main.rs:2305:25:2305:28 | self | TRef.T3 | main.rs:2303:10:2303:17 | T | +| main.rs:2310:45:2312:5 | { ... } | | main.rs:2310:28:2310:43 | impl ... | +| main.rs:2314:41:2314:41 | t | | main.rs:2314:26:2314:38 | B | +| main.rs:2314:52:2316:5 | { ... } | | main.rs:2314:23:2314:23 | A | +| main.rs:2315:9:2315:9 | t | | main.rs:2314:26:2314:38 | B | +| main.rs:2318:34:2318:34 | x | | main.rs:2318:24:2318:31 | T | +| main.rs:2318:59:2320:5 | { ... } | | main.rs:2318:43:2318:57 | impl ... | +| main.rs:2318:59:2320:5 | { ... } | impl(T) | main.rs:2318:24:2318:31 | T | +| main.rs:2319:12:2319:12 | x | | main.rs:2318:24:2318:31 | T | +| main.rs:2322:34:2322:34 | x | | main.rs:2322:24:2322:31 | T | +| main.rs:2322:67:2324:5 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2322:67:2324:5 | { ... } | T | main.rs:2322:50:2322:64 | impl ... | +| main.rs:2322:67:2324:5 | { ... } | T.impl(T) | main.rs:2322:24:2322:31 | T | +| main.rs:2323:17:2323:17 | x | | main.rs:2322:24:2322:31 | T | +| main.rs:2326:34:2326:34 | x | | main.rs:2326:24:2326:31 | T | +| main.rs:2326:78:2328:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2326:78:2328:5 | { ... } | T0 | main.rs:2326:44:2326:58 | impl ... | +| main.rs:2326:78:2328:5 | { ... } | T0.impl(T) | main.rs:2326:24:2326:31 | T | +| main.rs:2326:78:2328:5 | { ... } | T1 | main.rs:2326:61:2326:75 | impl ... | +| main.rs:2326:78:2328:5 | { ... } | T1.impl(T) | main.rs:2326:24:2326:31 | T | +| main.rs:2327:9:2327:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2327:13:2327:13 | x | | main.rs:2326:24:2326:31 | T | +| main.rs:2327:28:2327:28 | x | | main.rs:2326:24:2326:31 | T | +| main.rs:2330:26:2330:26 | t | | main.rs:2330:29:2330:43 | impl ... | +| main.rs:2330:51:2332:5 | { ... } | | main.rs:2330:23:2330:23 | A | +| main.rs:2331:9:2331:9 | t | | main.rs:2330:29:2330:43 | impl ... | +| main.rs:2334:16:2348:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2335:13:2335:13 | x | | main.rs:2289:16:2289:35 | impl ... + ... | +| main.rs:2335:17:2335:20 | f1(...) | | main.rs:2289:16:2289:35 | impl ... + ... | +| main.rs:2336:9:2336:9 | x | | main.rs:2289:16:2289:35 | impl ... + ... | +| main.rs:2337:9:2337:9 | x | | main.rs:2289:16:2289:35 | impl ... + ... | +| main.rs:2338:13:2338:13 | a | | main.rs:2310:28:2310:43 | impl ... | +| main.rs:2338:17:2338:32 | get_a_my_trait(...) | | main.rs:2310:28:2310:43 | impl ... | +| main.rs:2339:32:2339:32 | a | | main.rs:2310:28:2310:43 | impl ... | +| main.rs:2340:13:2340:13 | a | | main.rs:2310:28:2310:43 | impl ... | +| main.rs:2340:17:2340:32 | get_a_my_trait(...) | | main.rs:2310:28:2310:43 | impl ... | +| main.rs:2341:32:2341:32 | a | | main.rs:2310:28:2310:43 | impl ... | +| main.rs:2343:17:2343:35 | get_a_my_trait2(...) | | main.rs:2318:43:2318:57 | impl ... | +| main.rs:2346:17:2346:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2346:17:2346:35 | get_a_my_trait3(...) | T | main.rs:2322:50:2322:64 | impl ... | +| main.rs:2347:17:2347:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2347:17:2347:35 | get_a_my_trait4(...) | T0 | main.rs:2326:44:2326:58 | impl ... | +| main.rs:2347:17:2347:35 | get_a_my_trait4(...) | T1 | main.rs:2326:61:2326:75 | impl ... | +| main.rs:2358:16:2358:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2358:16:2358:20 | SelfParam | TRef | main.rs:2354:5:2355:13 | S | +| main.rs:2358:31:2360:9 | { ... } | | main.rs:2354:5:2355:13 | S | +| main.rs:2369:26:2371:9 | { ... } | | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2369:26:2371:9 | { ... } | T | main.rs:2368:10:2368:10 | T | +| main.rs:2370:13:2370:38 | MyVec {...} | | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2370:27:2370:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2370:27:2370:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2373:17:2373:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2373:17:2373:25 | SelfParam | TRef | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2373:17:2373:25 | SelfParam | TRef.T | main.rs:2368:10:2368:10 | T | +| main.rs:2373:28:2373:32 | value | | main.rs:2368:10:2368:10 | T | +| main.rs:2373:38:2375:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2374:13:2374:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2374:13:2374:16 | self | TRef | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2374:13:2374:16 | self | TRef.T | main.rs:2368:10:2368:10 | T | +| main.rs:2374:28:2374:32 | value | | main.rs:2368:10:2368:10 | T | +| main.rs:2382:18:2382:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2382:18:2382:22 | SelfParam | TRef | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2382:18:2382:22 | SelfParam | TRef.T | main.rs:2378:10:2378:10 | T | +| main.rs:2382:25:2382:29 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2382:56:2384:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2382:56:2384:9 | { ... } | TRef | main.rs:2378:10:2378:10 | T | +| main.rs:2383:13:2383:29 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2383:14:2383:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2383:14:2383:17 | self | TRef | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2383:14:2383:17 | self | TRef.T | main.rs:2378:10:2378:10 | T | +| main.rs:2383:24:2383:28 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2387:22:2387:26 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2387:22:2387:26 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2387:22:2387:26 | slice | TRef.TSlice | main.rs:2354:5:2355:13 | S | +| main.rs:2387:35:2389:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2388:17:2388:21 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2388:17:2388:21 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2388:17:2388:21 | slice | TRef.TSlice | main.rs:2354:5:2355:13 | S | +| main.rs:2391:37:2391:37 | a | | main.rs:2391:20:2391:34 | T | +| main.rs:2391:43:2391:43 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2395:9:2395:9 | a | | main.rs:2391:20:2391:34 | T | +| main.rs:2395:11:2395:11 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2398:16:2409:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2399:17:2399:19 | vec | | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2399:23:2399:34 | ...::new(...) | | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2400:9:2400:11 | vec | | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2401:9:2401:11 | vec | | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2403:13:2403:14 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2403:13:2403:14 | xs | TArray | main.rs:2354:5:2355:13 | S | +| main.rs:2403:26:2403:28 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2404:17:2404:18 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2404:17:2404:18 | xs | TArray | main.rs:2354:5:2355:13 | S | +| main.rs:2406:29:2406:31 | vec | | main.rs:2363:5:2366:5 | MyVec | +| main.rs:2408:9:2408:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2408:23:2408:25 | &xs | | {EXTERNAL LOCATION} | & | +| main.rs:2408:24:2408:25 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2408:24:2408:25 | xs | TArray | main.rs:2354:5:2355:13 | S | +| main.rs:2413:16:2415:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2414:25:2414:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:25:2414:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2414:25:2414:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2414:38:2414:45 | "World!" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:38:2414:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2423:19:2423:22 | SelfParam | | main.rs:2419:5:2424:5 | Self [trait MyAdd] | +| main.rs:2423:25:2423:27 | rhs | | main.rs:2419:17:2419:26 | Rhs | +| main.rs:2430:19:2430:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2430:25:2430:29 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2430:45:2432:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2431:13:2431:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2439:19:2439:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2439:25:2439:29 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2439:25:2439:29 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2439:46:2441:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2440:14:2440:18 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2440:14:2440:18 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2448:19:2448:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2448:25:2448:29 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2448:46:2454:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:16:2449:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2463:19:2463:22 | SelfParam | | main.rs:2457:5:2457:19 | S | +| main.rs:2463:19:2463:22 | SelfParam | T | main.rs:2459:10:2459:17 | T | +| main.rs:2463:25:2463:29 | other | | main.rs:2457:5:2457:19 | S | +| main.rs:2463:25:2463:29 | other | T | main.rs:2459:10:2459:17 | T | +| main.rs:2463:54:2465:9 | { ... } | | main.rs:2457:5:2457:19 | S | +| main.rs:2464:16:2464:19 | self | | main.rs:2457:5:2457:19 | S | +| main.rs:2464:16:2464:19 | self | T | main.rs:2459:10:2459:17 | T | +| main.rs:2464:31:2464:35 | other | | main.rs:2457:5:2457:19 | S | +| main.rs:2464:31:2464:35 | other | T | main.rs:2459:10:2459:17 | T | +| main.rs:2472:19:2472:22 | SelfParam | | main.rs:2457:5:2457:19 | S | +| main.rs:2472:19:2472:22 | SelfParam | T | main.rs:2468:10:2468:17 | T | +| main.rs:2472:25:2472:29 | other | | main.rs:2468:10:2468:17 | T | +| main.rs:2472:51:2474:9 | { ... } | | main.rs:2457:5:2457:19 | S | +| main.rs:2473:16:2473:19 | self | | main.rs:2457:5:2457:19 | S | +| main.rs:2473:16:2473:19 | self | T | main.rs:2468:10:2468:17 | T | +| main.rs:2473:31:2473:35 | other | | main.rs:2468:10:2468:17 | T | +| main.rs:2484:19:2484:22 | SelfParam | | main.rs:2457:5:2457:19 | S | +| main.rs:2484:19:2484:22 | SelfParam | T | main.rs:2477:14:2477:14 | T | +| main.rs:2484:25:2484:29 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2484:25:2484:29 | other | TRef | main.rs:2477:14:2477:14 | T | +| main.rs:2484:55:2486:9 | { ... } | | main.rs:2457:5:2457:19 | S | +| main.rs:2485:16:2485:19 | self | | main.rs:2457:5:2457:19 | S | +| main.rs:2485:16:2485:19 | self | T | main.rs:2477:14:2477:14 | T | +| main.rs:2485:31:2485:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2485:31:2485:35 | other | TRef | main.rs:2477:14:2477:14 | T | +| main.rs:2491:20:2491:24 | value | | main.rs:2489:18:2489:18 | T | +| main.rs:2496:20:2496:24 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2496:40:2498:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2497:13:2497:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2503:20:2503:24 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2503:41:2509:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2504:16:2504:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2514:21:2514:25 | value | | main.rs:2512:19:2512:19 | T | +| main.rs:2514:31:2514:31 | x | | main.rs:2512:5:2515:5 | Self [trait MyFrom2] | +| main.rs:2519:21:2519:25 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2519:33:2519:33 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2519:48:2521:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2520:13:2520:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2526:21:2526:25 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2526:34:2526:34 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2526:49:2532:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2527:16:2527:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2537:15:2537:15 | x | | main.rs:2535:5:2541:5 | Self [trait MySelfTrait] | +| main.rs:2540:15:2540:15 | x | | main.rs:2535:5:2541:5 | Self [trait MySelfTrait] | +| main.rs:2545:15:2545:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2545:31:2547:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2546:13:2546:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2550:15:2550:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2550:32:2552:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2551:13:2551:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2557:15:2557:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2557:31:2559:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2562:15:2562:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2562:32:2564:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2563:13:2563:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2567:16:2592:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2568:13:2568:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2569:9:2569:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2569:18:2569:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2570:9:2570:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2570:18:2570:22 | &5i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2570:19:2570:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2571:9:2571:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2571:18:2571:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2573:11:2573:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2573:26:2573:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2574:11:2574:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2574:24:2574:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2575:11:2575:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2575:24:2575:28 | &3i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2575:25:2575:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2577:13:2577:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2577:17:2577:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2577:30:2577:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2578:13:2578:13 | y | | {EXTERNAL LOCATION} | i64 | +| main.rs:2578:17:2578:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2578:30:2578:33 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2579:13:2579:13 | z | | {EXTERNAL LOCATION} | i64 | +| main.rs:2579:38:2579:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2580:9:2580:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2580:23:2580:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2580:30:2580:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2581:9:2581:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2581:23:2581:26 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2581:29:2581:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2582:9:2582:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2582:27:2582:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2582:34:2582:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2584:9:2584:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2584:17:2584:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2585:9:2585:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2585:17:2585:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2586:9:2586:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2586:18:2586:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2587:9:2587:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2587:18:2587:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2588:9:2588:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2588:25:2588:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2589:25:2589:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2590:9:2590:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2590:25:2590:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2591:25:2591:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2599:26:2601:9 | { ... } | | main.rs:2596:5:2596:24 | MyCallable | +| main.rs:2600:13:2600:25 | MyCallable {...} | | main.rs:2596:5:2596:24 | MyCallable | +| main.rs:2603:17:2603:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2603:17:2603:21 | SelfParam | TRef | main.rs:2596:5:2596:24 | MyCallable | +| main.rs:2603:31:2605:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2608:16:2715:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2611:9:2611:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2611:18:2611:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2611:28:2611:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2612:9:2612:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2612:18:2612:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2612:43:2612:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2613:9:2613:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2613:18:2613:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2613:40:2613:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2615:13:2615:17 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2615:21:2615:31 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2615:22:2615:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2616:9:2616:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2616:18:2616:22 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2616:24:2616:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2618:13:2618:17 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2618:21:2618:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2618:22:2618:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2619:9:2619:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2619:18:2619:22 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2619:24:2619:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2621:13:2621:17 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2621:13:2621:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2621:31:2621:39 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2622:9:2622:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2622:18:2622:22 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2622:18:2622:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2622:24:2622:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2624:13:2624:17 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2624:13:2624:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2624:31:2624:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2625:9:2625:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2625:18:2625:22 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2625:18:2625:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2625:24:2625:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2627:17:2627:24 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2627:28:2627:48 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2627:29:2627:33 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2627:29:2627:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2627:36:2627:40 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2627:36:2627:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2627:43:2627:47 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2627:43:2627:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2628:9:2628:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2628:18:2628:26 | &strings1 | | {EXTERNAL LOCATION} | & | +| main.rs:2628:19:2628:26 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2628:28:2628:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2629:9:2629:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2629:18:2629:30 | &mut strings1 | | {EXTERNAL LOCATION} | & | +| main.rs:2629:23:2629:30 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2629:32:2629:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2630:9:2630:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2630:18:2630:25 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2630:27:2630:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2632:13:2632:20 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2633:9:2637:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2634:13:2634:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2634:26:2634:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2634:26:2634:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2635:13:2635:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2635:26:2635:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2635:26:2635:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2636:13:2636:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2636:26:2636:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2636:26:2636:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2638:9:2638:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2638:18:2638:25 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2638:27:2638:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2640:13:2640:20 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2641:9:2645:9 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2641:10:2645:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2642:13:2642:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2642:26:2642:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2642:26:2642:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2643:13:2643:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2643:26:2643:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2643:26:2643:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2644:13:2644:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2644:26:2644:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2644:26:2644:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2646:9:2646:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2646:18:2646:25 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2646:27:2646:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2648:13:2648:21 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2648:25:2648:81 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2648:26:2648:42 | ...::new(...) | | main.rs:2596:5:2596:24 | MyCallable | +| main.rs:2648:45:2648:61 | ...::new(...) | | main.rs:2596:5:2596:24 | MyCallable | +| main.rs:2648:64:2648:80 | ...::new(...) | | main.rs:2596:5:2596:24 | MyCallable | +| main.rs:2649:9:2653:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2650:12:2650:20 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2651:9:2653:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2657:9:2657:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2657:18:2657:22 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2657:24:2657:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2658:9:2658:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2658:18:2658:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2658:19:2658:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2658:19:2658:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2658:28:2658:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2659:13:2659:17 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2659:21:2659:25 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2660:9:2660:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2660:18:2660:22 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2660:24:2660:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2661:13:2661:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2661:26:2661:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2662:9:2662:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2662:18:2662:48 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2662:19:2662:36 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2662:20:2662:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2662:26:2662:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2662:32:2662:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2662:38:2662:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2662:50:2662:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2664:13:2664:18 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2665:9:2668:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | +| main.rs:2666:20:2666:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2667:18:2667:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2669:9:2669:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2669:18:2669:23 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2669:25:2669:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2674:9:2674:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2674:24:2674:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2676:13:2676:18 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2676:13:2676:18 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2676:13:2676:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2676:32:2676:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2676:33:2676:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2677:9:2677:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2677:18:2677:23 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2677:18:2677:23 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2677:18:2677:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2677:25:2677:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2679:22:2679:33 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2679:23:2679:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2680:9:2680:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2680:25:2680:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2682:13:2682:17 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2682:21:2682:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2682:31:2682:42 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2682:32:2682:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2683:9:2683:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2683:18:2683:22 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2683:24:2683:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2685:13:2685:17 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2685:13:2685:17 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2685:13:2685:17 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2685:13:2685:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2685:32:2685:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2685:33:2685:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2686:9:2686:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2686:18:2686:22 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2686:18:2686:22 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2686:18:2686:22 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2686:18:2686:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2686:24:2686:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2688:17:2688:21 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2688:17:2688:21 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2688:25:2688:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2688:25:2688:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2689:9:2689:13 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2689:9:2689:13 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2689:20:2689:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2690:9:2690:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2690:18:2690:22 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2690:18:2690:22 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2690:24:2690:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2694:17:2697:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2695:13:2696:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2695:29:2696:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2699:17:2699:20 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2699:17:2699:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2699:24:2699:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2699:24:2699:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2700:9:2700:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2700:9:2700:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2700:24:2700:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2700:24:2700:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2700:33:2700:37 | "one" | | {EXTERNAL LOCATION} | & | +| main.rs:2700:33:2700:37 | "one" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2701:9:2701:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2701:9:2701:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2701:24:2701:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2701:24:2701:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2701:33:2701:37 | "two" | | {EXTERNAL LOCATION} | & | +| main.rs:2701:33:2701:37 | "two" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2702:9:2702:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2702:20:2702:23 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2702:20:2702:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2702:32:2702:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2703:9:2703:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2703:22:2703:25 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2703:22:2703:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2703:36:2703:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2704:9:2704:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2704:13:2704:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2704:29:2704:32 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2704:29:2704:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2704:41:2704:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2705:9:2705:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2705:13:2705:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2705:29:2705:33 | &map1 | | {EXTERNAL LOCATION} | & | +| main.rs:2705:30:2705:33 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2705:30:2705:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2705:35:2705:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2709:17:2709:17 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2711:17:2714:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2711:23:2711:23 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2712:9:2714:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2713:13:2713:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2725:40:2727:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2725:40:2727:9 | { ... } | T | main.rs:2719:5:2719:20 | S1 | +| main.rs:2725:40:2727:9 | { ... } | T.T | main.rs:2724:10:2724:19 | T | +| main.rs:2729:30:2731:9 | { ... } | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2729:30:2731:9 | { ... } | T | main.rs:2724:10:2724:19 | T | +| main.rs:2733:19:2733:22 | SelfParam | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2733:19:2733:22 | SelfParam | T | main.rs:2724:10:2724:19 | T | +| main.rs:2733:33:2735:9 | { ... } | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2733:33:2735:9 | { ... } | T | main.rs:2724:10:2724:19 | T | +| main.rs:2734:13:2734:16 | self | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2734:13:2734:16 | self | T | main.rs:2724:10:2724:19 | T | +| main.rs:2746:15:2746:15 | x | | main.rs:2746:12:2746:12 | T | +| main.rs:2746:26:2748:5 | { ... } | | main.rs:2746:12:2746:12 | T | +| main.rs:2747:9:2747:9 | x | | main.rs:2746:12:2746:12 | T | +| main.rs:2750:16:2772:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2751:13:2751:14 | x1 | | {EXTERNAL LOCATION} | Option | +| main.rs:2751:13:2751:14 | x1 | T | main.rs:2719:5:2719:20 | S1 | +| main.rs:2751:13:2751:14 | x1 | T.T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2751:34:2751:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2751:34:2751:48 | ...::assoc_fun(...) | T | main.rs:2719:5:2719:20 | S1 | +| main.rs:2752:13:2752:14 | x2 | | {EXTERNAL LOCATION} | Option | +| main.rs:2752:13:2752:14 | x2 | T | main.rs:2719:5:2719:20 | S1 | +| main.rs:2752:13:2752:14 | x2 | T.T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2752:18:2752:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2752:18:2752:38 | ...::assoc_fun(...) | T | main.rs:2719:5:2719:20 | S1 | +| main.rs:2752:18:2752:38 | ...::assoc_fun(...) | T.T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2753:13:2753:14 | x3 | | {EXTERNAL LOCATION} | Option | +| main.rs:2753:13:2753:14 | x3 | T | main.rs:2719:5:2719:20 | S1 | +| main.rs:2753:13:2753:14 | x3 | T.T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2753:18:2753:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2753:18:2753:32 | ...::assoc_fun(...) | T | main.rs:2719:5:2719:20 | S1 | +| main.rs:2753:18:2753:32 | ...::assoc_fun(...) | T.T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2754:13:2754:14 | x4 | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2754:13:2754:14 | x4 | T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2754:18:2754:48 | ...::method(...) | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2754:18:2754:48 | ...::method(...) | T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2754:35:2754:47 | ...::default(...) | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2755:13:2755:14 | x5 | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2755:13:2755:14 | x5 | T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2755:18:2755:42 | ...::method(...) | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2755:18:2755:42 | ...::method(...) | T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2755:29:2755:41 | ...::default(...) | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2759:21:2759:33 | ...::default(...) | | main.rs:2721:5:2722:14 | S2 | +| main.rs:2760:13:2760:15 | x10 | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2760:13:2760:15 | x10 | T5 | main.rs:2721:5:2722:14 | S2 | +| main.rs:2760:19:2763:9 | S5::<...> {...} | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2760:19:2763:9 | S5::<...> {...} | T5 | main.rs:2721:5:2722:14 | S2 | +| main.rs:2764:13:2764:15 | x11 | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2764:19:2764:34 | S5 {...} | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2765:13:2765:15 | x12 | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2765:19:2765:33 | S5 {...} | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2766:13:2766:15 | x13 | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2766:19:2769:9 | S5 {...} | | main.rs:2742:5:2744:5 | S5 | +| main.rs:2768:20:2768:32 | ...::default(...) | | main.rs:2721:5:2722:14 | S2 | +| main.rs:2770:13:2770:15 | x14 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2770:19:2770:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2771:13:2771:15 | x15 | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2771:13:2771:15 | x15 | T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2771:19:2771:37 | ...::default(...) | | main.rs:2719:5:2719:20 | S1 | +| main.rs:2771:19:2771:37 | ...::default(...) | T | main.rs:2721:5:2722:14 | S2 | +| main.rs:2780:35:2782:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2780:35:2782:9 | { ... } | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2780:35:2782:9 | { ... } | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2781:13:2781:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2781:14:2781:18 | S1 {...} | | main.rs:2776:5:2777:16 | S1 | +| main.rs:2781:21:2781:25 | S1 {...} | | main.rs:2776:5:2777:16 | S1 | +| main.rs:2783:16:2783:19 | SelfParam | | main.rs:2776:5:2777:16 | S1 | +| main.rs:2783:22:2783:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2786:16:2820:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2787:13:2787:13 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2787:13:2787:13 | a | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2787:13:2787:13 | a | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2787:17:2787:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2787:17:2787:30 | ...::get_pair(...) | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2787:17:2787:30 | ...::get_pair(...) | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2788:17:2788:17 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2788:17:2788:17 | b | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2788:17:2788:17 | b | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2788:21:2788:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2788:21:2788:34 | ...::get_pair(...) | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2788:21:2788:34 | ...::get_pair(...) | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2789:13:2789:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2789:22:2789:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2789:22:2789:35 | ...::get_pair(...) | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2789:22:2789:35 | ...::get_pair(...) | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2790:13:2790:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2790:26:2790:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2790:26:2790:39 | ...::get_pair(...) | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2790:26:2790:39 | ...::get_pair(...) | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2791:13:2791:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2791:30:2791:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2791:30:2791:43 | ...::get_pair(...) | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2791:30:2791:43 | ...::get_pair(...) | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2793:9:2793:9 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2793:9:2793:9 | a | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2793:9:2793:9 | a | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2794:9:2794:9 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2794:9:2794:9 | b | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2794:9:2794:9 | b | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2807:13:2807:16 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2807:20:2807:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2808:13:2808:13 | i | | {EXTERNAL LOCATION} | i64 | +| main.rs:2808:22:2808:25 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2809:13:2809:13 | j | | {EXTERNAL LOCATION} | bool | +| main.rs:2809:23:2809:26 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2811:20:2811:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2813:13:2813:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2813:30:2813:41 | "unexpected" | | {EXTERNAL LOCATION} | & | +| main.rs:2813:30:2813:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2813:30:2813:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2813:30:2813:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2814:25:2814:34 | "expected" | | {EXTERNAL LOCATION} | & | +| main.rs:2814:25:2814:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2814:25:2814:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2814:25:2814:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2818:13:2818:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2818:17:2818:31 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2818:18:2818:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2818:18:2818:31 | ...::get_pair(...) | T0 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2818:18:2818:31 | ...::get_pair(...) | T1 | main.rs:2776:5:2777:16 | S1 | +| main.rs:2819:9:2819:9 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2825:27:2847:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2826:13:2826:23 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2826:13:2826:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2826:27:2826:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2826:27:2826:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2826:36:2826:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2829:15:2829:25 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2829:15:2829:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2830:24:2832:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2831:26:2831:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2831:26:2831:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2831:26:2831:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2831:26:2831:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2833:22:2836:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2835:26:2835:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2835:26:2835:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2835:26:2835:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2835:26:2835:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2840:13:2840:22 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2840:13:2840:22 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2840:26:2840:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2840:26:2840:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2840:35:2840:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2840:35:2840:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2840:44:2840:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2841:15:2841:24 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2841:15:2841:24 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2842:26:2845:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2844:26:2844:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2844:26:2844:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2844:26:2844:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2844:26:2844:59 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2856:36:2858:9 | { ... } | | main.rs:2853:5:2853:22 | Path | +| main.rs:2857:13:2857:19 | Path {...} | | main.rs:2853:5:2853:22 | Path | +| main.rs:2860:29:2860:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2860:29:2860:33 | SelfParam | TRef | main.rs:2853:5:2853:22 | Path | +| main.rs:2860:59:2862:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:2860:59:2862:9 | { ... } | E | {EXTERNAL LOCATION} | () | +| main.rs:2860:59:2862:9 | { ... } | T | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2861:16:2861:29 | ...::new(...) | | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2868:39:2870:9 | { ... } | | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2869:13:2869:22 | PathBuf {...} | | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2878:18:2878:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2878:18:2878:22 | SelfParam | TRef | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2878:34:2882:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2878:34:2882:9 | { ... } | TRef | main.rs:2853:5:2853:22 | Path | +| main.rs:2880:33:2880:43 | ...::new(...) | | main.rs:2853:5:2853:22 | Path | +| main.rs:2881:13:2881:17 | &path | | {EXTERNAL LOCATION} | & | +| main.rs:2885:16:2893:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2886:13:2886:17 | path1 | | main.rs:2853:5:2853:22 | Path | +| main.rs:2886:21:2886:31 | ...::new(...) | | main.rs:2853:5:2853:22 | Path | +| main.rs:2887:21:2887:25 | path1 | | main.rs:2853:5:2853:22 | Path | +| main.rs:2890:13:2890:20 | pathbuf1 | | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2890:24:2890:37 | ...::new(...) | | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2891:24:2891:31 | pathbuf1 | | main.rs:2865:5:2865:25 | PathBuf | +| main.rs:2898:14:2898:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2898:14:2898:18 | SelfParam | TRef | main.rs:2897:5:2899:5 | Self [trait MyTrait] | +| main.rs:2905:14:2905:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2905:14:2905:18 | SelfParam | TRef | main.rs:2901:5:2902:19 | S | +| main.rs:2905:14:2905:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2905:28:2907:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2906:13:2906:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2906:13:2906:16 | self | TRef | main.rs:2901:5:2902:19 | S | +| main.rs:2906:13:2906:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2911:14:2911:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2911:14:2911:18 | SelfParam | TRef | main.rs:2901:5:2902:19 | S | +| main.rs:2911:14:2911:18 | SelfParam | TRef.T | main.rs:2901:5:2902:19 | S | +| main.rs:2911:14:2911:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2911:28:2913:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2912:13:2912:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2912:13:2912:16 | self | TRef | main.rs:2901:5:2902:19 | S | +| main.rs:2912:13:2912:16 | self | TRef.T | main.rs:2901:5:2902:19 | S | +| main.rs:2912:13:2912:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2917:15:2917:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2917:15:2917:19 | SelfParam | TRef | main.rs:2901:5:2902:19 | S | +| main.rs:2917:15:2917:19 | SelfParam | TRef.T | main.rs:2916:10:2916:16 | T | +| main.rs:2917:33:2919:9 | { ... } | | main.rs:2901:5:2902:19 | S | +| main.rs:2917:33:2919:9 | { ... } | T | main.rs:2901:5:2902:19 | S | +| main.rs:2917:33:2919:9 | { ... } | T.T | main.rs:2916:10:2916:16 | T | +| main.rs:2918:17:2918:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2918:17:2918:20 | self | TRef | main.rs:2901:5:2902:19 | S | +| main.rs:2918:17:2918:20 | self | TRef.T | main.rs:2916:10:2916:16 | T | +| main.rs:2922:14:2922:14 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2922:48:2939:5 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2922:48:2939:5 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2922:48:2939:5 | { ... } | T | main.rs:2897:5:2899:5 | dyn MyTrait | +| main.rs:2922:48:2939:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2923:20:2923:20 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2933:12:2933:12 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2935:13:2935:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2935:13:2935:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2937:13:2937:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2937:13:2937:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2943:22:2947:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2944:18:2944:18 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2944:33:2946:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2945:13:2945:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2952:11:2952:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2952:30:2960:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2955:13:2957:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2955:16:2955:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2955:21:2957:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2963:20:2970:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2968:18:2968:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2968:18:2968:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2968:18:2968:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2968:18:2968:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2972:20:2974:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2977:11:2977:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2977:30:2985:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2978:13:2978:13 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2978:17:2982:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2979:13:2981:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2979:16:2979:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2979:21:2981:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2983:18:2983:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2983:18:2983:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2983:18:2983:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2983:18:2983:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2983:29:2983:29 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2989:16:3036:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2991:13:2991:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2991:13:2991:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2995:26:2995:28 | opt | | {EXTERNAL LOCATION} | Option | +| main.rs:2995:26:2995:28 | opt | T | main.rs:2995:23:2995:23 | T | +| main.rs:2995:42:2995:42 | x | | main.rs:2995:23:2995:23 | T | +| main.rs:2995:48:2995:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2998:9:2998:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3005:13:3005:13 | x | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3005:17:3005:39 | ...::A {...} | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3006:13:3006:13 | x | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3006:13:3006:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:3006:13:3006:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:3006:40:3006:40 | x | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3007:13:3007:13 | x | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3007:13:3007:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:3007:17:3007:52 | ...::A {...} | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3007:17:3007:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:3009:13:3009:13 | x | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3009:13:3009:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:3009:17:3011:9 | ...::B::<...> {...} | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3009:17:3011:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:3010:20:3010:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:3013:29:3013:29 | e | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3013:29:3013:29 | e | T1 | main.rs:3013:26:3013:26 | T | +| main.rs:3013:29:3013:29 | e | T2 | {EXTERNAL LOCATION} | String | +| main.rs:3013:53:3013:53 | x | | main.rs:3013:26:3013:26 | T | +| main.rs:3013:59:3013:60 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:3016:13:3016:13 | x | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3016:17:3018:9 | ...::B {...} | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3017:20:3017:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:3019:9:3019:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3019:23:3019:23 | x | | main.rs:3000:9:3003:9 | MyEither | +| main.rs:3022:13:3022:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:3022:13:3022:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:3022:13:3022:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:3026:29:3026:31 | res | | {EXTERNAL LOCATION} | Result | +| main.rs:3026:29:3026:31 | res | E | main.rs:3026:26:3026:26 | E | +| main.rs:3026:29:3026:31 | res | T | main.rs:3026:23:3026:23 | T | +| main.rs:3026:48:3026:48 | x | | main.rs:3026:26:3026:26 | E | +| main.rs:3026:54:3026:55 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:3029:9:3029:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3029:23:3029:27 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:3031:17:3031:17 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:3031:17:3031:17 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:3031:21:3031:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:3031:21:3031:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:3032:9:3032:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:3032:9:3032:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:3035:9:3035:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:3035:9:3035:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:3044:11:3079:1 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:3045:5:3045:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3046:5:3046:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:3047:5:3047:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:3047:20:3047:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:3047:41:3047:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:3048:5:3048:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3049:5:3049:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3050:5:3050:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3051:5:3051:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3052:5:3052:33 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3053:5:3053:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3054:5:3054:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3055:5:3055:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3056:5:3056:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3057:5:3057:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3058:5:3058:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3059:5:3059:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3060:5:3060:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3061:5:3061:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3062:5:3062:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3063:5:3063:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3064:5:3064:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:3064:5:3064:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:3065:5:3065:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3066:5:3066:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3067:5:3067:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3068:5:3068:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3069:5:3069:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3070:5:3070:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3071:5:3071:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3072:5:3072:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3073:5:3073:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3074:5:3074:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3075:5:3075:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3076:5:3076:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:3077:5:3077:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:3077:5:3077:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:3077:5:3077:20 | ...::f(...) | T | main.rs:2897:5:2899:5 | dyn MyTrait | +| main.rs:3077:5:3077:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:3077:16:3077:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:3078:5:3078:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | +| pattern_matching.rs:13:26:133:1 | { ... } | T | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:15:5:18:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:15:31:18:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:17:18:17:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:17:18:17:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:20:23:23:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:22:22:22:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:22:22:22:29 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:24:17:24:18 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:28:14:28:21 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:28:14:28:21 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:30:14:30:21 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:30:14:30:21 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:32:9:32:14 | value2 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:32:18:32:26 | &... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:33:5:36:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:33:12:33:22 | &... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:33:26:33:31 | value2 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:33:33:36:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:35:18:35:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:35:18:35:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:39:5:42:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:39:16:39:19 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:39:30:42:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:40:13:40:16 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:40:20:40:23 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:41:18:41:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:41:18:41:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:41:20:41:23 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:45:5:48:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:45:21:45:24 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:45:36:48:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:46:13:46:16 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:46:20:46:23 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:47:18:47:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:47:20:47:23 | mesg | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:50:13:50:18 | value5 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:51:9:51:9 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:51:13:51:18 | value5 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:53:9:53:24 | my_record_struct | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | +| pattern_matching.rs:53:28:56:5 | MyRecordStruct {...} | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | +| pattern_matching.rs:55:17:55:21 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:57:5:61:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:57:12:57:44 | MyRecordStruct {...} | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | +| pattern_matching.rs:57:48:57:63 | my_record_struct | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | +| pattern_matching.rs:57:65:61:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:60:9:60:10 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:63:45:63:49 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:64:5:68:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:64:60:68:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:67:9:67:10 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:70:9:70:16 | my_enum1 | | pattern_matching.rs:8:1:11:1 | MyEnum | +| pattern_matching.rs:70:20:73:5 | ...::Variant1 {...} | | pattern_matching.rs:8:1:11:1 | MyEnum | +| pattern_matching.rs:72:17:72:21 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:74:11:74:18 | my_enum1 | | pattern_matching.rs:8:1:11:1 | MyEnum | +| pattern_matching.rs:75:9:75:43 | ...::Variant1 {...} | | pattern_matching.rs:8:1:11:1 | MyEnum | +| pattern_matching.rs:75:48:79:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:78:13:78:14 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:80:45:84:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:83:13:83:14 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:88:9:88:13 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:89:9:92:9 | MyRecordStruct {...} | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | +| pattern_matching.rs:91:21:91:28 | "string" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:91:21:91:28 | "string" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:98:13:101:13 | MyRecordStruct {...} | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | +| pattern_matching.rs:102:14:107:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:106:13:106:14 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:108:14:108:15 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:113:13:116:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:114:5:116:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:120:13:123:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:121:5:123:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:127:13:130:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:128:5:130:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:168:27:217:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:169:9:169:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:169:17:169:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:171:11:171:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:173:15:176:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:174:17:174:29 | literal_match | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:174:33:174:37 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:175:22:175:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:175:22:175:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:175:45:175:57 | literal_match | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:177:15:180:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:178:17:178:32 | negative_literal | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:178:36:178:40 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:179:22:179:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:179:22:179:61 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:179:46:179:61 | negative_literal | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:181:14:184:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:182:17:182:28 | zero_literal | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:182:32:182:36 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:183:22:183:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:183:22:183:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:183:42:183:53 | zero_literal | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:185:14:185:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:188:9:188:17 | float_val | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:188:21:188:27 | 3.14f64 | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:189:11:189:19 | float_val | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:190:17:193:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:191:17:191:24 | pi_match | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:191:28:191:36 | float_val | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:192:22:192:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:192:22:192:47 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:192:40:192:47 | pi_match | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:194:14:194:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:197:9:197:18 | string_val | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:197:9:197:18 | string_val | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:197:22:197:28 | "hello" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:197:22:197:28 | "hello" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:198:11:198:20 | string_val | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:198:11:198:20 | string_val | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:199:9:199:15 | "hello" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:199:9:199:15 | "hello" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:199:20:202:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:200:17:200:27 | hello_match | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:200:17:200:27 | hello_match | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:200:31:200:40 | string_val | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:200:31:200:40 | string_val | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:201:22:201:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:201:22:201:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:201:44:201:54 | hello_match | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:201:44:201:54 | hello_match | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:203:14:203:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:206:9:206:16 | bool_val | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:206:20:206:23 | true | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:207:11:207:18 | bool_val | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:208:9:208:12 | true | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:208:17:211:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:209:17:209:26 | true_match | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:209:30:209:37 | bool_val | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:210:22:210:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:210:22:210:51 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:210:42:210:51 | true_match | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:212:9:212:13 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:212:18:215:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:213:17:213:27 | false_match | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:213:31:213:38 | bool_val | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:214:22:214:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:214:22:214:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:214:43:214:53 | false_match | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:219:30:277:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:220:9:220:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:220:17:220:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:223:11:223:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:224:14:227:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:226:22:226:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:226:22:226:58 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:231:11:231:16 | &value | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:231:12:231:16 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:232:13:232:13 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:232:18:235:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:233:17:233:25 | ref_bound | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:233:29:233:29 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:234:22:234:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:234:22:234:60 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:234:52:234:60 | ref_bound | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:239:13:239:25 | mutable_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:239:29:239:33 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:240:11:240:23 | mutable_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:241:18:245:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:244:22:244:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:244:22:244:56 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:249:39:249:43 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:251:35:254:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:253:22:253:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:253:22:253:59 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:255:40:258:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:257:22:257:63 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:257:22:257:63 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:259:30:262:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:261:22:261:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:261:22:261:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:263:27:265:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:264:22:264:33 | "None value\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:264:22:264:33 | "None value\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:264:22:264:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:264:22:264:33 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:269:13:269:23 | ref_mut_val | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:269:27:269:30 | 5i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:270:11:270:26 | &mut ref_mut_val | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:270:16:270:26 | ref_mut_val | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:271:17:271:17 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:271:22:275:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:272:17:272:29 | ref_mut_bound | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:272:33:272:33 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:273:15:273:27 | ref_mut_bound | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:274:22:274:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:274:22:274:38 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:279:28:290:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:280:9:280:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:280:17:280:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:282:11:282:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:283:24:283:39 | "Specific match\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:283:24:283:39 | "Specific match\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:283:24:283:39 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:283:24:283:39 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:285:14:288:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:286:17:286:32 | wildcard_context | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:286:36:286:40 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:287:22:287:65 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:287:22:287:65 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:287:50:287:65 | wildcard_context | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:292:25:324:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:293:9:293:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:293:17:293:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:295:11:295:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:297:19:300:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:298:17:298:31 | range_inclusive | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:298:35:298:39 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:299:22:299:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:299:22:299:59 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:299:45:299:59 | range_inclusive | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:301:17:304:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:302:17:302:26 | range_from | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:302:30:302:34 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:303:22:303:52 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:303:22:303:52 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:303:43:303:52 | range_from | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:305:17:308:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:306:17:306:34 | range_to_inclusive | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:306:38:306:42 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:307:22:307:67 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:307:22:307:67 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:307:50:307:67 | range_to_inclusive | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:309:14:309:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:312:9:312:16 | char_val | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:312:20:312:22 | 'c' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:313:11:313:18 | char_val | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:314:9:314:11 | 'a' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:314:15:314:17 | 'z' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:314:22:317:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:315:17:315:30 | lowercase_char | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:315:34:315:41 | char_val | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:316:22:316:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:316:22:316:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:316:44:316:57 | lowercase_char | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:318:9:318:11 | 'A' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:318:15:318:17 | 'Z' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:318:22:321:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:319:17:319:30 | uppercase_char | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:319:34:319:41 | char_val | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:320:22:320:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:320:22:320:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:320:44:320:57 | uppercase_char | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:322:14:322:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:326:29:355:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:327:9:327:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:327:17:327:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:328:13:328:25 | mutable_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:328:29:328:33 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:331:11:331:16 | &value | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:331:12:331:16 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:332:9:332:11 | &42 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:332:16:335:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:333:17:333:27 | deref_match | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:333:31:333:35 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:334:22:334:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:334:22:334:58 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:334:48:334:58 | deref_match | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:336:9:336:10 | &... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:336:15:339:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:338:22:338:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:338:22:338:60 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:342:11:342:28 | &mut mutable_value | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:342:16:342:28 | mutable_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:343:9:343:18 | &mut ... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:343:18:343:18 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:343:23:346:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:344:17:344:29 | mut_ref_bound | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:344:33:344:33 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:345:22:345:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:345:22:345:61 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:345:49:345:61 | mut_ref_bound | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:349:11:349:16 | &value | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:349:12:349:16 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:350:13:350:13 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:350:18:353:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:351:17:351:27 | ref_pattern | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:351:31:351:31 | x | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:352:22:352:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:352:22:352:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:352:47:352:57 | ref_pattern | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:357:26:398:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:358:9:358:13 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:358:17:358:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:361:11:361:15 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:362:9:362:28 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:362:33:365:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:363:17:363:22 | origin | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:363:26:363:30 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:364:22:364:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:364:22:364:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:364:44:364:49 | origin | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:366:9:366:25 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:366:30:370:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:368:17:368:28 | x_axis_point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:368:32:368:36 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:369:22:369:80 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:369:22:369:80 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:369:69:369:80 | x_axis_point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:371:9:371:27 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:371:32:374:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:372:17:372:27 | ten_x_point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:372:31:372:35 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:373:22:373:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:373:22:373:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:373:47:373:57 | ten_x_point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:375:9:375:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:375:27:379:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:378:22:378:68 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:378:22:378:68 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:383:9:383:13 | shape | | pattern_matching.rs:145:1:150:1 | Shape | +| pattern_matching.rs:383:17:386:5 | ...::Rectangle {...} | | pattern_matching.rs:145:1:150:1 | Shape | +| pattern_matching.rs:387:11:387:15 | shape | | pattern_matching.rs:145:1:150:1 | Shape | +| pattern_matching.rs:388:9:391:9 | ...::Rectangle {...} | | pattern_matching.rs:145:1:150:1 | Shape | +| pattern_matching.rs:391:14:395:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:394:22:394:64 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:394:22:394:64 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:396:14:396:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:400:32:441:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:405:29:408:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:407:22:407:48 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:407:22:407:48 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:409:27:417:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:414:17:415:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:414:17:415:62 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:422:27:425:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:424:22:424:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:424:22:424:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:426:25:429:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:428:22:428:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:428:22:428:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:436:23:439:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:438:22:438:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:438:22:438:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:443:25:498:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:444:9:444:13 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:444:17:444:36 | TupleExpr | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:444:18:444:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:444:24:444:27 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| pattern_matching.rs:444:30:444:35 | 3.0f32 | | {EXTERNAL LOCATION} | f32 | +| pattern_matching.rs:447:11:447:15 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:448:9:448:19 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:448:24:451:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:449:17:449:27 | exact_tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:449:31:449:35 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:450:22:450:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:450:22:450:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:450:43:450:53 | exact_tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:452:9:452:17 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:452:22:457:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:456:22:456:79 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:456:22:456:79 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:461:11:461:15 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:462:24:465:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:464:22:464:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:464:22:464:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:469:9:469:12 | unit | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:469:16:469:17 | TupleExpr | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:470:11:470:14 | unit | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:471:9:471:10 | TuplePat | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:471:15:474:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:472:17:472:26 | unit_value | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:472:30:472:33 | unit | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:473:22:473:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:473:22:473:51 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:473:42:473:51 | unit_value | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:478:9:478:14 | single | | {EXTERNAL LOCATION} | (T_1) | +| pattern_matching.rs:478:18:478:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_1) | +| pattern_matching.rs:478:19:478:23 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:479:11:479:16 | single | | {EXTERNAL LOCATION} | (T_1) | +| pattern_matching.rs:480:9:480:12 | TuplePat | | {EXTERNAL LOCATION} | (T_1) | +| pattern_matching.rs:480:17:483:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:482:22:482:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:482:22:482:60 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:487:9:487:18 | ref_tuple1 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:487:9:487:18 | ref_tuple1 | TRef | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:487:9:487:18 | ref_tuple1 | TRef.T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:487:9:487:18 | ref_tuple1 | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:487:35:487:41 | &... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:487:36:487:41 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:488:5:491:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:488:12:488:17 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:488:21:488:30 | ref_tuple1 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:488:21:488:30 | ref_tuple1 | TRef | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:488:21:488:30 | ref_tuple1 | TRef.T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:488:21:488:30 | ref_tuple1 | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:488:32:491:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:489:18:489:24 | "n: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:489:18:489:24 | "n: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:489:18:489:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:489:18:489:27 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:490:18:490:24 | "m: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:490:18:490:24 | "m: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:490:18:490:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:490:18:490:27 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:494:9:494:18 | ref_tuple2 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:494:9:494:18 | ref_tuple2 | TRef | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:494:9:494:18 | ref_tuple2 | TRef.T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:494:9:494:18 | ref_tuple2 | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:494:35:494:41 | &... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:494:36:494:41 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:495:9:495:14 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:495:18:495:27 | ref_tuple2 | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:495:18:495:27 | ref_tuple2 | TRef | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:495:18:495:27 | ref_tuple2 | TRef.T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:495:18:495:27 | ref_tuple2 | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:496:14:496:20 | "n: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:496:14:496:20 | "n: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:496:14:496:23 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:496:14:496:23 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:497:14:497:20 | "m: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:497:14:497:20 | "m: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:497:14:497:23 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:497:14:497:23 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:500:33:520:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:501:9:501:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:501:17:501:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:504:11:504:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:505:16:508:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:507:22:507:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:507:22:507:61 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:512:9:512:13 | tuple | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:512:17:512:28 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:512:18:512:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:512:24:512:27 | 2i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:513:11:513:15 | tuple | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:514:9:514:16 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:514:21:518:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:517:22:517:71 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:517:22:517:71 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:522:25:563:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:523:9:523:13 | slice | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:523:9:523:13 | slice | TRef | {EXTERNAL LOCATION} | [] | +| pattern_matching.rs:523:9:523:13 | slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:523:25:523:40 | &... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:523:26:523:40 | [...] | | {EXTERNAL LOCATION} | [;] | +| pattern_matching.rs:526:11:526:15 | slice | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:526:11:526:15 | slice | TRef | {EXTERNAL LOCATION} | [] | +| pattern_matching.rs:526:11:526:15 | slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:527:15:530:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:528:17:528:27 | empty_slice | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:528:17:528:27 | empty_slice | TRef | {EXTERNAL LOCATION} | [] | +| pattern_matching.rs:528:17:528:27 | empty_slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:528:31:528:35 | slice | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:528:31:528:35 | slice | TRef | {EXTERNAL LOCATION} | [] | +| pattern_matching.rs:528:31:528:35 | slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:529:22:529:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:529:22:529:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:529:43:529:53 | empty_slice | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:529:43:529:53 | empty_slice | TRef | {EXTERNAL LOCATION} | [] | +| pattern_matching.rs:529:43:529:53 | empty_slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:531:16:534:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:533:22:533:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:533:22:533:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:535:28:539:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:538:22:538:70 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:538:22:538:70 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:540:39:550:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:545:17:548:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:545:17:548:34 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:554:9:554:13 | array | | {EXTERNAL LOCATION} | [;] | +| pattern_matching.rs:554:17:554:28 | [...] | | {EXTERNAL LOCATION} | [;] | +| pattern_matching.rs:554:18:554:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:555:11:555:15 | array | | {EXTERNAL LOCATION} | [;] | +| pattern_matching.rs:556:22:561:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:560:22:560:70 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:560:22:560:70 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:565:24:601:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:568:9:568:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:568:17:568:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:570:11:570:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:571:21:574:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:572:17:572:27 | const_match | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:572:31:572:35 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:573:22:573:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:573:22:573:56 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:573:46:573:56 | const_match | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:575:14:575:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:579:33:579:37 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:581:27:583:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:582:22:582:35 | "None variant\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:582:22:582:35 | "None variant\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:582:22:582:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:582:22:582:35 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:584:30:587:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:586:22:586:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:586:22:586:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:592:39:595:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:594:22:594:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:594:22:594:45 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:596:40:599:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:598:22:598:43 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:598:22:598:43 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:603:22:638:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:604:9:604:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:604:17:604:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:607:11:607:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:608:22:611:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:609:17:609:25 | small_num | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:609:29:609:33 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:610:22:610:50 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:610:22:610:50 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:610:42:610:50 | small_num | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:612:20:615:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:613:17:613:25 | round_num | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:613:29:613:33 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:614:22:614:50 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:614:22:614:50 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:614:42:614:50 | round_num | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:616:14:616:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:620:9:620:13 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:620:17:620:36 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:621:11:621:15 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:622:9:622:29 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:622:33:622:53 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:622:58:626:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:625:22:625:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:625:22:625:62 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:627:14:627:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:631:11:631:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:632:30:635:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:633:17:633:30 | range_or_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:633:34:633:38 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:634:22:634:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:634:22:634:51 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:634:38:634:51 | range_or_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:636:14:636:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:640:24:674:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:641:9:641:13 | tuple | | {EXTERNAL LOCATION} | (T_4) | +| pattern_matching.rs:641:17:641:41 | TupleExpr | | {EXTERNAL LOCATION} | (T_4) | +| pattern_matching.rs:641:18:641:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:641:24:641:27 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| pattern_matching.rs:641:30:641:35 | 3.0f32 | | {EXTERNAL LOCATION} | f32 | +| pattern_matching.rs:641:38:641:40 | 4u8 | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:644:11:644:15 | tuple | | {EXTERNAL LOCATION} | (T_4) | +| pattern_matching.rs:645:24:648:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:647:22:647:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:647:22:647:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:651:11:651:15 | tuple | | {EXTERNAL LOCATION} | (T_4) | +| pattern_matching.rs:652:23:655:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:654:22:654:52 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:654:22:654:52 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:658:11:658:15 | tuple | | {EXTERNAL LOCATION} | (T_4) | +| pattern_matching.rs:659:30:663:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:662:22:662:67 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:662:22:662:67 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:667:9:667:13 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:667:17:667:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:668:11:668:15 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:669:9:669:23 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:669:28:672:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:671:22:671:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:671:22:671:47 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:676:25:696:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:694:21:694:25 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:694:21:694:25 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:694:21:694:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:695:21:695:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:698:34:724:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:700:9:700:20 | complex_data | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:700:24:700:79 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:700:25:700:44 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:702:11:702:22 | complex_data | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:704:9:704:61 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:704:10:704:26 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:704:66:712:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:709:17:710:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:709:17:710:44 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:714:9:714:41 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:714:10:714:24 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:714:45:714:71 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:714:46:714:67 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:714:76:717:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:716:22:716:65 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:716:22:716:65 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:719:18:722:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:721:22:721:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:721:22:721:62 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:726:37:758:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:728:9:728:13 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:728:17:728:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:729:9:729:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:729:26:729:30 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:733:9:733:13 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:733:17:733:36 | TupleExpr | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:733:18:733:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:733:24:733:27 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| pattern_matching.rs:733:30:733:35 | 3.0f32 | | {EXTERNAL LOCATION} | f32 | +| pattern_matching.rs:734:9:734:17 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:734:21:734:25 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:739:9:739:13 | array | | {EXTERNAL LOCATION} | [;] | +| pattern_matching.rs:739:17:739:34 | [...] | | {EXTERNAL LOCATION} | [;] | +| pattern_matching.rs:739:18:739:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:740:29:740:33 | array | | {EXTERNAL LOCATION} | [;] | +| pattern_matching.rs:751:9:751:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:751:17:751:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:752:13:752:19 | ref_val | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:752:13:752:19 | ref_val | TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:752:23:752:27 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:753:9:753:15 | let_ref | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:753:9:753:15 | let_ref | TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:753:19:753:25 | ref_val | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:753:19:753:25 | ref_val | TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:756:13:756:19 | mut_val | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:756:23:756:27 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:757:9:757:15 | let_mut | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:757:19:757:25 | mut_val | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:760:42:789:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:763:22:763:35 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:763:59:767:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:763:59:767:5 | { ... } | T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:763:59:767:5 | { ... } | T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:766:9:766:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:769:22:769:35 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | +| pattern_matching.rs:769:51:772:5 | { ... } | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:774:22:774:38 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:774:22:774:38 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:774:22:774:38 | TuplePat | T1 | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:774:22:774:38 | TuplePat | T2 | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:774:74:778:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:774:74:778:5 | { ... } | T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:774:74:778:5 | { ... } | T1 | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:777:9:777:34 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:781:9:781:13 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:781:17:781:37 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:782:9:782:17 | extracted | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:782:9:782:17 | extracted | T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:782:9:782:17 | extracted | T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:782:21:782:40 | extract_point(...) | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:782:21:782:40 | extract_point(...) | T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:782:21:782:40 | extract_point(...) | T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:782:35:782:39 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:785:9:785:11 | red | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:785:15:785:34 | extract_color(...) | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:787:9:787:13 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:787:17:787:38 | TupleExpr | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:787:18:787:22 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:787:25:787:31 | 3.14f64 | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:787:34:787:37 | true | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:788:9:788:23 | tuple_extracted | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:788:9:788:23 | tuple_extracted | T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:788:9:788:23 | tuple_extracted | T1 | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:788:27:788:46 | extract_tuple(...) | | {EXTERNAL LOCATION} | (T_2) | +| pattern_matching.rs:788:27:788:46 | extract_tuple(...) | T0 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:788:27:788:46 | extract_tuple(...) | T1 | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:788:41:788:45 | tuple | | {EXTERNAL LOCATION} | (T_3) | +| pattern_matching.rs:792:35:824:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:794:23:794:42 | (...) | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:794:23:794:42 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:794:45:794:64 | (...) | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:794:45:794:64 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:795:5:799:5 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:795:9:795:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:795:34:799:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:798:18:798:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:798:18:798:58 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:802:39:802:43 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:803:5:806:5 | if ... {...} | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:803:50:806:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:805:18:805:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:805:18:805:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:809:13:809:17 | stack | | {EXTERNAL LOCATION} | Vec | +| pattern_matching.rs:809:13:809:17 | stack | A | {EXTERNAL LOCATION} | Global | +| pattern_matching.rs:809:13:809:17 | stack | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:809:36:809:39 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:810:5:813:5 | while ... { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:810:25:810:29 | stack | | {EXTERNAL LOCATION} | Vec | +| pattern_matching.rs:810:25:810:29 | stack | A | {EXTERNAL LOCATION} | Global | +| pattern_matching.rs:810:25:810:29 | stack | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:810:37:813:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:812:18:812:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:812:18:812:42 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:816:9:816:13 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:816:17:816:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:817:11:817:15 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:818:23:821:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | | {EXTERNAL LOCATION} | & | +| pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:820:22:820:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:820:22:820:44 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:822:14:822:15 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:826:28:846:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:827:5:827:7 | f(...) | | {EXTERNAL LOCATION} | Option | +| pattern_matching.rs:827:5:827:7 | f(...) | T | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:828:5:828:22 | literal_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:829:5:829:25 | identifier_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:830:5:830:23 | wildcard_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:831:5:831:20 | range_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:832:5:832:24 | reference_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:833:5:833:21 | record_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:834:5:834:27 | tuple_struct_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:835:5:835:20 | tuple_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:836:5:836:28 | parenthesized_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:837:5:837:20 | slice_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:838:5:838:19 | path_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:839:5:839:17 | or_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:840:5:840:19 | rest_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:841:5:841:20 | macro_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:842:5:842:29 | complex_nested_patterns(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:3:28:3:28 | x | TPtr | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:3:50:6:1 | { ... } | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:4:24:4:24 | x | TPtr | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:8:26:8:26 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:8:47:11:1 | { ... } | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | * | +| raw_pointer.rs:9:24:9:24 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:15:24:15:24 | a | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:16:5:18:5 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:17:19:17:19 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:21:21:27:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:22:13:22:13 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:22:17:22:21 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:23:9:23:9 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:23:13:23:22 | &raw mut a | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:23:22:23:22 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:24:5:26:5 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:25:19:25:19 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:29:18:29:21 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:29:30:40:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:30:9:30:9 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:30:13:30:17 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:33:5:39:5 | if cond {...} | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:33:8:33:11 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:34:9:38:9 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:36:28:36:28 | a | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:42:24:42:27 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:42:36:51:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | * | +| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:45:5:50:5 | if cond {...} | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:45:8:45:11 | cond | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:46:9:49:9 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:48:17:48:18 | _y | | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | * | +| raw_pointer.rs:53:15:60:1 | { ... } | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:54:5:54:32 | raw_pointer_const_deref(...) | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:54:29:54:31 | &10 | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:55:5:55:36 | raw_pointer_mut_deref(...) | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:55:27:55:35 | &mut true | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:55:32:55:35 | true | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:56:5:56:22 | raw_const_borrow(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:57:5:57:20 | raw_mut_borrow(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:58:5:58:24 | raw_mut_write(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:58:19:58:23 | false | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:59:5:59:30 | raw_type_from_deref(...) | | {EXTERNAL LOCATION} | () | +| raw_pointer.rs:59:25:59:29 | false | | {EXTERNAL LOCATION} | bool | inferType | blanket_impl.rs:15:18:15:22 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:15:18:15:22 | SelfParam | TRef | blanket_impl.rs:9:5:10:14 | S2 | diff --git a/rust/ql/test/library-tests/type-inference/type-inference.ql b/rust/ql/test/library-tests/type-inference/type-inference.ql index 50bbe4f5fff7..81cad0f975e7 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.ql +++ b/rust/ql/test/library-tests/type-inference/type-inference.ql @@ -4,15 +4,25 @@ import codeql.rust.internal.Type import codeql.rust.internal.TypeInference as TypeInference import TypeInference -query predicate inferType(AstNode n, TypePath path, Type t) { - t = TypeInference::inferType(n, path) and - t != TUnknownType() and +private predicate relevantNode(AstNode n) { n.fromSource() and not n.isFromMacroExpansion() and not n instanceof IdentPat and // avoid overlap in the output with the underlying `Name` node not n instanceof LiteralPat // avoid overlap in the output with the underlying `Literal` node } +query predicate inferCertainType(AstNode n, TypePath path, Type t) { + t = TypeInference::CertainTypeInference::inferCertainType(n, path) and + t != TUnknownType() and + relevantNode(n) +} + +query predicate inferType(AstNode n, TypePath path, Type t) { + t = TypeInference::inferType(n, path) and + t != TUnknownType() and + relevantNode(n) +} + module ResolveTest implements TestSig { string getARelevantTag() { result = ["target", "fieldof"] } From 785025f1e332a5e7552a96a137ef78aeca8de364 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 2 Dec 2025 13:28:08 +0100 Subject: [PATCH 3/9] Rust: Type inference for raw pointers --- .../rust/frameworks/stdlib/Builtins.qll | 13 +- rust/ql/lib/codeql/rust/internal/Type.qll | 28 ++- .../codeql/rust/internal/TypeInference.qll | 68 ++++++-- .../lib/codeql/rust/internal/TypeMention.qll | 11 +- .../type-inference/raw_pointer.rs | 18 +- .../type-inference/type-inference.expected | 159 ++++++++++-------- rust/tools/builtins/types.rs | 2 +- 7 files changed, 184 insertions(+), 115 deletions(-) diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll b/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll index 08208d09642b..e87eb25279ad 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll @@ -176,15 +176,18 @@ class RefMutType extends BuiltinType { override string getDisplayName() { result = "&mut" } } -/** The builtin pointer type `*const T`. */ -class PtrType extends BuiltinType { - PtrType() { this.getName() = "Ptr" } +/** A builtin raw pointer type `*const T` or `*mut T`. */ +abstract class PtrType extends BuiltinType { } + +/** The builtin raw pointer type `*const T`. */ +class PtrConstType extends PtrType { + PtrConstType() { this.getName() = "PtrConst" } override string getDisplayName() { result = "*const" } } -/** The builtin pointer type `*mut T`. */ -class PtrMutType extends BuiltinType { +/** The builtin raw pointer type `*mut T`. */ +class PtrMutType extends PtrType { PtrMutType() { this.getName() = "PtrMut" } override string getDisplayName() { result = "*mut" } diff --git a/rust/ql/lib/codeql/rust/internal/Type.qll b/rust/ql/lib/codeql/rust/internal/Type.qll index dd6a20eb070a..af37fb567e5f 100644 --- a/rust/ql/lib/codeql/rust/internal/Type.qll +++ b/rust/ql/lib/codeql/rust/internal/Type.qll @@ -339,10 +339,27 @@ class NeverType extends Type, TNeverType { override Location getLocation() { result instanceof EmptyLocation } } -class PtrType extends StructType { - PtrType() { this.getStruct() instanceof Builtins::PtrType } +abstract class PtrType extends StructType { + override Location getLocation() { result instanceof EmptyLocation } +} + +pragma[nomagic] +TypeParamTypeParameter getPtrTypeParameter() { + result = any(PtrType t).getPositionalTypeParameter(0) +} + +class PtrMutType extends PtrType { + PtrMutType() { this.getStruct() instanceof Builtins::PtrMutType } + + override string toString() { result = "*mut" } - override string toString() { result = "*" } + override Location getLocation() { result instanceof EmptyLocation } +} + +class PtrConstType extends PtrType { + PtrConstType() { this.getStruct() instanceof Builtins::PtrConstType } + + override string toString() { result = "*const" } override Location getLocation() { result instanceof EmptyLocation } } @@ -377,11 +394,6 @@ class UnknownType extends Type, TUnknownType { override Location getLocation() { result instanceof EmptyLocation } } -pragma[nomagic] -TypeParamTypeParameter getPtrTypeParameter() { - result = any(PtrType t).getPositionalTypeParameter(0) -} - /** A type parameter. */ abstract class TypeParameter extends Type { override TypeParameter getPositionalTypeParameter(int i) { none() } diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index a21722d0e1f0..149bf8205108 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -431,7 +431,10 @@ module CertainTypeInference { or result = inferLiteralType(n, path, true) or - result = inferRefNodeType(n) and + result = inferRefPatType(n) and + path.isEmpty() + or + result = inferRefExprType(n) and path.isEmpty() or result = inferLogicalOperationType(n, path) @@ -606,10 +609,14 @@ private predicate typeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePat strictcount(Expr e | bodyReturns(n1, e)) = 1 ) or - ( - n1 = n2.(RefExpr).getExpr() or - n1 = n2.(RefPat).getPat() - ) and + exists(RefExpr re | + n2 = re and + n1 = re.getExpr() and + prefix1.isEmpty() and + prefix2 = TypePath::singleton(inferRefExprType(re).getPositionalTypeParameter(0)) + ) + or + n1 = n2.(RefPat).getPat() and prefix1.isEmpty() and prefix2 = TypePath::singleton(getRefTypeParameter()) or @@ -709,9 +716,7 @@ private predicate lubCoercion(AstNode parent, AstNode child, TypePath prefix) { * of `n2` at `prefix2`, but type information should only propagate from `n1` to * `n2`. */ -private predicate typeEqualityNonSymmetric( - AstNode n1, TypePath prefix1, AstNode n2, TypePath prefix2 -) { +private predicate typeEqualityAsymmetric(AstNode n1, TypePath prefix1, AstNode n2, TypePath prefix2) { lubCoercion(n2, n1, prefix2) and prefix1.isEmpty() or @@ -723,6 +728,13 @@ private predicate typeEqualityNonSymmetric( not lubCoercion(mid, n1, _) and prefix1 = prefixMid.append(suffix) ) + or + // When `n2` is `*n1` propagate type information from a raw pointer type + // parameter at `n1`. The other direction is handled in + // `inferDereferencedExprPtrType`. + n1 = n2.(DerefExpr).getExpr() and + prefix1 = TypePath::singleton(getPtrTypeParameter()) and + prefix2.isEmpty() } pragma[nomagic] @@ -735,7 +747,7 @@ private Type inferTypeEquality(AstNode n, TypePath path) { or typeEquality(n2, prefix2, n, prefix1) or - typeEqualityNonSymmetric(n2, prefix2, n, prefix1) + typeEqualityAsymmetric(n2, prefix2, n, prefix1) ) } @@ -2952,16 +2964,21 @@ private Type inferFieldExprType(AstNode n, TypePath path) { ) } -/** Gets the root type of the reference node `ref`. */ +/** Gets the root type of the reference expression `ref`. */ pragma[nomagic] -private Type inferRefNodeType(AstNode ref) { - ( - ref = any(IdentPat ip | ip.isRef()).getName() - or - ref instanceof RefExpr +private Type inferRefExprType(RefExpr ref) { + if ref.isRaw() + then + ref.isMut() and result instanceof PtrMutType or - ref instanceof RefPat - ) and + ref.isConst() and result instanceof PtrConstType + else result instanceof RefType +} + +/** Gets the root type of the reference node `ref`. */ +pragma[nomagic] +private Type inferRefPatType(AstNode ref) { + (ref = any(IdentPat ip | ip.isRef()).getName() or ref instanceof RefPat) and result instanceof RefType } @@ -3145,6 +3162,21 @@ private Type inferIndexExprType(IndexExpr ie, TypePath path) { ) } +/** + * Gets the inferred type of `n` at `path` when `n` occurs in a dereference + * expression `*n` and when `n` is known to have a raw pointer type. + * + * The other direction is handled in `typeEqualityAsymmetric`. + */ +private Type inferDereferencedExprPtrType(AstNode n, TypePath path) { + exists(DerefExpr de, PtrType type, TypePath suffix | + de.getExpr() = n and + type = inferType(de.getExpr()) and + result = inferType(de, suffix) and + path = TypePath::cons(type.getPositionalTypeParameter(0), suffix) + ) +} + /** * A matching configuration for resolving types of struct patterns * like `let Foo { bar } = ...`. @@ -3544,6 +3576,8 @@ private module Cached { or result = inferIndexExprType(n, path) or + result = inferDereferencedExprPtrType(n, path) + or result = inferForLoopExprType(n, path) or result = inferDynamicCallExprType(n, path) diff --git a/rust/ql/lib/codeql/rust/internal/TypeMention.qll b/rust/ql/lib/codeql/rust/internal/TypeMention.qll index a88f3e20a964..3e2ca8111079 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeMention.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeMention.qll @@ -556,13 +556,18 @@ class NeverTypeReprMention extends TypeMention, NeverTypeRepr { } class PtrTypeReprMention extends TypeMention instanceof PtrTypeRepr { + private PtrType resolveRootType() { + super.isConst() and result instanceof PtrConstType + or + super.isMut() and result instanceof PtrMutType + } + override Type resolveTypeAt(TypePath path) { - path.isEmpty() and - result instanceof PtrType + path.isEmpty() and result = this.resolveRootType() or exists(TypePath suffix | result = super.getTypeRepr().(TypeMention).resolveTypeAt(suffix) and - path = TypePath::cons(getPtrTypeParameter(), suffix) + path = TypePath::cons(this.resolveRootType().getPositionalTypeParameter(0), suffix) ) } } diff --git a/rust/ql/test/library-tests/type-inference/raw_pointer.rs b/rust/ql/test/library-tests/type-inference/raw_pointer.rs index 4ae863632d96..82f6f1afe162 100644 --- a/rust/ql/test/library-tests/type-inference/raw_pointer.rs +++ b/rust/ql/test/library-tests/type-inference/raw_pointer.rs @@ -1,47 +1,47 @@ use std::ptr::null_mut; fn raw_pointer_const_deref(x: *const i32) -> i32 { - let _y = unsafe { *x }; // $ MISSING: type=_y:i32 + let _y = unsafe { *x }; // $ type=_y:i32 0 } fn raw_pointer_mut_deref(x: *mut bool) -> i32 { - let _y = unsafe { *x }; // $ MISSING: type=_y:bool + let _y = unsafe { *x }; // $ type=_y:bool 0 } fn raw_const_borrow() { let a: i64 = 10; - let x = &raw const a; // $ MISSING: type=x:TPtrConst.i64 + let x = &raw const a; // $ type=x:TPtrConst.i64 unsafe { - let _y = *x; // $ type=_y:i64 SPURIOUS: target=deref + let _y = *x; // $ type=_y:i64 } } fn raw_mut_borrow() { let mut a = 10i32; - let x = &raw mut a; // $ MISSING: type=x:TPtrMut.i32 + let x = &raw mut a; // $ type=x:TPtrMut.i32 unsafe { - let _y = *x; // $ type=_y:i32 SPURIOUS: target=deref + let _y = *x; // $ type=_y:i32 } } fn raw_mut_write(cond: bool) { let a = 10i32; // The type of `x` must be inferred from the write below. - let ptr_written = null_mut(); // $ target=null_mut MISSING: type=ptr_written:TPtrMut.i32 + let ptr_written = null_mut(); // $ target=null_mut type=ptr_written:TPtrMut.i32 if cond { unsafe { // NOTE: This write is undefined behavior because `x` is a null pointer. *ptr_written = a; - let _y = *ptr_written; // $ MISSING: type=_y:i32 + let _y = *ptr_written; // $ type=_y:i32 } } } fn raw_type_from_deref(cond: bool) { // The type of `x` must be inferred from the read below. - let ptr_read = null_mut(); // $ target=null_mut MISSING: type=ptr_read:TPtrMut.i64 + let ptr_read = null_mut(); // $ target=null_mut type=ptr_read:TPtrMut.i64 if cond { unsafe { // NOTE: This read is undefined behavior because `x` is a null pointer. diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 0ef15c66fc2b..0194b9e46435 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -2256,24 +2256,24 @@ inferCertainType | main.rs:1803:13:1803:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1803:17:1803:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1806:26:1806:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1806:26:1806:30 | SelfParam | TRef | file://:0:0:0:0 | * | -| main.rs:1806:26:1806:30 | SelfParam | TRef.TPtr | main.rs:1805:14:1805:23 | T | +| main.rs:1806:26:1806:30 | SelfParam | TRef | file://:0:0:0:0 | *mut | +| main.rs:1806:26:1806:30 | SelfParam | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1806:39:1808:13 | { ... } | | {EXTERNAL LOCATION} | & | | main.rs:1806:39:1808:13 | { ... } | TRef | main.rs:1805:14:1805:23 | T | | main.rs:1807:26:1807:32 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1807:29:1807:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1807:29:1807:32 | self | TRef | file://:0:0:0:0 | * | -| main.rs:1807:29:1807:32 | self | TRef.TPtr | main.rs:1805:14:1805:23 | T | +| main.rs:1807:29:1807:32 | self | TRef | file://:0:0:0:0 | *mut | +| main.rs:1807:29:1807:32 | self | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1810:31:1812:13 | { ... } | | main.rs:1805:14:1805:23 | T | -| main.rs:1816:13:1816:13 | p | | file://:0:0:0:0 | * | -| main.rs:1816:13:1816:13 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1816:13:1816:13 | p | | file://:0:0:0:0 | *mut | +| main.rs:1816:13:1816:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1816:27:1816:32 | &mut v | | {EXTERNAL LOCATION} | & | -| main.rs:1817:26:1817:26 | p | | file://:0:0:0:0 | * | -| main.rs:1817:26:1817:26 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1817:26:1817:26 | p | | file://:0:0:0:0 | *mut | +| main.rs:1817:26:1817:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1818:26:1818:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1818:46:1818:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1818:47:1818:47 | p | | file://:0:0:0:0 | * | -| main.rs:1818:47:1818:47 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1818:47:1818:47 | p | | file://:0:0:0:0 | *mut | +| main.rs:1818:47:1818:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1819:13:1819:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1819:17:1819:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1825:16:1837:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4422,52 +4422,52 @@ inferCertainType | pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:3:28:3:28 | x | TPtr | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:3:28:3:28 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:3:50:6:1 | { ... } | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:4:24:4:24 | x | TPtr | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:8:26:8:26 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:4:24:4:24 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:8:26:8:26 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:8:47:11:1 | { ... } | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:9:24:9:24 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:9:24:9:24 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:15:9:15:9 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:15:13:15:24 | &raw const a | | file://:0:0:0:0 | *const | | raw_pointer.rs:15:24:15:24 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:16:5:18:5 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:17:19:17:19 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:17:19:17:19 | x | | file://:0:0:0:0 | *const | | raw_pointer.rs:21:21:27:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:22:13:22:13 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:22:17:22:21 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:23:9:23:9 | x | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:23:13:23:22 | &raw mut a | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:23:9:23:9 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:23:13:23:22 | &raw mut a | | file://:0:0:0:0 | *mut | | raw_pointer.rs:23:22:23:22 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:24:5:26:5 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:25:19:25:19 | x | | {EXTERNAL LOCATION} | & | +| raw_pointer.rs:25:19:25:19 | x | | file://:0:0:0:0 | *mut | | raw_pointer.rs:29:18:29:21 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:29:30:40:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:30:9:30:9 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:30:13:30:17 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | * | -| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | *mut | | raw_pointer.rs:33:5:39:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:33:8:33:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:34:9:38:9 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | *mut | | raw_pointer.rs:36:28:36:28 | a | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | *mut | | raw_pointer.rs:42:24:42:27 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:42:36:51:1 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | * | -| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | *mut | | raw_pointer.rs:45:5:50:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:45:8:45:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:46:9:49:9 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:48:17:48:18 | _y | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | * | +| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | *mut | | raw_pointer.rs:53:15:60:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:54:5:54:32 | raw_pointer_const_deref(...) | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:54:29:54:31 | &10 | | {EXTERNAL LOCATION} | & | @@ -8560,8 +8560,8 @@ inferType | main.rs:1803:13:1803:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1803:17:1803:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1806:26:1806:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1806:26:1806:30 | SelfParam | TRef | file://:0:0:0:0 | * | -| main.rs:1806:26:1806:30 | SelfParam | TRef.TPtr | main.rs:1805:14:1805:23 | T | +| main.rs:1806:26:1806:30 | SelfParam | TRef | file://:0:0:0:0 | *mut | +| main.rs:1806:26:1806:30 | SelfParam | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1806:39:1808:13 | { ... } | | {EXTERNAL LOCATION} | & | | main.rs:1806:39:1808:13 | { ... } | TRef | main.rs:1805:14:1805:23 | T | | main.rs:1807:17:1807:34 | { ... } | | {EXTERNAL LOCATION} | & | @@ -8569,17 +8569,17 @@ inferType | main.rs:1807:26:1807:32 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1807:26:1807:32 | &... | TRef | main.rs:1805:14:1805:23 | T | | main.rs:1807:27:1807:32 | * ... | | main.rs:1805:14:1805:23 | T | -| main.rs:1807:28:1807:32 | * ... | | file://:0:0:0:0 | * | -| main.rs:1807:28:1807:32 | * ... | TPtr | main.rs:1805:14:1805:23 | T | +| main.rs:1807:28:1807:32 | * ... | | file://:0:0:0:0 | *mut | +| main.rs:1807:28:1807:32 | * ... | TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1807:29:1807:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1807:29:1807:32 | self | TRef | file://:0:0:0:0 | * | -| main.rs:1807:29:1807:32 | self | TRef.TPtr | main.rs:1805:14:1805:23 | T | +| main.rs:1807:29:1807:32 | self | TRef | file://:0:0:0:0 | *mut | +| main.rs:1807:29:1807:32 | self | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1810:31:1812:13 | { ... } | | main.rs:1805:14:1805:23 | T | | main.rs:1811:17:1811:28 | ...::default(...) | | main.rs:1805:14:1805:23 | T | | main.rs:1815:17:1815:17 | v | | {EXTERNAL LOCATION} | i32 | | main.rs:1815:21:1815:22 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1816:13:1816:13 | p | | file://:0:0:0:0 | * | -| main.rs:1816:13:1816:13 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1816:13:1816:13 | p | | file://:0:0:0:0 | *mut | +| main.rs:1816:13:1816:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1816:27:1816:32 | &mut v | | {EXTERNAL LOCATION} | & | | main.rs:1816:27:1816:32 | &mut v | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:1816:32:1816:32 | v | | {EXTERNAL LOCATION} | i32 | @@ -8587,8 +8587,8 @@ inferType | main.rs:1817:13:1817:13 | x | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:1817:17:1817:40 | { ... } | | {EXTERNAL LOCATION} | & | | main.rs:1817:17:1817:40 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1817:26:1817:26 | p | | file://:0:0:0:0 | * | -| main.rs:1817:26:1817:26 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1817:26:1817:26 | p | | file://:0:0:0:0 | *mut | +| main.rs:1817:26:1817:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1817:26:1817:38 | p.my_method() | | {EXTERNAL LOCATION} | & | | main.rs:1817:26:1817:38 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:1818:13:1818:13 | x | | {EXTERNAL LOCATION} | & | @@ -8598,10 +8598,10 @@ inferType | main.rs:1818:26:1818:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1818:26:1818:48 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:1818:46:1818:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1818:46:1818:47 | &p | TRef | file://:0:0:0:0 | * | -| main.rs:1818:46:1818:47 | &p | TRef.TPtr | {EXTERNAL LOCATION} | i32 | -| main.rs:1818:47:1818:47 | p | | file://:0:0:0:0 | * | -| main.rs:1818:47:1818:47 | p | TPtr | {EXTERNAL LOCATION} | i32 | +| main.rs:1818:46:1818:47 | &p | TRef | file://:0:0:0:0 | *mut | +| main.rs:1818:46:1818:47 | &p | TRef.TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1818:47:1818:47 | p | | file://:0:0:0:0 | *mut | +| main.rs:1818:47:1818:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1819:13:1819:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1819:17:1819:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1825:16:1837:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -12815,71 +12815,86 @@ inferType | pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:3:28:3:28 | x | TPtr | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:3:28:3:28 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:3:50:6:1 | { ... } | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:4:24:4:24 | x | TPtr | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:4:9:4:10 | _y | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:4:14:4:26 | { ... } | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:4:23:4:24 | * ... | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:4:24:4:24 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:5:5:5:5 | 0 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:8:26:8:26 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:8:26:8:26 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:8:47:11:1 | { ... } | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | * | -| raw_pointer.rs:9:24:9:24 | x | TPtr | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:9:9:9:10 | _y | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:9:14:9:26 | { ... } | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:9:23:9:24 | * ... | | {EXTERNAL LOCATION} | bool | +| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:9:24:9:24 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:10:5:10:5 | 0 | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:15:9:15:9 | x | TRef | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:15:13:15:24 | &raw const a | TRef | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:15:9:15:9 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:15:9:15:9 | x | TPtrConst | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:15:13:15:24 | &raw const a | | file://:0:0:0:0 | *const | +| raw_pointer.rs:15:13:15:24 | &raw const a | TPtrConst | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:15:24:15:24 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:16:5:18:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:17:13:17:14 | _y | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:17:18:17:19 | * ... | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:17:19:17:19 | x | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:17:19:17:19 | x | TRef | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:17:19:17:19 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:17:19:17:19 | x | TPtrConst | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:21:21:27:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:22:13:22:13 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:22:17:22:21 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:23:9:23:9 | x | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:23:9:23:9 | x | TRef | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:23:13:23:22 | &raw mut a | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:23:13:23:22 | &raw mut a | TRef | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:23:9:23:9 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:23:9:23:9 | x | TPtrMut | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:23:13:23:22 | &raw mut a | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:23:13:23:22 | &raw mut a | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:23:22:23:22 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:24:5:26:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:25:13:25:14 | _y | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:25:18:25:19 | * ... | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:25:19:25:19 | x | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:25:19:25:19 | x | TRef | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:25:19:25:19 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:25:19:25:19 | x | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:29:18:29:21 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:29:30:40:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:30:9:30:9 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:30:13:30:17 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | * | -| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:32:9:32:19 | ptr_written | TPtrMut | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:32:23:32:32 | null_mut(...) | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:33:5:39:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:33:8:33:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:33:13:39:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:34:9:38:9 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:36:13:36:24 | * ... | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:36:13:36:28 | ... = ... | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:36:14:36:24 | ptr_written | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:36:28:36:28 | a | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | * | +| raw_pointer.rs:37:17:37:18 | _y | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:37:22:37:33 | * ... | | {EXTERNAL LOCATION} | i32 | +| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:37:23:37:33 | ptr_written | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:42:24:42:27 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:42:36:51:1 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | * | -| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | * | +| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:44:9:44:16 | ptr_read | TPtrMut | {EXTERNAL LOCATION} | i64 | +| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:44:20:44:29 | null_mut(...) | TPtrMut | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:45:5:50:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:45:8:45:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:45:13:50:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:46:9:49:9 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:48:17:48:18 | _y | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:48:27:48:35 | * ... | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | * | +| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:48:28:48:35 | ptr_read | TPtrMut | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:53:15:60:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:54:5:54:32 | raw_pointer_const_deref(...) | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:54:29:54:31 | &10 | | {EXTERNAL LOCATION} | & | diff --git a/rust/tools/builtins/types.rs b/rust/tools/builtins/types.rs index fc0be525ab44..d3fd06b21683 100644 --- a/rust/tools/builtins/types.rs +++ b/rust/tools/builtins/types.rs @@ -28,7 +28,7 @@ struct Slice; struct Array; struct Ref; struct RefMut; -struct Ptr; +struct PtrConst; struct PtrMut; // tuples From c15e12c9ff2e1f0d47b1c3488b4f81182bf34c63 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 2 Dec 2025 14:36:29 +0100 Subject: [PATCH 4/9] Rust: Accept test changes --- .../elements/builtintypes/BuiltinTypes.expected | 2 +- .../CONSISTENCY/PathResolutionConsistency.expected | 3 +++ .../query-tests/diagnostics/SummaryStatsReduced.expected | 2 +- .../CONSISTENCY/PathResolutionConsistency.expected | 2 -- .../CONSISTENCY/PathResolutionConsistency.expected | 7 ------- .../CONSISTENCY/PathResolutionConsistency.expected | 8 -------- 6 files changed, 5 insertions(+), 19 deletions(-) delete mode 100644 rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected diff --git a/rust/ql/test/library-tests/elements/builtintypes/BuiltinTypes.expected b/rust/ql/test/library-tests/elements/builtintypes/BuiltinTypes.expected index e08eb561b58b..4a67027027bf 100644 --- a/rust/ql/test/library-tests/elements/builtintypes/BuiltinTypes.expected +++ b/rust/ql/test/library-tests/elements/builtintypes/BuiltinTypes.expected @@ -1,5 +1,5 @@ | struct Array | | -| struct Ptr | | +| struct PtrConst | | | struct PtrMut | | | struct Ref | | | struct RefMut | | diff --git a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected index 16db4f5c0903..74a86d6a01d2 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -11,3 +11,6 @@ multipleCallTargets | main.rs:2642:13:2642:31 | ...::from(...) | | main.rs:2643:13:2643:31 | ...::from(...) | | main.rs:2644:13:2644:31 | ...::from(...) | +multiplePathResolutions +| main.rs:1818:26:1818:33 | <...> | +| main.rs:1819:17:1819:26 | <...> | diff --git a/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected b/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected index 563e370b4ed3..88c16ee79461 100644 --- a/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected +++ b/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected @@ -6,7 +6,7 @@ | Files extracted - without errors % | 57 | | Inconsistencies - AST | 0 | | Inconsistencies - CFG | 0 | -| Inconsistencies - Path resolution | 1 | +| Inconsistencies - Path resolution | 197 | | Inconsistencies - SSA | 0 | | Inconsistencies - data flow | 0 | | Lines of code extracted | 60 | diff --git a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 538ecf9c2e35..000000000000 --- a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,2 +0,0 @@ -multipleCallTargets -| test.rs:117:9:117:21 | ptr.is_null() | diff --git a/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 1abeb1aeb874..000000000000 --- a/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,7 +0,0 @@ -multipleCallTargets -| main.rs:242:44:242:78 | ... .cast() | -| main.rs:245:44:245:78 | ... .cast() | -| main.rs:248:44:248:78 | ... .cast() | -| main.rs:251:14:251:48 | ... .cast() | -| main.rs:254:14:254:48 | ... .cast() | -| main.rs:257:14:257:48 | ... .cast() | diff --git a/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected index 40e59cf662ab..ae227c22e5ae 100644 --- a/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected @@ -1,12 +1,4 @@ multipleCallTargets -| deallocation.rs:162:5:162:17 | ptr.is_null() | -| deallocation.rs:174:7:174:19 | ptr.is_null() | -| deallocation.rs:186:5:186:17 | ptr.is_null() | -| deallocation.rs:190:5:190:17 | ptr.is_null() | -| deallocation.rs:194:6:194:18 | ptr.is_null() | -| deallocation.rs:202:5:202:17 | ptr.is_null() | -| deallocation.rs:210:25:210:37 | ptr.is_null() | -| deallocation.rs:225:5:225:23 | const_ptr.is_null() | | deallocation.rs:354:11:354:29 | ...::from(...) | | deallocation.rs:355:11:355:29 | ...::from(...) | | lifetime.rs:610:13:610:31 | ...::from(...) | From ea1b0a8476a555be205cac9a7cc57f4772c604c8 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 2 Dec 2025 14:43:28 +0100 Subject: [PATCH 5/9] Rust: Fix path resolution for raw pointer types --- rust/ql/lib/codeql/rust/internal/PathResolution.qll | 7 +++++-- .../CONSISTENCY/PathResolutionConsistency.expected | 3 --- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rust/ql/lib/codeql/rust/internal/PathResolution.qll b/rust/ql/lib/codeql/rust/internal/PathResolution.qll index 13e1e0d381d5..2b9cd42105c5 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolution.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolution.qll @@ -774,8 +774,11 @@ private TypeItemNode resolveBuiltin(TypeRepr tr) { tr instanceof RefTypeRepr and result instanceof Builtins::RefType or - tr instanceof PtrTypeRepr and - result instanceof Builtins::PtrType + tr.(PtrTypeRepr).isConst() and + result instanceof Builtins::PtrConstType + or + tr.(PtrTypeRepr).isMut() and + result instanceof Builtins::PtrMutType or result.(Builtins::TupleType).getArity() = tr.(TupleTypeRepr).getNumberOfFields() } diff --git a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected index 74a86d6a01d2..16db4f5c0903 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -11,6 +11,3 @@ multipleCallTargets | main.rs:2642:13:2642:31 | ...::from(...) | | main.rs:2643:13:2643:31 | ...::from(...) | | main.rs:2644:13:2644:31 | ...::from(...) | -multiplePathResolutions -| main.rs:1818:26:1818:33 | <...> | -| main.rs:1819:17:1819:26 | <...> | From 236df0ab65ef24bd3f7139f7009ac992831e6c25 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 2 Dec 2025 15:07:54 +0100 Subject: [PATCH 6/9] Rust: Accept changes to expected files --- .../test/query-tests/diagnostics/SummaryStatsReduced.expected | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected b/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected index 88c16ee79461..563e370b4ed3 100644 --- a/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected +++ b/rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected @@ -6,7 +6,7 @@ | Files extracted - without errors % | 57 | | Inconsistencies - AST | 0 | | Inconsistencies - CFG | 0 | -| Inconsistencies - Path resolution | 197 | +| Inconsistencies - Path resolution | 1 | | Inconsistencies - SSA | 0 | | Inconsistencies - data flow | 0 | | Lines of code extracted | 60 | From a05d0a906cce0b1c8c27330a22d48fee170bc722 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 3 Dec 2025 11:56:54 +0100 Subject: [PATCH 7/9] Rust: Add change note for raw pointer type inference --- .../change-notes/2025-12-03-type-inference-raw-pointers.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 rust/ql/lib/change-notes/2025-12-03-type-inference-raw-pointers.md diff --git a/rust/ql/lib/change-notes/2025-12-03-type-inference-raw-pointers.md b/rust/ql/lib/change-notes/2025-12-03-type-inference-raw-pointers.md new file mode 100644 index 000000000000..a24f86ad897a --- /dev/null +++ b/rust/ql/lib/change-notes/2025-12-03-type-inference-raw-pointers.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Improved type inference for raw pointers (`*const` and `*mut`). This includes type inference for the raw borrow operators (`&raw const` and `&raw mut`) and dereferencing of raw pointers. \ No newline at end of file From 299fed59010a7cd59c5d4daa0afd097c0b1c9a1c Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 3 Dec 2025 13:04:54 +0100 Subject: [PATCH 8/9] Rust: Apply fixes from code review --- rust/ql/lib/codeql/rust/internal/Type.qll | 4 ---- rust/ql/test/library-tests/type-inference/raw_pointer.rs | 8 ++++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/rust/ql/lib/codeql/rust/internal/Type.qll b/rust/ql/lib/codeql/rust/internal/Type.qll index af37fb567e5f..fb639cb9acf6 100644 --- a/rust/ql/lib/codeql/rust/internal/Type.qll +++ b/rust/ql/lib/codeql/rust/internal/Type.qll @@ -352,16 +352,12 @@ class PtrMutType extends PtrType { PtrMutType() { this.getStruct() instanceof Builtins::PtrMutType } override string toString() { result = "*mut" } - - override Location getLocation() { result instanceof EmptyLocation } } class PtrConstType extends PtrType { PtrConstType() { this.getStruct() instanceof Builtins::PtrConstType } override string toString() { result = "*const" } - - override Location getLocation() { result instanceof EmptyLocation } } /** diff --git a/rust/ql/test/library-tests/type-inference/raw_pointer.rs b/rust/ql/test/library-tests/type-inference/raw_pointer.rs index 82f6f1afe162..bf4537f30ce6 100644 --- a/rust/ql/test/library-tests/type-inference/raw_pointer.rs +++ b/rust/ql/test/library-tests/type-inference/raw_pointer.rs @@ -28,11 +28,11 @@ fn raw_mut_borrow() { fn raw_mut_write(cond: bool) { let a = 10i32; - // The type of `x` must be inferred from the write below. + // The type of `ptr_written` must be inferred from the write below. let ptr_written = null_mut(); // $ target=null_mut type=ptr_written:TPtrMut.i32 if cond { unsafe { - // NOTE: This write is undefined behavior because `x` is a null pointer. + // NOTE: This write is undefined behavior because `ptr_written` is a null pointer. *ptr_written = a; let _y = *ptr_written; // $ type=_y:i32 } @@ -40,11 +40,11 @@ fn raw_mut_write(cond: bool) { } fn raw_type_from_deref(cond: bool) { - // The type of `x` must be inferred from the read below. + // The type of `ptr_read` must be inferred from the read below. let ptr_read = null_mut(); // $ target=null_mut type=ptr_read:TPtrMut.i64 if cond { unsafe { - // NOTE: This read is undefined behavior because `x` is a null pointer. + // NOTE: This read is undefined behavior because `ptr_read` is a null pointer. let _y: i64 = *ptr_read; } } From 27ddc813af3b1546c32344927a8e431b01409dd1 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Thu, 4 Dec 2025 16:22:54 +0100 Subject: [PATCH 9/9] Rust: Cleanup of raw pointer types based in PR feedback --- .../rust/frameworks/stdlib/Builtins.qll | 8 +- rust/ql/lib/codeql/rust/internal/Type.qll | 4 +- .../codeql/rust/internal/TypeInference.qll | 22 +++-- .../type-inference/type-inference.expected | 92 +++++++++---------- 4 files changed, 66 insertions(+), 60 deletions(-) diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll b/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll index e87eb25279ad..9021e5d3643f 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/Builtins.qll @@ -177,17 +177,19 @@ class RefMutType extends BuiltinType { } /** A builtin raw pointer type `*const T` or `*mut T`. */ -abstract class PtrType extends BuiltinType { } +abstract private class PtrTypeImpl extends BuiltinType { } + +final class PtrType = PtrTypeImpl; /** The builtin raw pointer type `*const T`. */ -class PtrConstType extends PtrType { +class PtrConstType extends PtrTypeImpl { PtrConstType() { this.getName() = "PtrConst" } override string getDisplayName() { result = "*const" } } /** The builtin raw pointer type `*mut T`. */ -class PtrMutType extends PtrType { +class PtrMutType extends PtrTypeImpl { PtrMutType() { this.getName() = "PtrMut" } override string getDisplayName() { result = "*mut" } diff --git a/rust/ql/lib/codeql/rust/internal/Type.qll b/rust/ql/lib/codeql/rust/internal/Type.qll index fb639cb9acf6..b187a64dec15 100644 --- a/rust/ql/lib/codeql/rust/internal/Type.qll +++ b/rust/ql/lib/codeql/rust/internal/Type.qll @@ -339,9 +339,7 @@ class NeverType extends Type, TNeverType { override Location getLocation() { result instanceof EmptyLocation } } -abstract class PtrType extends StructType { - override Location getLocation() { result instanceof EmptyLocation } -} +abstract class PtrType extends StructType { } pragma[nomagic] TypeParamTypeParameter getPtrTypeParameter() { diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index 149bf8205108..fe4937a2ef31 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -609,12 +609,12 @@ private predicate typeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePat strictcount(Expr e | bodyReturns(n1, e)) = 1 ) or - exists(RefExpr re | - n2 = re and - n1 = re.getExpr() and - prefix1.isEmpty() and - prefix2 = TypePath::singleton(inferRefExprType(re).getPositionalTypeParameter(0)) - ) + n2 = + any(RefExpr re | + n1 = re.getExpr() and + prefix1.isEmpty() and + prefix2 = TypePath::singleton(inferRefExprType(re).getPositionalTypeParameter(0)) + ) or n1 = n2.(RefPat).getPat() and prefix1.isEmpty() and @@ -3162,6 +3162,12 @@ private Type inferIndexExprType(IndexExpr ie, TypePath path) { ) } +pragma[nomagic] +private Type getInferredDerefType(DerefExpr de, TypePath path) { result = inferType(de, path) } + +pragma[nomagic] +private PtrType getInferredDerefExprPtrType(DerefExpr de) { result = inferType(de.getExpr()) } + /** * Gets the inferred type of `n` at `path` when `n` occurs in a dereference * expression `*n` and when `n` is known to have a raw pointer type. @@ -3171,8 +3177,8 @@ private Type inferIndexExprType(IndexExpr ie, TypePath path) { private Type inferDereferencedExprPtrType(AstNode n, TypePath path) { exists(DerefExpr de, PtrType type, TypePath suffix | de.getExpr() = n and - type = inferType(de.getExpr()) and - result = inferType(de, suffix) and + type = getInferredDerefExprPtrType(de) and + result = getInferredDerefType(de, suffix) and path = TypePath::cons(type.getPositionalTypeParameter(0), suffix) ) } diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 0194b9e46435..ff3545f0c0fc 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -2256,23 +2256,23 @@ inferCertainType | main.rs:1803:13:1803:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1803:17:1803:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1806:26:1806:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1806:26:1806:30 | SelfParam | TRef | file://:0:0:0:0 | *mut | +| main.rs:1806:26:1806:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | | main.rs:1806:26:1806:30 | SelfParam | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1806:39:1808:13 | { ... } | | {EXTERNAL LOCATION} | & | | main.rs:1806:39:1808:13 | { ... } | TRef | main.rs:1805:14:1805:23 | T | | main.rs:1807:26:1807:32 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1807:29:1807:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1807:29:1807:32 | self | TRef | file://:0:0:0:0 | *mut | +| main.rs:1807:29:1807:32 | self | TRef | {EXTERNAL LOCATION} | *mut | | main.rs:1807:29:1807:32 | self | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1810:31:1812:13 | { ... } | | main.rs:1805:14:1805:23 | T | -| main.rs:1816:13:1816:13 | p | | file://:0:0:0:0 | *mut | +| main.rs:1816:13:1816:13 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1816:13:1816:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1816:27:1816:32 | &mut v | | {EXTERNAL LOCATION} | & | -| main.rs:1817:26:1817:26 | p | | file://:0:0:0:0 | *mut | +| main.rs:1817:26:1817:26 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1817:26:1817:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1818:26:1818:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1818:46:1818:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1818:47:1818:47 | p | | file://:0:0:0:0 | *mut | +| main.rs:1818:47:1818:47 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1818:47:1818:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1819:13:1819:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1819:17:1819:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | @@ -4422,52 +4422,52 @@ inferCertainType | pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:3:28:3:28 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:3:28:3:28 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:3:50:6:1 | { ... } | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:4:24:4:24 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:4:24:4:24 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:8:26:8:26 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:8:26:8:26 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:8:47:11:1 | { ... } | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:9:24:9:24 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:9:24:9:24 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:15:9:15:9 | x | | file://:0:0:0:0 | *const | -| raw_pointer.rs:15:13:15:24 | &raw const a | | file://:0:0:0:0 | *const | +| raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | *const | +| raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:15:24:15:24 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:16:5:18:5 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:17:19:17:19 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:17:19:17:19 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:21:21:27:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:22:13:22:13 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:22:17:22:21 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:23:9:23:9 | x | | file://:0:0:0:0 | *mut | -| raw_pointer.rs:23:13:23:22 | &raw mut a | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:23:9:23:9 | x | | {EXTERNAL LOCATION} | *mut | +| raw_pointer.rs:23:13:23:22 | &raw mut a | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:23:22:23:22 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:24:5:26:5 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:25:19:25:19 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:25:19:25:19 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:29:18:29:21 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:29:30:40:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:30:9:30:9 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:30:13:30:17 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | *mut | -| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:32:9:32:19 | ptr_written | | {EXTERNAL LOCATION} | *mut | +| raw_pointer.rs:32:23:32:32 | null_mut(...) | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:33:5:39:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:33:8:33:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:34:9:38:9 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:36:14:36:24 | ptr_written | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:36:28:36:28 | a | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:37:23:37:33 | ptr_written | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:42:24:42:27 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:42:36:51:1 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | *mut | -| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:44:9:44:16 | ptr_read | | {EXTERNAL LOCATION} | *mut | +| raw_pointer.rs:44:20:44:29 | null_mut(...) | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:45:5:50:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:45:8:45:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:46:9:49:9 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:48:17:48:18 | _y | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:48:28:48:35 | ptr_read | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:53:15:60:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:54:5:54:32 | raw_pointer_const_deref(...) | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:54:29:54:31 | &10 | | {EXTERNAL LOCATION} | & | @@ -8560,7 +8560,7 @@ inferType | main.rs:1803:13:1803:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1803:17:1803:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1806:26:1806:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1806:26:1806:30 | SelfParam | TRef | file://:0:0:0:0 | *mut | +| main.rs:1806:26:1806:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | | main.rs:1806:26:1806:30 | SelfParam | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1806:39:1808:13 | { ... } | | {EXTERNAL LOCATION} | & | | main.rs:1806:39:1808:13 | { ... } | TRef | main.rs:1805:14:1805:23 | T | @@ -8569,16 +8569,16 @@ inferType | main.rs:1807:26:1807:32 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1807:26:1807:32 | &... | TRef | main.rs:1805:14:1805:23 | T | | main.rs:1807:27:1807:32 | * ... | | main.rs:1805:14:1805:23 | T | -| main.rs:1807:28:1807:32 | * ... | | file://:0:0:0:0 | *mut | +| main.rs:1807:28:1807:32 | * ... | | {EXTERNAL LOCATION} | *mut | | main.rs:1807:28:1807:32 | * ... | TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1807:29:1807:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1807:29:1807:32 | self | TRef | file://:0:0:0:0 | *mut | +| main.rs:1807:29:1807:32 | self | TRef | {EXTERNAL LOCATION} | *mut | | main.rs:1807:29:1807:32 | self | TRef.TPtrMut | main.rs:1805:14:1805:23 | T | | main.rs:1810:31:1812:13 | { ... } | | main.rs:1805:14:1805:23 | T | | main.rs:1811:17:1811:28 | ...::default(...) | | main.rs:1805:14:1805:23 | T | | main.rs:1815:17:1815:17 | v | | {EXTERNAL LOCATION} | i32 | | main.rs:1815:21:1815:22 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1816:13:1816:13 | p | | file://:0:0:0:0 | *mut | +| main.rs:1816:13:1816:13 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1816:13:1816:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1816:27:1816:32 | &mut v | | {EXTERNAL LOCATION} | & | | main.rs:1816:27:1816:32 | &mut v | TRef | {EXTERNAL LOCATION} | i32 | @@ -8587,7 +8587,7 @@ inferType | main.rs:1817:13:1817:13 | x | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:1817:17:1817:40 | { ... } | | {EXTERNAL LOCATION} | & | | main.rs:1817:17:1817:40 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1817:26:1817:26 | p | | file://:0:0:0:0 | *mut | +| main.rs:1817:26:1817:26 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1817:26:1817:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1817:26:1817:38 | p.my_method() | | {EXTERNAL LOCATION} | & | | main.rs:1817:26:1817:38 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | @@ -8598,9 +8598,9 @@ inferType | main.rs:1818:26:1818:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1818:26:1818:48 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:1818:46:1818:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1818:46:1818:47 | &p | TRef | file://:0:0:0:0 | *mut | +| main.rs:1818:46:1818:47 | &p | TRef | {EXTERNAL LOCATION} | *mut | | main.rs:1818:46:1818:47 | &p | TRef.TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1818:47:1818:47 | p | | file://:0:0:0:0 | *mut | +| main.rs:1818:47:1818:47 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1818:47:1818:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1819:13:1819:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1819:17:1819:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | @@ -12815,58 +12815,58 @@ inferType | pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:3:28:3:28 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:3:28:3:28 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:3:28:3:28 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:3:50:6:1 | { ... } | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:4:9:4:10 | _y | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:4:14:4:26 | { ... } | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:4:23:4:24 | * ... | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:4:24:4:24 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:4:24:4:24 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:4:24:4:24 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:5:5:5:5 | 0 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:8:26:8:26 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:8:26:8:26 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:8:26:8:26 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:8:47:11:1 | { ... } | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:9:9:9:10 | _y | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:9:14:9:26 | { ... } | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:9:23:9:24 | * ... | | {EXTERNAL LOCATION} | bool | -| raw_pointer.rs:9:24:9:24 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:9:24:9:24 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:9:24:9:24 | x | TPtrMut | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:10:5:10:5 | 0 | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:15:9:15:9 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:15:9:15:9 | x | TPtrConst | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:15:13:15:24 | &raw const a | | file://:0:0:0:0 | *const | +| raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:15:13:15:24 | &raw const a | TPtrConst | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:15:24:15:24 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:16:5:18:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:17:13:17:14 | _y | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:17:18:17:19 | * ... | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:17:19:17:19 | x | | file://:0:0:0:0 | *const | +| raw_pointer.rs:17:19:17:19 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:17:19:17:19 | x | TPtrConst | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:21:21:27:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:22:13:22:13 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:22:17:22:21 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:23:9:23:9 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:23:9:23:9 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:23:9:23:9 | x | TPtrMut | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:23:13:23:22 | &raw mut a | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:23:13:23:22 | &raw mut a | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:23:13:23:22 | &raw mut a | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:23:22:23:22 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:24:5:26:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:25:13:25:14 | _y | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:25:18:25:19 | * ... | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:25:19:25:19 | x | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:25:19:25:19 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:25:19:25:19 | x | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:29:18:29:21 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:29:30:40:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:30:9:30:9 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:30:13:30:17 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:32:9:32:19 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:32:9:32:19 | ptr_written | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:32:9:32:19 | ptr_written | TPtrMut | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:32:23:32:32 | null_mut(...) | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:32:23:32:32 | null_mut(...) | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:32:23:32:32 | null_mut(...) | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:33:5:39:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:33:8:33:11 | cond | | {EXTERNAL LOCATION} | bool | @@ -12874,18 +12874,18 @@ inferType | raw_pointer.rs:34:9:38:9 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:36:13:36:24 | * ... | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:36:13:36:28 | ... = ... | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:36:14:36:24 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:36:14:36:24 | ptr_written | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:36:14:36:24 | ptr_written | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:36:28:36:28 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:37:17:37:18 | _y | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:37:22:37:33 | * ... | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:37:23:37:33 | ptr_written | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:37:23:37:33 | ptr_written | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:37:23:37:33 | ptr_written | TPtrMut | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:42:24:42:27 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:42:36:51:1 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:44:9:44:16 | ptr_read | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:44:9:44:16 | ptr_read | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:44:9:44:16 | ptr_read | TPtrMut | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:44:20:44:29 | null_mut(...) | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:44:20:44:29 | null_mut(...) | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:44:20:44:29 | null_mut(...) | TPtrMut | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:45:5:50:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:45:8:45:11 | cond | | {EXTERNAL LOCATION} | bool | @@ -12893,7 +12893,7 @@ inferType | raw_pointer.rs:46:9:49:9 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:48:17:48:18 | _y | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:48:27:48:35 | * ... | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:48:28:48:35 | ptr_read | | file://:0:0:0:0 | *mut | +| raw_pointer.rs:48:28:48:35 | ptr_read | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:48:28:48:35 | ptr_read | TPtrMut | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:53:15:60:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:54:5:54:32 | raw_pointer_const_deref(...) | | {EXTERNAL LOCATION} | i32 |