From c62d95ac9d028c2042c0d04e4162b60ec6b054a7 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Fri, 30 Jan 2026 14:54:03 +0100 Subject: [PATCH] Rust: More type inference tests --- .../PathResolutionConsistency.expected | 5 + .../type-inference/overloading.rs | 185 ++- .../type-inference/type-inference.expected | 1072 ++++++++++------- 3 files changed, 852 insertions(+), 410 deletions(-) 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 1140950774c..2ee1f7c16a6 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -1,2 +1,7 @@ multipleResolvedTargets | main.rs:2723:13:2723:17 | x.f() | +| overloading.rs:269:22:269:30 | x.g(...) | +| overloading.rs:315:9:315:25 | ...::Assoc(...) | +| overloading.rs:316:9:316:26 | ...::Assoc(...) | +| overloading.rs:319:9:319:26 | ...::f(...) | +| overloading.rs:320:9:320:22 | ...::f(...) | diff --git a/rust/ql/test/library-tests/type-inference/overloading.rs b/rust/ql/test/library-tests/type-inference/overloading.rs index 09571861ecb..db2046b1314 100644 --- a/rust/ql/test/library-tests/type-inference/overloading.rs +++ b/rust/ql/test/library-tests/type-inference/overloading.rs @@ -4,25 +4,69 @@ mod method_call_trait_path_disambig { fn method(&self) -> bool { true } + + fn method2(&self) -> bool; + + fn function() -> bool; } trait SecondTrait { // SecondTrait::method fn method(&self) -> i64 { 1 } + + fn method2(&self) -> i64; } + #[derive(Default)] struct S; - impl FirstTrait for S {} - impl SecondTrait for S {} + impl FirstTrait for S { + // S::method2 + fn method2(&self) -> bool { + true + } + + // S::function + fn function() -> bool { + true + } + } + impl SecondTrait for S { + // S::method2 + fn method2(&self) -> i64 { + 1 + } + } + + struct S2; + impl FirstTrait for S2 { + // S2::method2 + fn method2(&self) -> bool { + false + } + + // S2::function + fn function() -> bool { + false + } + } fn _test() { let s = S; let _b1 = FirstTrait::method(&s); // $ type=_b1:bool target=FirstTrait::method let _b2 = ::method(&s); // $ type=_b2:bool target=FirstTrait::method + let _b3 = ::method(&Default::default()); // $ type=_b3:bool $ MISSING: target=FirstTrait::method target=default + let _b4 = ::method2(&s); // $ type=_b4:bool target=S::method2 + let _b5 = ::method2(&Default::default()); // $ type=_b5:bool $ MISSING: target=S::method2 target=default let _n1 = SecondTrait::method(&s); // $ type=_n1:i64 target=SecondTrait::method let _n2 = ::method(&s); // $ type=_n2:i64 target=SecondTrait::method + let _n3 = ::method(&Default::default()); // $ type=_n3:i64 $ MISSING: target=SecondTrait::method target=default + let _n4 = ::method2(&s); // $ type=_n4:i64 target=S::method2 + let _n5 = ::method2(&Default::default()); // $ type=_n5:i64 $ MISSING: target=S::method2 target=default + + ::function(); // $ MISSING: target=S::function + ::function(); // $ MISSING: target=S2::function } } @@ -178,3 +222,140 @@ pub mod impl_overlap { S5::m(&S5(true)); // $ target=MyTrait1::m } } + +mod impl_overlap2 { + trait Trait1 { + fn f(self, x: T1) -> T1; + } + + impl Trait1 for i32 { + // f1 + fn f(self, x: i32) -> i32 { + 0 + } + } + + impl Trait1 for i32 { + // f2 + fn f(self, x: i64) -> i64 { + 0 + } + } + + trait Trait2 { + fn g(self, x: T1) -> T2; + } + + impl Trait2 for i32 { + // g3 + fn g(self, x: i32) -> i32 { + 0 + } + } + + impl Trait2 for i32 { + // g4 + fn g(self, x: i32) -> i64 { + 0 + } + } + + fn f() { + let x = 0; + let y = x.f(0i32); // $ target=f1 + let z: i32 = x.f(Default::default()); // $ MISSING: target=f1 target=default + let z = x.f(0i64); // $ target=f2 + let z: i64 = x.f(Default::default()); // $ MISSING: target=f2 target=default + let z: i64 = x.g(0i32); // $ target=g4 $ SPURIOUS: target=g3 + } +} + +mod impl_overlap3 { + trait Trait { + type Assoc; + + fn Assoc() -> Self::Assoc; + } + + struct S(T); + + impl Trait for S { + type Assoc = i32; + + // S3i32AssocFunc + fn Assoc() -> Self::Assoc { + 0 + } + } + + impl Trait for S { + type Assoc = bool; + + // S3boolAssocFunc + fn Assoc() -> Self::Assoc { + true + } + } + + impl S { + // S3i32f + fn f(x: i32) -> i32 { + 0 + } + } + + impl S { + // S3boolf + fn f(x: bool) -> bool { + true + } + } + + fn f() { + S::::Assoc(); // $ target=S3i32AssocFunc $ SPURIOUS: target=S3boolAssocFunc + S::::Assoc(); // $ target=S3boolAssocFunc $ SPURIOUS: target=S3i32AssocFunc + + // `S::f(true)` results in "multiple applicable items in scope", even though the argument is actually enough to disambiguate + S::::f(true); // $ target=S3boolf $ SPURIOUS: target=S3i32f + S::::f(0); // $ target=S3i32f $ SPURIOUS: target=S3boolf + } +} + +mod default_type_args { + struct S(T); + + trait MyTrait { + type AssocType; + + fn g(self) -> Self::AssocType; + } + + impl S { + fn f(self) -> i64 { + self.0 // $ fieldof=S + } + + fn g(self) -> i64 { + self.0 // $ fieldof=S + } + } + + impl S { + fn g(self) -> bool { + self.0 // $ fieldof=S + } + } + + impl MyTrait for S { + type AssocType = S; + + fn g(self) -> S { + let x = S::f(S(Default::default())); // $ type=x:i64 $ MISSING: target=f target=default + let x = Self::AssocType::f(S(Default::default())); // $ target=f target=default type=x:i64 + let x = S::::g(S(Default::default())); // $ target=g target=default type=x:bool + let x = S::::g(S(Default::default())); // $ target=g target=default type=x:i64 + let x = Self::AssocType::g(S(Default::default())); // $ target=g target=default type=x:i64 + S(0) + } + } +} 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 f1ad65a3aae..8a998f5d211 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -3718,157 +3718,253 @@ inferCertainType | main.rs:2777:16:2777:19 | true | | {EXTERNAL LOCATION} | bool | | main.rs:2778:5:2778:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:4:19:4:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:4:19:4:23 | SelfParam | TRef | overloading.rs:2:5:7:5 | Self [trait FirstTrait] | +| overloading.rs:4:19:4:23 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | | overloading.rs:4:34:6:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:5:13:5:16 | true | | {EXTERNAL LOCATION} | bool | -| overloading.rs:10:19:10:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:10:19:10:23 | SelfParam | TRef | overloading.rs:8:5:13:5 | Self [trait SecondTrait] | -| overloading.rs:10:33:12:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:18:16:26:5 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:21:13:21:15 | _b1 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:21:19:21:40 | ...::method(...) | | {EXTERNAL LOCATION} | bool | -| overloading.rs:21:38:21:39 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:22:13:22:15 | _b2 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:22:19:22:47 | ...::method(...) | | {EXTERNAL LOCATION} | bool | -| overloading.rs:22:45:22:46 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:24:13:24:15 | _n1 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:24:19:24:41 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:24:39:24:40 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:25:13:25:15 | _n2 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:25:19:25:48 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:25:46:25:47 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:34:26:34:29 | SelfParam | | overloading.rs:33:5:37:5 | Self [trait OverlappingTrait] | -| overloading.rs:36:28:36:31 | SelfParam | | overloading.rs:33:5:37:5 | Self [trait OverlappingTrait] | -| overloading.rs:36:34:36:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:41:26:41:29 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:41:38:43:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:46:28:46:31 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:46:34:46:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:46:48:48:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:53:26:53:29 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:53:38:55:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:54:13:54:16 | self | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:58:28:58:31 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:58:40:60:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:59:13:59:16 | self | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:67:26:67:29 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:67:26:67:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:67:38:69:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:72:28:72:31 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:72:28:72:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:72:40:74:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:79:26:79:29 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:79:26:79:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:79:38:81:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:84:28:84:31 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:84:28:84:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:84:34:84:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:84:48:86:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:91:26:91:29 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:91:26:91:29 | SelfParam | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:91:38:93:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:96:28:96:31 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:96:28:96:31 | SelfParam | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:96:34:96:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:96:48:98:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:105:14:105:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:105:14:105:18 | SelfParam | TRef | overloading.rs:104:5:106:5 | Self [trait OverlappingTrait2] | -| overloading.rs:105:21:105:21 | x | | {EXTERNAL LOCATION} | & | -| overloading.rs:105:21:105:21 | x | TRef | overloading.rs:104:29:104:29 | T | -| overloading.rs:110:14:110:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:110:14:110:18 | SelfParam | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:110:14:110:18 | SelfParam | TRef.T3 | overloading.rs:108:10:108:10 | T | -| overloading.rs:110:21:110:21 | x | | {EXTERNAL LOCATION} | & | -| overloading.rs:110:21:110:21 | x | TRef | overloading.rs:108:10:108:10 | T | -| overloading.rs:110:37:112:9 | { ... } | | {EXTERNAL LOCATION} | & | -| overloading.rs:110:37:112:9 | { ... } | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:110:37:112:9 | { ... } | TRef.T3 | overloading.rs:108:10:108:10 | T | -| overloading.rs:111:13:111:16 | self | | {EXTERNAL LOCATION} | & | -| overloading.rs:111:13:111:16 | self | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:111:13:111:16 | self | TRef.T3 | overloading.rs:108:10:108:10 | T | -| overloading.rs:117:14:117:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:117:14:117:18 | SelfParam | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:117:14:117:18 | SelfParam | TRef.T3 | overloading.rs:115:10:115:10 | T | -| overloading.rs:117:21:117:21 | x | | overloading.rs:115:10:115:10 | T | -| overloading.rs:117:36:119:9 | { ... } | | {EXTERNAL LOCATION} | & | -| overloading.rs:117:36:119:9 | { ... } | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:117:36:119:9 | { ... } | TRef.T3 | overloading.rs:115:10:115:10 | T | -| overloading.rs:118:13:118:16 | self | | {EXTERNAL LOCATION} | & | -| overloading.rs:118:13:118:16 | self | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:118:13:118:16 | self | TRef.T3 | overloading.rs:115:10:115:10 | T | -| overloading.rs:124:14:124:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:124:14:124:18 | SelfParam | TRef | overloading.rs:122:5:125:5 | Self [trait MyTrait1] | -| overloading.rs:124:21:124:22 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:134:14:134:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:134:14:134:18 | SelfParam | TRef | overloading.rs:129:5:130:14 | S4 | -| overloading.rs:134:21:134:22 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:144:14:144:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:144:14:144:18 | SelfParam | TRef | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:144:14:144:18 | SelfParam | TRef.T5 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:144:21:144:22 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:153:16:179:5 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:155:18:155:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:155:18:155:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:155:18:155:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:155:18:155:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:156:18:156:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:156:18:156:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:156:18:156:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:156:18:156:45 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:156:26:156:45 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:157:18:157:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:157:18:157:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:157:18:157:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:157:18:157:44 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:158:18:158:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:158:18:158:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:158:18:158:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:158:18:158:47 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:158:26:158:47 | ...::common_method_2(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:161:18:161:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:161:18:161:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:161:18:161:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:161:18:161:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:162:18:162:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:162:18:162:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:162:18:162:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:162:18:162:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:162:26:162:56 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:165:18:165:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:165:18:165:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:165:18:165:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:165:18:165:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:166:18:166:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:166:18:166:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:166:18:166:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:166:18:166:49 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:166:26:166:49 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:167:18:167:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:167:18:167:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:167:18:167:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:167:18:167:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:167:26:167:56 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:170:18:170:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:170:18:170:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:170:18:170:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:170:18:170:31 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:171:18:171:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:171:18:171:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:171:18:171:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:171:18:171:37 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:171:26:171:37 | ...::m(...) | | {EXTERNAL LOCATION} | & | -| overloading.rs:171:26:171:37 | ...::m(...) | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:171:32:171:33 | &w | | {EXTERNAL LOCATION} | & | -| overloading.rs:174:9:174:18 | ...::m(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:174:15:174:17 | &S4 | | {EXTERNAL LOCATION} | & | -| overloading.rs:175:12:175:15 | 0i32 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:176:9:176:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:176:15:176:23 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:176:19:176:22 | 0i32 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:177:12:177:15 | true | | {EXTERNAL LOCATION} | bool | -| overloading.rs:178:9:178:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:178:15:178:23 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:178:19:178:22 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:8:20:8:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:8:20:8:24 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | +| overloading.rs:14:19:14:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:14:19:14:23 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | +| overloading.rs:14:33:16:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:18:20:18:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:18:20:18:24 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | +| overloading.rs:24:20:24:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:24:20:24:24 | SelfParam | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:24:35:26:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:25:13:25:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:29:31:31:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:30:13:30:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:35:20:35:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:35:20:35:24 | SelfParam | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:35:34:37:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:43:20:43:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:43:20:43:24 | SelfParam | TRef | overloading.rs:40:5:40:14 | S2 | +| overloading.rs:43:35:45:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:44:13:44:17 | false | | {EXTERNAL LOCATION} | bool | +| overloading.rs:48:31:50:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:49:13:49:17 | false | | {EXTERNAL LOCATION} | bool | +| overloading.rs:53:16:70:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:56:13:56:15 | _b1 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:56:19:56:40 | ...::method(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:56:38:56:39 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:57:13:57:15 | _b2 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:57:19:57:47 | ...::method(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:57:45:57:46 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:58:13:58:15 | _b3 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:58:19:58:64 | ...::method(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:58:45:58:63 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:59:13:59:15 | _b4 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:59:19:59:48 | ...::method2(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:59:46:59:47 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:60:13:60:15 | _b5 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:60:19:60:65 | ...::method2(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:60:46:60:64 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:62:13:62:15 | _n1 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:62:19:62:41 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:62:39:62:40 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:63:13:63:15 | _n2 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:63:19:63:48 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:63:46:63:47 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:64:13:64:15 | _n3 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:64:19:64:65 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:64:46:64:64 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:65:13:65:15 | _n4 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:65:19:65:49 | ...::method2(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:65:47:65:48 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:66:13:66:15 | _n5 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:66:19:66:66 | ...::method2(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:66:47:66:65 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:68:9:68:37 | ...::function(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:69:9:69:38 | ...::function(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:78:26:78:29 | SelfParam | | overloading.rs:77:5:81:5 | Self [trait OverlappingTrait] | +| overloading.rs:80:28:80:31 | SelfParam | | overloading.rs:77:5:81:5 | Self [trait OverlappingTrait] | +| overloading.rs:80:34:80:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:85:26:85:29 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:85:38:87:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:90:28:90:31 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:90:34:90:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:90:48:92:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:97:26:97:29 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:97:38:99:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:98:13:98:16 | self | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:102:28:102:31 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:102:40:104:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:103:13:103:16 | self | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:111:26:111:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:111:26:111:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:111:38:113:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:116:28:116:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:116:28:116:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:116:40:118:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:123:26:123:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:123:26:123:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:123:38:125:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:128:28:128:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:128:28:128:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:128:34:128:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:128:48:130:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:135:26:135:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:135:26:135:29 | SelfParam | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:135:38:137:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:140:28:140:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:140:28:140:31 | SelfParam | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:140:34:140:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:140:48:142:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:149:14:149:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:149:14:149:18 | SelfParam | TRef | overloading.rs:148:5:150:5 | Self [trait OverlappingTrait2] | +| overloading.rs:149:21:149:21 | x | | {EXTERNAL LOCATION} | & | +| overloading.rs:149:21:149:21 | x | TRef | overloading.rs:148:29:148:29 | T | +| overloading.rs:154:14:154:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:154:14:154:18 | SelfParam | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:154:14:154:18 | SelfParam | TRef.T3 | overloading.rs:152:10:152:10 | T | +| overloading.rs:154:21:154:21 | x | | {EXTERNAL LOCATION} | & | +| overloading.rs:154:21:154:21 | x | TRef | overloading.rs:152:10:152:10 | T | +| overloading.rs:154:37:156:9 | { ... } | | {EXTERNAL LOCATION} | & | +| overloading.rs:154:37:156:9 | { ... } | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:154:37:156:9 | { ... } | TRef.T3 | overloading.rs:152:10:152:10 | T | +| overloading.rs:155:13:155:16 | self | | {EXTERNAL LOCATION} | & | +| overloading.rs:155:13:155:16 | self | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:155:13:155:16 | self | TRef.T3 | overloading.rs:152:10:152:10 | T | +| overloading.rs:161:14:161:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:161:14:161:18 | SelfParam | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:161:14:161:18 | SelfParam | TRef.T3 | overloading.rs:159:10:159:10 | T | +| overloading.rs:161:21:161:21 | x | | overloading.rs:159:10:159:10 | T | +| overloading.rs:161:36:163:9 | { ... } | | {EXTERNAL LOCATION} | & | +| overloading.rs:161:36:163:9 | { ... } | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:161:36:163:9 | { ... } | TRef.T3 | overloading.rs:159:10:159:10 | T | +| overloading.rs:162:13:162:16 | self | | {EXTERNAL LOCATION} | & | +| overloading.rs:162:13:162:16 | self | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:162:13:162:16 | self | TRef.T3 | overloading.rs:159:10:159:10 | T | +| overloading.rs:168:14:168:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:168:14:168:18 | SelfParam | TRef | overloading.rs:166:5:169:5 | Self [trait MyTrait1] | +| overloading.rs:168:21:168:22 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:178:14:178:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:178:14:178:18 | SelfParam | TRef | overloading.rs:173:5:174:14 | S4 | +| overloading.rs:178:21:178:22 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:188:14:188:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:188:14:188:18 | SelfParam | TRef | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:188:14:188:18 | SelfParam | TRef.T5 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:188:21:188:22 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:197:16:223:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:199:18:199:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:199:18:199:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:199:18:199:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:199:18:199:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:200:18:200:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:200:18:200:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:200:18:200:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:200:18:200:45 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:200:26:200:45 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:201:18:201:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:201:18:201:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:201:18:201:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:201:18:201:44 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:202:18:202:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:202:18:202:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:202:18:202:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:202:18:202:47 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:202:26:202:47 | ...::common_method_2(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:205:18:205:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:205:18:205:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:205:18:205:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:205:18:205:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:206:18:206:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:206:18:206:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:206:18:206:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:206:18:206:56 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:206:26:206:56 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:209:18:209:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:209:18:209:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:209:18:209:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:209:18:209:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:210:18:210:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:210:18:210:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:210:18:210:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:210:18:210:49 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:210:26:210:49 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:211:18:211:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:211:18:211:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:211:18:211:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:211:18:211:56 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:211:26:211:56 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:214:18:214:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:214:18:214:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:214:18:214:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:214:18:214:31 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:215:18:215:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:215:18:215:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:215:18:215:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:215:18:215:37 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:215:26:215:37 | ...::m(...) | | {EXTERNAL LOCATION} | & | +| overloading.rs:215:26:215:37 | ...::m(...) | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:215:32:215:33 | &w | | {EXTERNAL LOCATION} | & | +| overloading.rs:218:9:218:18 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:218:15:218:17 | &S4 | | {EXTERNAL LOCATION} | & | +| overloading.rs:219:12:219:15 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:220:9:220:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:220:15:220:23 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:220:19:220:22 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:221:12:221:15 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:222:9:222:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:222:15:222:23 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:222:19:222:22 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:228:14:228:17 | SelfParam | | overloading.rs:227:5:229:5 | Self [trait Trait1] | +| overloading.rs:228:20:228:20 | x | | overloading.rs:227:18:227:19 | T1 | +| overloading.rs:233:14:233:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:233:20:233:20 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:233:35:235:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:240:14:240:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:240:20:240:20 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:240:35:242:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:246:14:246:17 | SelfParam | | overloading.rs:245:5:247:5 | Self [trait Trait2] | +| overloading.rs:246:20:246:20 | x | | overloading.rs:245:18:245:19 | T1 | +| overloading.rs:251:14:251:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:251:20:251:20 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:251:35:253:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:258:14:258:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:258:20:258:20 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:258:35:260:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:263:12:270:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:265:21:265:24 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:266:13:266:13 | z | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:267:21:267:24 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:268:13:268:13 | z | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:269:13:269:13 | z | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:269:26:269:29 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:286:35:288:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:295:35:297:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:296:13:296:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:302:14:302:14 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:302:29:304:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:309:14:309:14 | x | | {EXTERNAL LOCATION} | bool | +| overloading.rs:309:31:311:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:310:13:310:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:314:12:321:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:319:22:319:25 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:330:14:330:17 | SelfParam | | overloading.rs:327:5:331:5 | Self [trait MyTrait] | +| overloading.rs:334:14:334:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:334:14:334:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:334:27:336:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:335:13:335:16 | self | | overloading.rs:325:5:325:25 | S | +| overloading.rs:335:13:335:16 | self | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:338:14:338:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:338:14:338:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:338:27:340:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:339:13:339:16 | self | | overloading.rs:325:5:325:25 | S | +| overloading.rs:339:13:339:16 | self | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:344:14:344:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:344:14:344:17 | SelfParam | T | {EXTERNAL LOCATION} | bool | +| overloading.rs:344:28:346:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:345:13:345:16 | self | | overloading.rs:325:5:325:25 | S | +| overloading.rs:345:13:345:16 | self | T | {EXTERNAL LOCATION} | bool | +| overloading.rs:352:14:352:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:352:14:352:17 | SelfParam | T | overloading.rs:349:10:349:10 | T | +| overloading.rs:352:25:359:9 | { ... } | | overloading.rs:325:5:325:25 | S | +| overloading.rs:352:25:359:9 | { ... } | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:353:17:353:17 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:353:21:353:47 | ...::f(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:354:17:354:17 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:354:21:354:61 | ...::f(...) | | {EXTERNAL LOCATION} | i64 | | 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} | () | @@ -11938,267 +12034,427 @@ inferType | main.rs:2777:16:2777:19 | true | | {EXTERNAL LOCATION} | bool | | main.rs:2778:5:2778:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:4:19:4:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:4:19:4:23 | SelfParam | TRef | overloading.rs:2:5:7:5 | Self [trait FirstTrait] | +| overloading.rs:4:19:4:23 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | | overloading.rs:4:34:6:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:5:13:5:16 | true | | {EXTERNAL LOCATION} | bool | -| overloading.rs:10:19:10:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:10:19:10:23 | SelfParam | TRef | overloading.rs:8:5:13:5 | Self [trait SecondTrait] | -| overloading.rs:10:33:12:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:11:13:11:13 | 1 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:11:13:11:13 | 1 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:18:16:26:5 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:19:13:19:13 | s | | overloading.rs:14:5:14:13 | S | -| overloading.rs:19:17:19:17 | S | | overloading.rs:14:5:14:13 | S | -| overloading.rs:21:13:21:15 | _b1 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:21:19:21:40 | ...::method(...) | | {EXTERNAL LOCATION} | bool | -| overloading.rs:21:38:21:39 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:21:38:21:39 | &s | TRef | overloading.rs:14:5:14:13 | S | -| overloading.rs:21:39:21:39 | s | | overloading.rs:14:5:14:13 | S | -| overloading.rs:22:13:22:15 | _b2 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:22:19:22:47 | ...::method(...) | | {EXTERNAL LOCATION} | bool | -| overloading.rs:22:45:22:46 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:22:45:22:46 | &s | TRef | overloading.rs:14:5:14:13 | S | -| overloading.rs:22:46:22:46 | s | | overloading.rs:14:5:14:13 | S | -| overloading.rs:24:13:24:15 | _n1 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:24:19:24:41 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:24:39:24:40 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:24:39:24:40 | &s | TRef | overloading.rs:14:5:14:13 | S | -| overloading.rs:24:40:24:40 | s | | overloading.rs:14:5:14:13 | S | -| overloading.rs:25:13:25:15 | _n2 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:25:19:25:48 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:25:46:25:47 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:25:46:25:47 | &s | TRef | overloading.rs:14:5:14:13 | S | -| overloading.rs:25:47:25:47 | s | | overloading.rs:14:5:14:13 | S | -| overloading.rs:34:26:34:29 | SelfParam | | overloading.rs:33:5:37:5 | Self [trait OverlappingTrait] | -| overloading.rs:36:28:36:31 | SelfParam | | overloading.rs:33:5:37:5 | Self [trait OverlappingTrait] | -| overloading.rs:36:34:36:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:41:26:41:29 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:41:38:43:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:42:13:42:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:46:28:46:31 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:46:34:46:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:46:48:48:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:47:13:47:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:53:26:53:29 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:53:38:55:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:54:13:54:16 | self | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:58:28:58:31 | SelfParam | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:58:40:60:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:59:13:59:16 | self | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:67:26:67:29 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:67:26:67:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:67:38:69:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:68:13:68:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:72:28:72:31 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:72:28:72:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:72:40:74:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:73:13:73:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:79:26:79:29 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:79:26:79:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:79:38:81:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:80:13:80:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:84:28:84:31 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:84:28:84:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:84:34:84:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:84:48:86:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:85:13:85:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:91:26:91:29 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:91:26:91:29 | SelfParam | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:91:38:93:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:92:13:92:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:96:28:96:31 | SelfParam | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:96:28:96:31 | SelfParam | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:96:34:96:35 | s1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:96:48:98:9 | { ... } | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:97:13:97:14 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:105:14:105:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:105:14:105:18 | SelfParam | TRef | overloading.rs:104:5:106:5 | Self [trait OverlappingTrait2] | -| overloading.rs:105:21:105:21 | x | | {EXTERNAL LOCATION} | & | -| overloading.rs:105:21:105:21 | x | TRef | overloading.rs:104:29:104:29 | T | -| overloading.rs:110:14:110:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:110:14:110:18 | SelfParam | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:110:14:110:18 | SelfParam | TRef.T3 | overloading.rs:108:10:108:10 | T | -| overloading.rs:110:21:110:21 | x | | {EXTERNAL LOCATION} | & | -| overloading.rs:110:21:110:21 | x | TRef | overloading.rs:108:10:108:10 | T | -| overloading.rs:110:37:112:9 | { ... } | | {EXTERNAL LOCATION} | & | -| overloading.rs:110:37:112:9 | { ... } | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:110:37:112:9 | { ... } | TRef.T3 | overloading.rs:108:10:108:10 | T | -| overloading.rs:111:13:111:16 | self | | {EXTERNAL LOCATION} | & | -| overloading.rs:111:13:111:16 | self | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:111:13:111:16 | self | TRef.T3 | overloading.rs:108:10:108:10 | T | -| overloading.rs:117:14:117:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:117:14:117:18 | SelfParam | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:117:14:117:18 | SelfParam | TRef.T3 | overloading.rs:115:10:115:10 | T | -| overloading.rs:117:21:117:21 | x | | overloading.rs:115:10:115:10 | T | -| overloading.rs:117:36:119:9 | { ... } | | {EXTERNAL LOCATION} | & | -| overloading.rs:117:36:119:9 | { ... } | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:117:36:119:9 | { ... } | TRef.T3 | overloading.rs:115:10:115:10 | T | -| overloading.rs:118:13:118:16 | self | | {EXTERNAL LOCATION} | & | -| overloading.rs:118:13:118:16 | self | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:118:13:118:16 | self | TRef.T3 | overloading.rs:115:10:115:10 | T | -| overloading.rs:124:14:124:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:124:14:124:18 | SelfParam | TRef | overloading.rs:122:5:125:5 | Self [trait MyTrait1] | -| overloading.rs:124:21:124:22 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:134:14:134:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:134:14:134:18 | SelfParam | TRef | overloading.rs:129:5:130:14 | S4 | -| overloading.rs:134:21:134:22 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:144:14:144:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| overloading.rs:144:14:144:18 | SelfParam | TRef | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:144:14:144:18 | SelfParam | TRef.T5 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:144:21:144:22 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:153:16:179:5 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:154:13:154:13 | x | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:154:17:154:18 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:155:9:155:43 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:155:18:155:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:155:18:155:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:155:18:155:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:155:18:155:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:155:18:155:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:155:26:155:26 | x | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:155:26:155:42 | x.common_method() | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:156:9:156:46 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:156:18:156:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:156:18:156:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:156:18:156:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:156:18:156:45 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:156:18:156:45 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:156:26:156:45 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:156:44:156:44 | x | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:157:9:157:45 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:157:18:157:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:157:18:157:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:157:18:157:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:157:18:157:44 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:157:18:157:44 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:157:26:157:26 | x | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:157:26:157:44 | x.common_method_2() | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:158:9:158:48 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:158:18:158:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:158:18:158:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:158:18:158:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:158:18:158:47 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:158:18:158:47 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:158:26:158:47 | ...::common_method_2(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:158:46:158:46 | x | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:160:13:160:13 | y | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:160:13:160:13 | y | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:160:17:160:22 | S2(...) | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:160:17:160:22 | S2(...) | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:160:20:160:21 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:161:9:161:43 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:161:18:161:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:161:18:161:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:161:18:161:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:161:18:161:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:161:18:161:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:161:26:161:26 | y | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:161:26:161:26 | y | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:161:26:161:42 | y.common_method() | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:162:9:162:57 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:162:18:162:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:162:18:162:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:162:18:162:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:162:18:162:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:162:18:162:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:162:26:162:56 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:162:50:162:55 | S2(...) | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:162:50:162:55 | S2(...) | T2 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:162:53:162:54 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:164:13:164:13 | z | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:164:13:164:13 | z | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:164:17:164:21 | S2(...) | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:164:17:164:21 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:164:20:164:20 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:165:9:165:43 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:165:18:165:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:165:18:165:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:165:18:165:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:165:18:165:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:165:18:165:42 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:165:26:165:26 | z | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:165:26:165:26 | z | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:165:26:165:42 | z.common_method() | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:166:9:166:50 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:166:18:166:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:166:18:166:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:166:18:166:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:166:18:166:49 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:166:18:166:49 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:166:26:166:49 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:166:44:166:48 | S2(...) | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:166:44:166:48 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:166:47:166:47 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:167:9:167:57 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:167:18:167:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:167:18:167:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:167:18:167:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:167:18:167:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:167:18:167:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:167:26:167:56 | ...::common_method(...) | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:167:51:167:55 | S2(...) | | overloading.rs:63:5:63:22 | S2 | -| overloading.rs:167:51:167:55 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:167:54:167:54 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:169:13:169:13 | w | | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:169:13:169:13 | w | T3 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:169:17:169:22 | S3(...) | | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:169:17:169:22 | S3(...) | T3 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:169:20:169:21 | S1 | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:170:9:170:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:170:18:170:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:170:18:170:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:170:18:170:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:170:18:170:31 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:170:18:170:31 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:170:26:170:26 | w | | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:170:26:170:26 | w | T3 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:170:26:170:31 | w.m(...) | | {EXTERNAL LOCATION} | & | -| overloading.rs:170:26:170:31 | w.m(...) | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:170:26:170:31 | w.m(...) | TRef.T3 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:170:30:170:30 | x | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:171:9:171:38 | MacroExpr | | {EXTERNAL LOCATION} | () | -| overloading.rs:171:18:171:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| overloading.rs:171:18:171:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:171:18:171:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:171:18:171:37 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:171:18:171:37 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:171:26:171:37 | ...::m(...) | | {EXTERNAL LOCATION} | & | -| overloading.rs:171:26:171:37 | ...::m(...) | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:171:26:171:37 | ...::m(...) | TRef.T3 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:171:32:171:33 | &w | | {EXTERNAL LOCATION} | & | -| overloading.rs:171:32:171:33 | &w | TRef | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:171:32:171:33 | &w | TRef.T3 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:171:33:171:33 | w | | overloading.rs:101:5:102:22 | S3 | -| overloading.rs:171:33:171:33 | w | T3 | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:171:36:171:36 | x | | overloading.rs:30:5:31:14 | S1 | -| overloading.rs:173:9:173:10 | S4 | | overloading.rs:129:5:130:14 | S4 | -| overloading.rs:173:9:173:14 | S4.m() | | {EXTERNAL LOCATION} | () | -| overloading.rs:174:9:174:18 | ...::m(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:174:15:174:17 | &S4 | | {EXTERNAL LOCATION} | & | -| overloading.rs:174:15:174:17 | &S4 | TRef | overloading.rs:129:5:130:14 | S4 | -| overloading.rs:174:16:174:17 | S4 | | overloading.rs:129:5:130:14 | S4 | -| overloading.rs:175:9:175:16 | S5(...) | | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:175:9:175:16 | S5(...) | T5 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:175:9:175:20 | ... .m() | | {EXTERNAL LOCATION} | () | -| overloading.rs:175:12:175:15 | 0i32 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:176:9:176:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:176:15:176:23 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:176:15:176:23 | &... | TRef | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:176:15:176:23 | &... | TRef.T5 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:176:16:176:23 | S5(...) | | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:176:16:176:23 | S5(...) | T5 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:176:19:176:22 | 0i32 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:177:9:177:16 | S5(...) | | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:177:9:177:16 | S5(...) | T5 | {EXTERNAL LOCATION} | bool | -| overloading.rs:177:9:177:20 | ... .m() | | {EXTERNAL LOCATION} | () | -| overloading.rs:177:12:177:15 | true | | {EXTERNAL LOCATION} | bool | -| overloading.rs:178:9:178:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | -| overloading.rs:178:15:178:23 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:178:15:178:23 | &... | TRef | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:178:15:178:23 | &... | TRef.T5 | {EXTERNAL LOCATION} | bool | -| overloading.rs:178:16:178:23 | S5(...) | | overloading.rs:139:5:140:22 | S5 | -| overloading.rs:178:16:178:23 | S5(...) | T5 | {EXTERNAL LOCATION} | bool | -| overloading.rs:178:19:178:22 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:8:20:8:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:8:20:8:24 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | +| overloading.rs:14:19:14:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:14:19:14:23 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | +| overloading.rs:14:33:16:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:15:13:15:13 | 1 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:15:13:15:13 | 1 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:18:20:18:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:18:20:18:24 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | +| overloading.rs:24:20:24:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:24:20:24:24 | SelfParam | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:24:35:26:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:25:13:25:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:29:31:31:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:30:13:30:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:35:20:35:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:35:20:35:24 | SelfParam | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:35:34:37:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:36:13:36:13 | 1 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:36:13:36:13 | 1 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:43:20:43:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:43:20:43:24 | SelfParam | TRef | overloading.rs:40:5:40:14 | S2 | +| overloading.rs:43:35:45:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:44:13:44:17 | false | | {EXTERNAL LOCATION} | bool | +| overloading.rs:48:31:50:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:49:13:49:17 | false | | {EXTERNAL LOCATION} | bool | +| overloading.rs:53:16:70:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:54:13:54:13 | s | | overloading.rs:20:5:21:13 | S | +| overloading.rs:54:17:54:17 | S | | overloading.rs:20:5:21:13 | S | +| overloading.rs:56:13:56:15 | _b1 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:56:19:56:40 | ...::method(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:56:38:56:39 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:56:38:56:39 | &s | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:56:39:56:39 | s | | overloading.rs:20:5:21:13 | S | +| overloading.rs:57:13:57:15 | _b2 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:57:19:57:47 | ...::method(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:57:45:57:46 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:57:45:57:46 | &s | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:57:46:57:46 | s | | overloading.rs:20:5:21:13 | S | +| overloading.rs:58:13:58:15 | _b3 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:58:19:58:64 | ...::method(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:58:45:58:63 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:59:13:59:15 | _b4 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:59:19:59:48 | ...::method2(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:59:46:59:47 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:59:46:59:47 | &s | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:59:47:59:47 | s | | overloading.rs:20:5:21:13 | S | +| overloading.rs:60:13:60:15 | _b5 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:60:19:60:65 | ...::method2(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:60:46:60:64 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:62:13:62:15 | _n1 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:62:19:62:41 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:62:39:62:40 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:62:39:62:40 | &s | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:62:40:62:40 | s | | overloading.rs:20:5:21:13 | S | +| overloading.rs:63:13:63:15 | _n2 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:63:19:63:48 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:63:46:63:47 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:63:46:63:47 | &s | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:63:47:63:47 | s | | overloading.rs:20:5:21:13 | S | +| overloading.rs:64:13:64:15 | _n3 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:64:19:64:65 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:64:46:64:64 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:65:13:65:15 | _n4 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:65:19:65:49 | ...::method2(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:65:47:65:48 | &s | | {EXTERNAL LOCATION} | & | +| overloading.rs:65:47:65:48 | &s | TRef | overloading.rs:20:5:21:13 | S | +| overloading.rs:65:48:65:48 | s | | overloading.rs:20:5:21:13 | S | +| overloading.rs:66:13:66:15 | _n5 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:66:19:66:66 | ...::method2(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:66:47:66:65 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:68:9:68:37 | ...::function(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:69:9:69:38 | ...::function(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:78:26:78:29 | SelfParam | | overloading.rs:77:5:81:5 | Self [trait OverlappingTrait] | +| overloading.rs:80:28:80:31 | SelfParam | | overloading.rs:77:5:81:5 | Self [trait OverlappingTrait] | +| overloading.rs:80:34:80:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:85:26:85:29 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:85:38:87:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:86:13:86:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:90:28:90:31 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:90:34:90:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:90:48:92:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:91:13:91:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:97:26:97:29 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:97:38:99:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:98:13:98:16 | self | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:102:28:102:31 | SelfParam | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:102:40:104:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:103:13:103:16 | self | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:111:26:111:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:111:26:111:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:111:38:113:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:112:13:112:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:116:28:116:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:116:28:116:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:116:40:118:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:117:13:117:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:123:26:123:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:123:26:123:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:123:38:125:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:124:13:124:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:128:28:128:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:128:28:128:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:128:34:128:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:128:48:130:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:129:13:129:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:135:26:135:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:135:26:135:29 | SelfParam | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:135:38:137:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:136:13:136:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:140:28:140:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:140:28:140:31 | SelfParam | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:140:34:140:35 | s1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:140:48:142:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:141:13:141:14 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:149:14:149:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:149:14:149:18 | SelfParam | TRef | overloading.rs:148:5:150:5 | Self [trait OverlappingTrait2] | +| overloading.rs:149:21:149:21 | x | | {EXTERNAL LOCATION} | & | +| overloading.rs:149:21:149:21 | x | TRef | overloading.rs:148:29:148:29 | T | +| overloading.rs:154:14:154:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:154:14:154:18 | SelfParam | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:154:14:154:18 | SelfParam | TRef.T3 | overloading.rs:152:10:152:10 | T | +| overloading.rs:154:21:154:21 | x | | {EXTERNAL LOCATION} | & | +| overloading.rs:154:21:154:21 | x | TRef | overloading.rs:152:10:152:10 | T | +| overloading.rs:154:37:156:9 | { ... } | | {EXTERNAL LOCATION} | & | +| overloading.rs:154:37:156:9 | { ... } | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:154:37:156:9 | { ... } | TRef.T3 | overloading.rs:152:10:152:10 | T | +| overloading.rs:155:13:155:16 | self | | {EXTERNAL LOCATION} | & | +| overloading.rs:155:13:155:16 | self | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:155:13:155:16 | self | TRef.T3 | overloading.rs:152:10:152:10 | T | +| overloading.rs:161:14:161:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:161:14:161:18 | SelfParam | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:161:14:161:18 | SelfParam | TRef.T3 | overloading.rs:159:10:159:10 | T | +| overloading.rs:161:21:161:21 | x | | overloading.rs:159:10:159:10 | T | +| overloading.rs:161:36:163:9 | { ... } | | {EXTERNAL LOCATION} | & | +| overloading.rs:161:36:163:9 | { ... } | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:161:36:163:9 | { ... } | TRef.T3 | overloading.rs:159:10:159:10 | T | +| overloading.rs:162:13:162:16 | self | | {EXTERNAL LOCATION} | & | +| overloading.rs:162:13:162:16 | self | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:162:13:162:16 | self | TRef.T3 | overloading.rs:159:10:159:10 | T | +| overloading.rs:168:14:168:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:168:14:168:18 | SelfParam | TRef | overloading.rs:166:5:169:5 | Self [trait MyTrait1] | +| overloading.rs:168:21:168:22 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:178:14:178:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:178:14:178:18 | SelfParam | TRef | overloading.rs:173:5:174:14 | S4 | +| overloading.rs:178:21:178:22 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:188:14:188:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| overloading.rs:188:14:188:18 | SelfParam | TRef | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:188:14:188:18 | SelfParam | TRef.T5 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:188:21:188:22 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:197:16:223:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:198:13:198:13 | x | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:198:17:198:18 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:199:9:199:43 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:199:18:199:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:199:18:199:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:199:18:199:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:199:18:199:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:199:18:199:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:199:26:199:26 | x | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:199:26:199:42 | x.common_method() | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:200:9:200:46 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:200:18:200:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:200:18:200:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:200:18:200:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:200:18:200:45 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:200:18:200:45 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:200:26:200:45 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:200:44:200:44 | x | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:201:9:201:45 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:201:18:201:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:201:18:201:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:201:18:201:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:201:18:201:44 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:201:18:201:44 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:201:26:201:26 | x | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:201:26:201:44 | x.common_method_2() | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:202:9:202:48 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:202:18:202:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:202:18:202:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:202:18:202:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:202:18:202:47 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:202:18:202:47 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:202:26:202:47 | ...::common_method_2(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:202:46:202:46 | x | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:204:13:204:13 | y | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:204:13:204:13 | y | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:204:17:204:22 | S2(...) | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:204:17:204:22 | S2(...) | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:204:20:204:21 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:205:9:205:43 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:205:18:205:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:205:18:205:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:205:18:205:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:205:18:205:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:205:18:205:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:205:26:205:26 | y | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:205:26:205:26 | y | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:205:26:205:42 | y.common_method() | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:206:9:206:57 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:206:18:206:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:206:18:206:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:206:18:206:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:206:18:206:56 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:206:18:206:56 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:206:26:206:56 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:206:50:206:55 | S2(...) | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:206:50:206:55 | S2(...) | T2 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:206:53:206:54 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:208:13:208:13 | z | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:208:13:208:13 | z | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:208:17:208:21 | S2(...) | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:208:17:208:21 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:208:20:208:20 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:209:9:209:43 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:209:18:209:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:209:18:209:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:209:18:209:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:209:18:209:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:209:18:209:42 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:209:26:209:26 | z | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:209:26:209:26 | z | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:209:26:209:42 | z.common_method() | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:210:9:210:50 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:210:18:210:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:210:18:210:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:210:18:210:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:210:18:210:49 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:210:18:210:49 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:210:26:210:49 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:210:44:210:48 | S2(...) | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:210:44:210:48 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:210:47:210:47 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:211:9:211:57 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:211:18:211:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:211:18:211:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:211:18:211:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:211:18:211:56 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:211:18:211:56 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:211:26:211:56 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:211:51:211:55 | S2(...) | | overloading.rs:107:5:107:22 | S2 | +| overloading.rs:211:51:211:55 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:211:54:211:54 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:213:13:213:13 | w | | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:213:13:213:13 | w | T3 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:213:17:213:22 | S3(...) | | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:213:17:213:22 | S3(...) | T3 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:213:20:213:21 | S1 | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:214:9:214:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:214:18:214:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:214:18:214:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:214:18:214:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:214:18:214:31 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:214:18:214:31 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:214:26:214:26 | w | | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:214:26:214:26 | w | T3 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:214:26:214:31 | w.m(...) | | {EXTERNAL LOCATION} | & | +| overloading.rs:214:26:214:31 | w.m(...) | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:214:26:214:31 | w.m(...) | TRef.T3 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:214:30:214:30 | x | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:215:9:215:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| overloading.rs:215:18:215:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| overloading.rs:215:18:215:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| overloading.rs:215:18:215:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:215:18:215:37 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:215:18:215:37 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:215:26:215:37 | ...::m(...) | | {EXTERNAL LOCATION} | & | +| overloading.rs:215:26:215:37 | ...::m(...) | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:215:26:215:37 | ...::m(...) | TRef.T3 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:215:32:215:33 | &w | | {EXTERNAL LOCATION} | & | +| overloading.rs:215:32:215:33 | &w | TRef | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:215:32:215:33 | &w | TRef.T3 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:215:33:215:33 | w | | overloading.rs:145:5:146:22 | S3 | +| overloading.rs:215:33:215:33 | w | T3 | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:215:36:215:36 | x | | overloading.rs:74:5:75:14 | S1 | +| overloading.rs:217:9:217:10 | S4 | | overloading.rs:173:5:174:14 | S4 | +| overloading.rs:217:9:217:14 | S4.m() | | {EXTERNAL LOCATION} | () | +| overloading.rs:218:9:218:18 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:218:15:218:17 | &S4 | | {EXTERNAL LOCATION} | & | +| overloading.rs:218:15:218:17 | &S4 | TRef | overloading.rs:173:5:174:14 | S4 | +| overloading.rs:218:16:218:17 | S4 | | overloading.rs:173:5:174:14 | S4 | +| overloading.rs:219:9:219:16 | S5(...) | | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:219:9:219:16 | S5(...) | T5 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:219:9:219:20 | ... .m() | | {EXTERNAL LOCATION} | () | +| overloading.rs:219:12:219:15 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:220:9:220:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:220:15:220:23 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:220:15:220:23 | &... | TRef | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:220:15:220:23 | &... | TRef.T5 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:220:16:220:23 | S5(...) | | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:220:16:220:23 | S5(...) | T5 | {EXTERNAL LOCATION} | i32 | +| overloading.rs:220:19:220:22 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:221:9:221:16 | S5(...) | | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:221:9:221:16 | S5(...) | T5 | {EXTERNAL LOCATION} | bool | +| overloading.rs:221:9:221:20 | ... .m() | | {EXTERNAL LOCATION} | () | +| overloading.rs:221:12:221:15 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:222:9:222:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | +| overloading.rs:222:15:222:23 | &... | | {EXTERNAL LOCATION} | & | +| overloading.rs:222:15:222:23 | &... | TRef | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:222:15:222:23 | &... | TRef.T5 | {EXTERNAL LOCATION} | bool | +| overloading.rs:222:16:222:23 | S5(...) | | overloading.rs:183:5:184:22 | S5 | +| overloading.rs:222:16:222:23 | S5(...) | T5 | {EXTERNAL LOCATION} | bool | +| overloading.rs:222:19:222:22 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:228:14:228:17 | SelfParam | | overloading.rs:227:5:229:5 | Self [trait Trait1] | +| overloading.rs:228:20:228:20 | x | | overloading.rs:227:18:227:19 | T1 | +| overloading.rs:233:14:233:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:233:20:233:20 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:233:35:235:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:234:13:234:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:240:14:240:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:240:20:240:20 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:240:35:242:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:241:13:241:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:241:13:241:13 | 0 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:246:14:246:17 | SelfParam | | overloading.rs:245:5:247:5 | Self [trait Trait2] | +| overloading.rs:246:20:246:20 | x | | overloading.rs:245:18:245:19 | T1 | +| overloading.rs:251:14:251:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:251:20:251:20 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:251:35:253:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:252:13:252:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:258:14:258:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:258:20:258:20 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:258:35:260:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:259:13:259:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:259:13:259:13 | 0 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:263:12:270:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:264:13:264:13 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:264:17:264:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:265:13:265:13 | y | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:265:17:265:17 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:265:17:265:25 | x.f(...) | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:265:21:265:24 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:266:13:266:13 | z | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:266:22:266:22 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:266:22:266:44 | x.f(...) | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:267:13:267:13 | z | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:267:17:267:17 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:267:17:267:25 | x.f(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:267:21:267:24 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:268:13:268:13 | z | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:268:22:268:22 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:268:22:268:44 | x.f(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:269:13:269:13 | z | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:269:22:269:22 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:269:22:269:30 | x.g(...) | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:269:22:269:30 | x.g(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:269:26:269:29 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:286:35:288:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:287:13:287:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:295:35:297:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:296:13:296:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:302:14:302:14 | x | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:302:29:304:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:303:13:303:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:309:14:309:14 | x | | {EXTERNAL LOCATION} | bool | +| overloading.rs:309:31:311:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:310:13:310:16 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:314:12:321:5 | { ... } | | {EXTERNAL LOCATION} | () | +| overloading.rs:315:9:315:25 | ...::Assoc(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:315:9:315:25 | ...::Assoc(...) | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:316:9:316:26 | ...::Assoc(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:316:9:316:26 | ...::Assoc(...) | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:319:9:319:26 | ...::f(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:319:9:319:26 | ...::f(...) | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:319:22:319:25 | true | | {EXTERNAL LOCATION} | bool | +| overloading.rs:320:9:320:22 | ...::f(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:320:9:320:22 | ...::f(...) | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:320:21:320:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| overloading.rs:330:14:330:17 | SelfParam | | overloading.rs:327:5:331:5 | Self [trait MyTrait] | +| overloading.rs:334:14:334:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:334:14:334:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:334:27:336:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:335:13:335:16 | self | | overloading.rs:325:5:325:25 | S | +| overloading.rs:335:13:335:16 | self | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:335:13:335:18 | self.0 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:338:14:338:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:338:14:338:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:338:27:340:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:339:13:339:16 | self | | overloading.rs:325:5:325:25 | S | +| overloading.rs:339:13:339:16 | self | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:339:13:339:18 | self.0 | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:344:14:344:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:344:14:344:17 | SelfParam | T | {EXTERNAL LOCATION} | bool | +| overloading.rs:344:28:346:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| overloading.rs:345:13:345:16 | self | | overloading.rs:325:5:325:25 | S | +| overloading.rs:345:13:345:16 | self | T | {EXTERNAL LOCATION} | bool | +| overloading.rs:345:13:345:18 | self.0 | | {EXTERNAL LOCATION} | bool | +| overloading.rs:352:14:352:17 | SelfParam | | overloading.rs:325:5:325:25 | S | +| overloading.rs:352:14:352:17 | SelfParam | T | overloading.rs:349:10:349:10 | T | +| overloading.rs:352:25:359:9 | { ... } | | overloading.rs:325:5:325:25 | S | +| overloading.rs:352:25:359:9 | { ... } | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:353:17:353:17 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:353:21:353:47 | ...::f(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:353:26:353:46 | S(...) | | overloading.rs:325:5:325:25 | S | +| overloading.rs:354:17:354:17 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:354:21:354:61 | ...::f(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:354:40:354:60 | S(...) | | overloading.rs:325:5:325:25 | S | +| overloading.rs:354:40:354:60 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:354:42:354:59 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:355:17:355:17 | x | | {EXTERNAL LOCATION} | bool | +| overloading.rs:355:21:355:55 | ...::g(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:355:34:355:54 | S(...) | | overloading.rs:325:5:325:25 | S | +| overloading.rs:355:34:355:54 | S(...) | T | {EXTERNAL LOCATION} | bool | +| overloading.rs:355:36:355:53 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| overloading.rs:356:17:356:17 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:356:21:356:54 | ...::g(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:356:33:356:53 | S(...) | | overloading.rs:325:5:325:25 | S | +| overloading.rs:356:33:356:53 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:356:35:356:52 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:357:17:357:17 | x | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:357:21:357:61 | ...::g(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:357:40:357:60 | S(...) | | overloading.rs:325:5:325:25 | S | +| overloading.rs:357:40:357:60 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:357:42:357:59 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:358:13:358:16 | S(...) | | overloading.rs:325:5:325:25 | S | +| overloading.rs:358:13:358:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | +| overloading.rs:358:13:358:16 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:358:15:358:15 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:13:26:133:1 | { ... } | T | {EXTERNAL LOCATION} | () | | pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option |