From 5b5074e9228fc51a2513c3361bea3c464364977d Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 12 Jun 2025 09:10:12 +0200 Subject: [PATCH 1/2] Rust: Add another type inference test --- .../test/library-tests/type-inference/main.rs | 5 + .../type-inference/type-inference.expected | 2454 +++++++++-------- 2 files changed, 1234 insertions(+), 1225 deletions(-) diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index 1b72e15afc9b..dd741ded5d14 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -1107,6 +1107,11 @@ mod method_call_type_conversion { // implicit dereference handling doesn't affect nested borrows. let t = x7.m1(); // $ method=m1 type=t:& type=t:&T.S2 println!("{:?}", x7); + + let x9 : String = "Hello".to_string(); // $ type=x9:String + // Implicit `String` -> `str` conversion happense via the `Deref` trait: + // https://doc.rust-lang.org/std/string/struct.String.html#deref. + let u = x9.parse::(); // $ MISSING: method=parse type=u:T.u32 } } 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 bb45bea016af..f5e0989d6fa7 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -1410,1233 +1410,1237 @@ inferType | main.rs:1109:26:1109:27 | x7 | | main.rs:1057:5:1058:19 | S | | main.rs:1109:26:1109:27 | x7 | T | file://:0:0:0:0 | & | | main.rs:1109:26:1109:27 | x7 | T.&T | main.rs:1060:5:1061:14 | S2 | -| main.rs:1116:16:1116:20 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1116:16:1116:20 | SelfParam | &T | main.rs:1114:5:1122:5 | Self [trait MyTrait] | -| main.rs:1119:16:1119:20 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1119:16:1119:20 | SelfParam | &T | main.rs:1114:5:1122:5 | Self [trait MyTrait] | -| main.rs:1119:32:1121:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1119:32:1121:9 | { ... } | &T | main.rs:1114:5:1122:5 | Self [trait MyTrait] | -| main.rs:1120:13:1120:16 | self | | file://:0:0:0:0 | & | -| main.rs:1120:13:1120:16 | self | &T | main.rs:1114:5:1122:5 | Self [trait MyTrait] | -| main.rs:1120:13:1120:22 | self.foo() | | file://:0:0:0:0 | & | -| main.rs:1120:13:1120:22 | self.foo() | &T | main.rs:1114:5:1122:5 | Self [trait MyTrait] | -| main.rs:1128:16:1128:20 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1128:16:1128:20 | SelfParam | &T | main.rs:1124:5:1124:20 | MyStruct | -| main.rs:1128:36:1130:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1128:36:1130:9 | { ... } | &T | main.rs:1124:5:1124:20 | MyStruct | -| main.rs:1129:13:1129:16 | self | | file://:0:0:0:0 | & | -| main.rs:1129:13:1129:16 | self | &T | main.rs:1124:5:1124:20 | MyStruct | -| main.rs:1134:13:1134:13 | x | | main.rs:1124:5:1124:20 | MyStruct | -| main.rs:1134:17:1134:24 | MyStruct | | main.rs:1124:5:1124:20 | MyStruct | -| main.rs:1135:9:1135:9 | x | | main.rs:1124:5:1124:20 | MyStruct | -| main.rs:1135:9:1135:15 | x.bar() | | file://:0:0:0:0 | & | -| main.rs:1135:9:1135:15 | x.bar() | &T | main.rs:1124:5:1124:20 | MyStruct | -| main.rs:1145:16:1145:20 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1145:16:1145:20 | SelfParam | &T | main.rs:1142:5:1142:26 | MyStruct | -| main.rs:1145:16:1145:20 | SelfParam | &T.T | main.rs:1144:10:1144:10 | T | -| main.rs:1145:32:1147:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1145:32:1147:9 | { ... } | &T | main.rs:1142:5:1142:26 | MyStruct | -| main.rs:1145:32:1147:9 | { ... } | &T.T | main.rs:1144:10:1144:10 | T | -| main.rs:1146:13:1146:16 | self | | file://:0:0:0:0 | & | -| main.rs:1146:13:1146:16 | self | &T | main.rs:1142:5:1142:26 | MyStruct | -| main.rs:1146:13:1146:16 | self | &T.T | main.rs:1144:10:1144:10 | T | -| main.rs:1151:13:1151:13 | x | | main.rs:1142:5:1142:26 | MyStruct | -| main.rs:1151:13:1151:13 | x | T | main.rs:1140:5:1140:13 | S | -| main.rs:1151:17:1151:27 | MyStruct(...) | | main.rs:1142:5:1142:26 | MyStruct | -| main.rs:1151:17:1151:27 | MyStruct(...) | T | main.rs:1140:5:1140:13 | S | -| main.rs:1151:26:1151:26 | S | | main.rs:1140:5:1140:13 | S | -| main.rs:1152:9:1152:9 | x | | main.rs:1142:5:1142:26 | MyStruct | -| main.rs:1152:9:1152:9 | x | T | main.rs:1140:5:1140:13 | S | -| main.rs:1152:9:1152:15 | x.foo() | | file://:0:0:0:0 | & | -| main.rs:1152:9:1152:15 | x.foo() | &T | main.rs:1142:5:1142:26 | MyStruct | -| main.rs:1152:9:1152:15 | x.foo() | &T.T | main.rs:1140:5:1140:13 | S | -| main.rs:1163:17:1163:25 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1163:17:1163:25 | SelfParam | &T | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1164:13:1164:16 | self | | file://:0:0:0:0 | & | -| main.rs:1164:13:1164:16 | self | &T | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1164:13:1164:21 | self.bool | | {EXTERNAL LOCATION} | bool | -| main.rs:1164:13:1164:34 | ... = ... | | file://:0:0:0:0 | () | -| main.rs:1164:25:1164:34 | ! ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1164:26:1164:29 | self | | file://:0:0:0:0 | & | -| main.rs:1164:26:1164:29 | self | &T | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1164:26:1164:34 | self.bool | | {EXTERNAL LOCATION} | bool | -| main.rs:1171:15:1171:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1171:15:1171:19 | SelfParam | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1171:31:1173:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1171:31:1173:9 | { ... } | &T | file://:0:0:0:0 | & | -| main.rs:1171:31:1173:9 | { ... } | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1171:31:1173:9 | { ... } | &T.&T | file://:0:0:0:0 | & | -| main.rs:1171:31:1173:9 | { ... } | &T.&T.&T | file://:0:0:0:0 | & | -| main.rs:1171:31:1173:9 | { ... } | &T.&T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1172:13:1172:19 | &... | | file://:0:0:0:0 | & | -| main.rs:1172:13:1172:19 | &... | &T | file://:0:0:0:0 | & | -| main.rs:1172:13:1172:19 | &... | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1172:13:1172:19 | &... | &T.&T | file://:0:0:0:0 | & | -| main.rs:1172:13:1172:19 | &... | &T.&T.&T | file://:0:0:0:0 | & | -| main.rs:1172:13:1172:19 | &... | &T.&T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1172:14:1172:19 | &... | | file://:0:0:0:0 | & | -| main.rs:1172:14:1172:19 | &... | | main.rs:1168:5:1168:13 | S | -| main.rs:1172:14:1172:19 | &... | &T | file://:0:0:0:0 | & | -| main.rs:1172:14:1172:19 | &... | &T.&T | file://:0:0:0:0 | & | -| main.rs:1172:14:1172:19 | &... | &T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1172:15:1172:19 | &self | | file://:0:0:0:0 | & | -| main.rs:1172:15:1172:19 | &self | &T | file://:0:0:0:0 | & | -| main.rs:1172:15:1172:19 | &self | &T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1172:16:1172:19 | self | | file://:0:0:0:0 | & | -| main.rs:1172:16:1172:19 | self | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1175:15:1175:25 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1175:15:1175:25 | SelfParam | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1175:37:1177:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1175:37:1177:9 | { ... } | &T | file://:0:0:0:0 | & | -| main.rs:1175:37:1177:9 | { ... } | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1175:37:1177:9 | { ... } | &T.&T | file://:0:0:0:0 | & | -| main.rs:1175:37:1177:9 | { ... } | &T.&T.&T | file://:0:0:0:0 | & | -| main.rs:1175:37:1177:9 | { ... } | &T.&T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1176:13:1176:19 | &... | | file://:0:0:0:0 | & | -| main.rs:1176:13:1176:19 | &... | &T | file://:0:0:0:0 | & | -| main.rs:1176:13:1176:19 | &... | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1176:13:1176:19 | &... | &T.&T | file://:0:0:0:0 | & | -| main.rs:1176:13:1176:19 | &... | &T.&T.&T | file://:0:0:0:0 | & | -| main.rs:1176:13:1176:19 | &... | &T.&T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1176:14:1176:19 | &... | | file://:0:0:0:0 | & | -| main.rs:1176:14:1176:19 | &... | | main.rs:1168:5:1168:13 | S | -| main.rs:1176:14:1176:19 | &... | &T | file://:0:0:0:0 | & | -| main.rs:1176:14:1176:19 | &... | &T.&T | file://:0:0:0:0 | & | -| main.rs:1176:14:1176:19 | &... | &T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1176:15:1176:19 | &self | | file://:0:0:0:0 | & | -| main.rs:1176:15:1176:19 | &self | &T | file://:0:0:0:0 | & | -| main.rs:1176:15:1176:19 | &self | &T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1176:16:1176:19 | self | | file://:0:0:0:0 | & | -| main.rs:1176:16:1176:19 | self | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1179:15:1179:15 | x | | file://:0:0:0:0 | & | -| main.rs:1179:15:1179:15 | x | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1179:34:1181:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1179:34:1181:9 | { ... } | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1180:13:1180:13 | x | | file://:0:0:0:0 | & | -| main.rs:1180:13:1180:13 | x | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1183:15:1183:15 | x | | file://:0:0:0:0 | & | -| main.rs:1183:15:1183:15 | x | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1183:34:1185:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1183:34:1185:9 | { ... } | &T | file://:0:0:0:0 | & | -| main.rs:1183:34:1185:9 | { ... } | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1183:34:1185:9 | { ... } | &T.&T | file://:0:0:0:0 | & | -| main.rs:1183:34:1185:9 | { ... } | &T.&T.&T | file://:0:0:0:0 | & | -| main.rs:1183:34:1185:9 | { ... } | &T.&T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1184:13:1184:16 | &... | | file://:0:0:0:0 | & | -| main.rs:1184:13:1184:16 | &... | &T | file://:0:0:0:0 | & | -| main.rs:1184:13:1184:16 | &... | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1184:13:1184:16 | &... | &T.&T | file://:0:0:0:0 | & | -| main.rs:1184:13:1184:16 | &... | &T.&T.&T | file://:0:0:0:0 | & | -| main.rs:1184:13:1184:16 | &... | &T.&T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1184:14:1184:16 | &... | | file://:0:0:0:0 | & | -| main.rs:1184:14:1184:16 | &... | | main.rs:1168:5:1168:13 | S | -| main.rs:1184:14:1184:16 | &... | &T | file://:0:0:0:0 | & | -| main.rs:1184:14:1184:16 | &... | &T.&T | file://:0:0:0:0 | & | -| main.rs:1184:14:1184:16 | &... | &T.&T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1184:15:1184:16 | &x | | file://:0:0:0:0 | & | -| main.rs:1184:15:1184:16 | &x | &T | file://:0:0:0:0 | & | -| main.rs:1184:15:1184:16 | &x | &T.&T | main.rs:1168:5:1168:13 | S | -| main.rs:1184:16:1184:16 | x | | file://:0:0:0:0 | & | -| main.rs:1184:16:1184:16 | x | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1189:13:1189:13 | x | | main.rs:1168:5:1168:13 | S | -| main.rs:1189:17:1189:20 | S {...} | | main.rs:1168:5:1168:13 | S | -| main.rs:1190:9:1190:9 | x | | main.rs:1168:5:1168:13 | S | -| main.rs:1190:9:1190:14 | x.f1() | | file://:0:0:0:0 | & | -| main.rs:1190:9:1190:14 | x.f1() | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1191:9:1191:9 | x | | main.rs:1168:5:1168:13 | S | -| main.rs:1191:9:1191:14 | x.f2() | | file://:0:0:0:0 | & | -| main.rs:1191:9:1191:14 | x.f2() | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1192:9:1192:17 | ...::f3(...) | | file://:0:0:0:0 | & | -| main.rs:1192:9:1192:17 | ...::f3(...) | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1192:15:1192:16 | &x | | file://:0:0:0:0 | & | -| main.rs:1192:15:1192:16 | &x | &T | main.rs:1168:5:1168:13 | S | -| main.rs:1192:16:1192:16 | x | | main.rs:1168:5:1168:13 | S | -| main.rs:1194:13:1194:13 | n | | {EXTERNAL LOCATION} | bool | -| main.rs:1194:13:1194:13 | n | | file://:0:0:0:0 | & | -| main.rs:1194:17:1194:24 | * ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1194:17:1194:24 | * ... | | file://:0:0:0:0 | & | -| main.rs:1194:18:1194:24 | * ... | | file://:0:0:0:0 | & | -| main.rs:1194:18:1194:24 | * ... | &T | {EXTERNAL LOCATION} | bool | -| main.rs:1194:18:1194:24 | * ... | &T | file://:0:0:0:0 | & | -| main.rs:1194:19:1194:24 | &... | | file://:0:0:0:0 | & | -| main.rs:1194:19:1194:24 | &... | &T | file://:0:0:0:0 | & | -| main.rs:1194:19:1194:24 | &... | &T.&T | {EXTERNAL LOCATION} | bool | -| main.rs:1194:19:1194:24 | &... | &T.&T | file://:0:0:0:0 | & | -| main.rs:1194:20:1194:24 | &true | | file://:0:0:0:0 | & | -| main.rs:1194:20:1194:24 | &true | &T | {EXTERNAL LOCATION} | bool | -| main.rs:1194:20:1194:24 | &true | &T | file://:0:0:0:0 | & | -| main.rs:1194:21:1194:24 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1194:21:1194:24 | true | | file://:0:0:0:0 | & | -| main.rs:1198:13:1198:20 | mut flag | | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1198:24:1198:41 | ...::default(...) | | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1199:22:1199:30 | &mut flag | | file://:0:0:0:0 | & | -| main.rs:1199:22:1199:30 | &mut flag | &T | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1199:27:1199:30 | flag | | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1200:18:1200:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | -| main.rs:1200:26:1200:29 | flag | | main.rs:1157:5:1160:5 | MyFlag | -| main.rs:1214:43:1217:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1214:43:1217:5 | { ... } | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1214:43:1217:5 | { ... } | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1215:13:1215:13 | x | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1215:17:1215:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1215:17:1215:30 | ...::Ok(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1215:17:1215:31 | TryExpr | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1215:28:1215:29 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1216:9:1216:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1216:9:1216:22 | ...::Ok(...) | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1216:9:1216:22 | ...::Ok(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1216:20:1216:21 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1220:46:1224:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1220:46:1224:5 | { ... } | E | main.rs:1210:5:1211:14 | S2 | -| main.rs:1220:46:1224:5 | { ... } | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1221:13:1221:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1221:13:1221:13 | x | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1221:17:1221:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1221:17:1221:30 | ...::Ok(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1221:28:1221:29 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1222:13:1222:13 | y | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1222:17:1222:17 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1222:17:1222:17 | x | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1222:17:1222:18 | TryExpr | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1223:9:1223:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1223:9:1223:22 | ...::Ok(...) | E | main.rs:1210:5:1211:14 | S2 | -| main.rs:1223:9:1223:22 | ...::Ok(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1223:20:1223:21 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1227:40:1232:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1227:40:1232:5 | { ... } | E | main.rs:1210:5:1211:14 | S2 | -| main.rs:1227:40:1232:5 | { ... } | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1228:13:1228:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1228:13:1228:13 | x | T | {EXTERNAL LOCATION} | Result | -| main.rs:1228:13:1228:13 | x | T.T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1228:17:1228:42 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1228:17:1228:42 | ...::Ok(...) | T | {EXTERNAL LOCATION} | Result | -| main.rs:1228:17:1228:42 | ...::Ok(...) | T.T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1228:28:1228:41 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1228:28:1228:41 | ...::Ok(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1228:39:1228:40 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1230:17:1230:17 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1230:17:1230:17 | x | T | {EXTERNAL LOCATION} | Result | -| main.rs:1230:17:1230:17 | x | T.T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1230:17:1230:18 | TryExpr | | {EXTERNAL LOCATION} | Result | -| main.rs:1230:17:1230:18 | TryExpr | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1230:17:1230:29 | ... .map(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1231:9:1231:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1231:9:1231:22 | ...::Ok(...) | E | main.rs:1210:5:1211:14 | S2 | -| main.rs:1231:9:1231:22 | ...::Ok(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1231:20:1231:21 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1235:30:1235:34 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1235:30:1235:34 | input | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1235:30:1235:34 | input | T | main.rs:1235:20:1235:27 | T | -| main.rs:1235:69:1242:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1235:69:1242:5 | { ... } | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1235:69:1242:5 | { ... } | T | main.rs:1235:20:1235:27 | T | -| main.rs:1236:13:1236:17 | value | | main.rs:1235:20:1235:27 | T | -| main.rs:1236:21:1236:25 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1236:21:1236:25 | input | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1236:21:1236:25 | input | T | main.rs:1235:20:1235:27 | T | -| main.rs:1236:21:1236:26 | TryExpr | | main.rs:1235:20:1235:27 | T | -| main.rs:1237:22:1237:38 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1237:22:1237:38 | ...::Ok(...) | T | main.rs:1235:20:1235:27 | T | -| main.rs:1237:22:1240:10 | ... .and_then(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1237:33:1237:37 | value | | main.rs:1235:20:1235:27 | T | -| main.rs:1237:53:1240:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1237:53:1240:9 | { ... } | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1238:22:1238:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | -| main.rs:1239:13:1239:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1239:13:1239:34 | ...::Ok::<...>(...) | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1241:9:1241:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1241:9:1241:23 | ...::Err(...) | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1241:9:1241:23 | ...::Err(...) | T | main.rs:1235:20:1235:27 | T | -| main.rs:1241:21:1241:22 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1245:37:1245:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1245:37:1245:52 | try_same_error(...) | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1245:37:1245:52 | try_same_error(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1246:22:1246:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | -| main.rs:1249:37:1249:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1249:37:1249:55 | try_convert_error(...) | E | main.rs:1210:5:1211:14 | S2 | -| main.rs:1249:37:1249:55 | try_convert_error(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1250:22:1250:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | -| main.rs:1253:37:1253:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1253:37:1253:49 | try_chained(...) | E | main.rs:1210:5:1211:14 | S2 | -| main.rs:1253:37:1253:49 | try_chained(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1254:22:1254:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | -| main.rs:1257:37:1257:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1257:37:1257:63 | try_complex(...) | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1257:37:1257:63 | try_complex(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1257:49:1257:62 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1257:49:1257:62 | ...::Ok(...) | E | main.rs:1207:5:1208:14 | S1 | -| main.rs:1257:49:1257:62 | ...::Ok(...) | T | main.rs:1207:5:1208:14 | S1 | -| main.rs:1257:60:1257:61 | S1 | | main.rs:1207:5:1208:14 | S1 | -| main.rs:1258:22:1258:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | -| main.rs:1265:13:1265:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1265:22:1265:22 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1266:13:1266:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:1266:17:1266:17 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1267:13:1267:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:1267:17:1267:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1267:17:1267:21 | ... + ... | | {EXTERNAL LOCATION} | i32 | -| main.rs:1267:21:1267:21 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:1268:13:1268:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:1268:17:1268:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1268:17:1268:23 | x.abs() | | {EXTERNAL LOCATION} | i32 | -| main.rs:1269:13:1269:13 | c | | {EXTERNAL LOCATION} | char | -| main.rs:1269:17:1269:19 | 'c' | | {EXTERNAL LOCATION} | char | -| main.rs:1270:13:1270:17 | hello | | {EXTERNAL LOCATION} | str | -| main.rs:1270:21:1270:27 | "Hello" | | {EXTERNAL LOCATION} | str | -| main.rs:1271:13:1271:13 | f | | {EXTERNAL LOCATION} | f64 | -| main.rs:1271:17:1271:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | -| main.rs:1272:13:1272:13 | t | | {EXTERNAL LOCATION} | bool | -| main.rs:1272:17:1272:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1273:13:1273:13 | f | | {EXTERNAL LOCATION} | bool | -| main.rs:1273:17:1273:21 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1280:13:1280:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:1280:17:1280:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1280:17:1280:29 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1280:25:1280:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1281:13:1281:13 | y | | {EXTERNAL LOCATION} | bool | -| main.rs:1281:17:1281:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1281:17:1281:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1281:25:1281:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1283:13:1283:17 | mut a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1284:13:1284:16 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:1284:20:1284:21 | 34 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1284:20:1284:27 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1284:26:1284:27 | 33 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1285:12:1285:15 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:1286:17:1286:17 | z | | file://:0:0:0:0 | () | -| main.rs:1286:21:1286:27 | (...) | | file://:0:0:0:0 | () | -| main.rs:1286:22:1286:22 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1286:22:1286:26 | ... = ... | | file://:0:0:0:0 | () | -| main.rs:1286:26:1286:26 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1288:13:1288:13 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1288:13:1288:17 | ... = ... | | file://:0:0:0:0 | () | -| main.rs:1288:17:1288:17 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1290:9:1290:9 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1307:16:1307:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1307:22:1307:24 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1307:41:1312:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1308:13:1311:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1309:20:1309:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1309:20:1309:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1309:20:1309:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1309:29:1309:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1309:29:1309:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1310:20:1310:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1310:20:1310:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1310:20:1310:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1310:29:1310:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1310:29:1310:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1317:23:1317:31 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1317:23:1317:31 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1317:34:1317:36 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1318:13:1318:16 | self | | file://:0:0:0:0 | & | -| main.rs:1318:13:1318:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1318:13:1318:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1318:13:1318:27 | ... += ... | | file://:0:0:0:0 | () | -| main.rs:1318:23:1318:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1318:23:1318:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1319:13:1319:16 | self | | file://:0:0:0:0 | & | -| main.rs:1319:13:1319:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1319:13:1319:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1319:13:1319:27 | ... += ... | | file://:0:0:0:0 | () | -| main.rs:1319:23:1319:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1319:23:1319:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1325:16:1325:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1325:22:1325:24 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1325:41:1330:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1326:13:1329:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1327:20:1327:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1327:20:1327:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1327:20:1327:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1327:29:1327:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1327:29:1327:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1328:20:1328:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1328:20:1328:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1328:20:1328:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1328:29:1328:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1328:29:1328:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1335:23:1335:31 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1335:23:1335:31 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1335:34:1335:36 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1336:13:1336:16 | self | | file://:0:0:0:0 | & | -| main.rs:1336:13:1336:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1336:13:1336:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1336:13:1336:27 | ... -= ... | | file://:0:0:0:0 | () | -| main.rs:1336:23:1336:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1336:23:1336:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1337:13:1337:16 | self | | file://:0:0:0:0 | & | -| main.rs:1337:13:1337:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1337:13:1337:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1337:13:1337:27 | ... -= ... | | file://:0:0:0:0 | () | -| main.rs:1337:23:1337:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1337:23:1337:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1343:16:1343:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1343:22:1343:24 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1343:41:1348:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1344:13:1347:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1345:20:1345:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1345:20:1345:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1345:20:1345:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1345:29:1345:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1345:29:1345:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1346:20:1346:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1346:20:1346:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1346:20:1346:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1346:29:1346:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1346:29:1346:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1352:23:1352:31 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1352:23:1352:31 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1352:34:1352:36 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1353:13:1353:16 | self | | file://:0:0:0:0 | & | -| main.rs:1353:13:1353:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1353:13:1353:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1353:13:1353:27 | ... *= ... | | file://:0:0:0:0 | () | -| main.rs:1353:23:1353:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1353:23:1353:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1354:13:1354:16 | self | | file://:0:0:0:0 | & | -| main.rs:1354:13:1354:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1354:13:1354:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1354:13:1354:27 | ... *= ... | | file://:0:0:0:0 | () | -| main.rs:1354:23:1354:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1354:23:1354:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1360:16:1360:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1360:22:1360:24 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1360:41:1365:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1361:13:1364:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1362:20:1362:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1362:20:1362:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1362:20:1362:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1362:29:1362:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1362:29:1362:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1363:20:1363:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1363:20:1363:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1363:20:1363:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1363:29:1363:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1363:29:1363:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1369:23:1369:31 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1369:23:1369:31 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1369:34:1369:36 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1370:13:1370:16 | self | | file://:0:0:0:0 | & | -| main.rs:1370:13:1370:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1370:13:1370:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1370:13:1370:27 | ... /= ... | | file://:0:0:0:0 | () | -| main.rs:1370:23:1370:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1370:23:1370:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1371:13:1371:16 | self | | file://:0:0:0:0 | & | -| main.rs:1371:13:1371:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1371:13:1371:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1371:13:1371:27 | ... /= ... | | file://:0:0:0:0 | () | -| main.rs:1371:23:1371:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1371:23:1371:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1377:16:1377:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1377:22:1377:24 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1377:41:1382:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1378:13:1381:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1379:20:1379:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1379:20:1379:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1379:20:1379:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1379:29:1379:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1379:29:1379:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1380:20:1380:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1380:20:1380:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1380:20:1380:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1380:29:1380:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1380:29:1380:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1386:23:1386:31 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1386:23:1386:31 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1386:34:1386:36 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1387:13:1387:16 | self | | file://:0:0:0:0 | & | -| main.rs:1387:13:1387:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1387:13:1387:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1387:13:1387:27 | ... %= ... | | file://:0:0:0:0 | () | -| main.rs:1387:23:1387:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1387:23:1387:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1388:13:1388:16 | self | | file://:0:0:0:0 | & | -| main.rs:1388:13:1388:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1388:13:1388:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1388:13:1388:27 | ... %= ... | | file://:0:0:0:0 | () | -| main.rs:1388:23:1388:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1388:23:1388:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1394:19:1394:22 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1394:25:1394:27 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1394:44:1399:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1395:13:1398:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1396:20:1396:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1396:20:1396:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1396:20:1396:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1396:29:1396:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1396:29:1396:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1397:20:1397:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1397:20:1397:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1397:20:1397:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1397:29:1397:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1397:29:1397:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1403:26:1403:34 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1403:26:1403:34 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1403:37:1403:39 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1404:13:1404:16 | self | | file://:0:0:0:0 | & | -| main.rs:1404:13:1404:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1404:13:1404:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1404:13:1404:27 | ... &= ... | | file://:0:0:0:0 | () | -| main.rs:1404:23:1404:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1404:23:1404:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1405:13:1405:16 | self | | file://:0:0:0:0 | & | -| main.rs:1405:13:1405:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1405:13:1405:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1405:13:1405:27 | ... &= ... | | file://:0:0:0:0 | () | -| main.rs:1405:23:1405:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1405:23:1405:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1411:18:1411:21 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1411:24:1411:26 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1411:43:1416:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1412:13:1415:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1413:20:1413:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1413:20:1413:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1413:20:1413:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1413:29:1413:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1413:29:1413:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1414:20:1414:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1414:20:1414:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1414:20:1414:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1414:29:1414:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1414:29:1414:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1420:25:1420:33 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1420:25:1420:33 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1420:36:1420:38 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1421:13:1421:16 | self | | file://:0:0:0:0 | & | -| main.rs:1421:13:1421:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1421:13:1421:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1421:13:1421:27 | ... \|= ... | | file://:0:0:0:0 | () | -| main.rs:1421:23:1421:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1421:23:1421:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1422:13:1422:16 | self | | file://:0:0:0:0 | & | -| main.rs:1422:13:1422:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1422:13:1422:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1422:13:1422:27 | ... \|= ... | | file://:0:0:0:0 | () | -| main.rs:1422:23:1422:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1422:23:1422:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1428:19:1428:22 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1428:25:1428:27 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1428:44:1433:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1429:13:1432:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1430:20:1430:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1430:20:1430:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1430:20:1430:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1430:29:1430:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1430:29:1430:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1431:20:1431:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1431:20:1431:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1431:20:1431:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1431:29:1431:31 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1431:29:1431:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1437:26:1437:34 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1437:26:1437:34 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1437:37:1437:39 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1438:13:1438:16 | self | | file://:0:0:0:0 | & | -| main.rs:1438:13:1438:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1438:13:1438:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1438:13:1438:27 | ... ^= ... | | file://:0:0:0:0 | () | -| main.rs:1438:23:1438:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1438:23:1438:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1439:13:1439:16 | self | | file://:0:0:0:0 | & | -| main.rs:1439:13:1439:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1439:13:1439:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1439:13:1439:27 | ... ^= ... | | file://:0:0:0:0 | () | -| main.rs:1439:23:1439:25 | rhs | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1439:23:1439:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1445:16:1445:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1445:22:1445:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1445:40:1450:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1446:13:1449:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1447:20:1447:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1447:20:1447:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1447:20:1447:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1447:30:1447:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1448:20:1448:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1448:20:1448:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1448:20:1448:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1448:30:1448:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1454:23:1454:31 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1454:23:1454:31 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1454:34:1454:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1455:13:1455:16 | self | | file://:0:0:0:0 | & | -| main.rs:1455:13:1455:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1455:13:1455:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1455:13:1455:26 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1455:24:1455:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1456:13:1456:16 | self | | file://:0:0:0:0 | & | -| main.rs:1456:13:1456:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1456:13:1456:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1456:13:1456:26 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1456:24:1456:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1462:16:1462:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1462:22:1462:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1462:40:1467:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1463:13:1466:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1464:20:1464:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1464:20:1464:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1464:20:1464:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1464:30:1464:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1465:20:1465:23 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1465:20:1465:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1465:20:1465:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1465:30:1465:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1471:23:1471:31 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1471:23:1471:31 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1471:34:1471:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1472:13:1472:16 | self | | file://:0:0:0:0 | & | -| main.rs:1472:13:1472:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1472:13:1472:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1472:13:1472:26 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1472:24:1472:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1473:13:1473:16 | self | | file://:0:0:0:0 | & | -| main.rs:1473:13:1473:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1473:13:1473:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1473:13:1473:26 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1473:24:1473:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1479:16:1479:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1479:30:1484:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1480:13:1483:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1481:20:1481:26 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1481:21:1481:24 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1481:21:1481:26 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1482:20:1482:26 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1482:21:1482:24 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1482:21:1482:26 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1489:16:1489:19 | SelfParam | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1489:30:1494:9 | { ... } | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1490:13:1493:13 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1491:20:1491:26 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1491:21:1491:24 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1491:21:1491:26 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1492:20:1492:26 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1492:21:1492:24 | self | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1492:21:1492:26 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1498:15:1498:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1498:15:1498:19 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1498:22:1498:26 | other | | file://:0:0:0:0 | & | -| main.rs:1498:22:1498:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1498:44:1500:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1499:13:1499:16 | self | | file://:0:0:0:0 | & | -| main.rs:1499:13:1499:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1499:13:1499:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1499:13:1499:29 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1499:13:1499:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1499:23:1499:27 | other | | file://:0:0:0:0 | & | -| main.rs:1499:23:1499:27 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1499:23:1499:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1499:34:1499:37 | self | | file://:0:0:0:0 | & | -| main.rs:1499:34:1499:37 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1499:34:1499:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1499:34:1499:50 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1499:44:1499:48 | other | | file://:0:0:0:0 | & | -| main.rs:1499:44:1499:48 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1499:44:1499:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1502:15:1502:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1502:15:1502:19 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1502:22:1502:26 | other | | file://:0:0:0:0 | & | -| main.rs:1502:22:1502:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1502:44:1504:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1503:13:1503:16 | self | | file://:0:0:0:0 | & | -| main.rs:1503:13:1503:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1503:13:1503:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1503:13:1503:29 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1503:13:1503:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1503:23:1503:27 | other | | file://:0:0:0:0 | & | -| main.rs:1503:23:1503:27 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1503:23:1503:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1503:34:1503:37 | self | | file://:0:0:0:0 | & | -| main.rs:1503:34:1503:37 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1503:34:1503:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1503:34:1503:50 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1503:44:1503:48 | other | | file://:0:0:0:0 | & | -| main.rs:1503:44:1503:48 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1503:44:1503:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1508:24:1508:28 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1508:24:1508:28 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1508:31:1508:35 | other | | file://:0:0:0:0 | & | -| main.rs:1508:31:1508:35 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1508:75:1510:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1508:75:1510:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:1509:13:1509:29 | (...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:13:1509:63 | ... .partial_cmp(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:1509:13:1509:63 | ... .partial_cmp(...) | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:1509:14:1509:17 | self | | file://:0:0:0:0 | & | -| main.rs:1509:14:1509:17 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1509:14:1509:19 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:14:1509:28 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:23:1509:26 | self | | file://:0:0:0:0 | & | -| main.rs:1509:23:1509:26 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1509:23:1509:28 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:43:1509:62 | &... | | file://:0:0:0:0 | & | -| main.rs:1509:43:1509:62 | &... | &T | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:44:1509:62 | (...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:45:1509:49 | other | | file://:0:0:0:0 | & | -| main.rs:1509:45:1509:49 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1509:45:1509:51 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:45:1509:61 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1509:55:1509:59 | other | | file://:0:0:0:0 | & | -| main.rs:1509:55:1509:59 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1509:55:1509:61 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1512:15:1512:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1512:15:1512:19 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1512:22:1512:26 | other | | file://:0:0:0:0 | & | -| main.rs:1512:22:1512:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1512:44:1514:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1513:13:1513:16 | self | | file://:0:0:0:0 | & | -| main.rs:1513:13:1513:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1513:13:1513:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1513:13:1513:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1513:13:1513:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1513:22:1513:26 | other | | file://:0:0:0:0 | & | -| main.rs:1513:22:1513:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1513:22:1513:28 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1513:33:1513:36 | self | | file://:0:0:0:0 | & | -| main.rs:1513:33:1513:36 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1513:33:1513:38 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1513:33:1513:48 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1513:42:1513:46 | other | | file://:0:0:0:0 | & | -| main.rs:1513:42:1513:46 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1513:42:1513:48 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1516:15:1516:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1516:15:1516:19 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1516:22:1516:26 | other | | file://:0:0:0:0 | & | -| main.rs:1516:22:1516:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1516:44:1518:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1517:13:1517:16 | self | | file://:0:0:0:0 | & | -| main.rs:1517:13:1517:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1517:13:1517:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1517:13:1517:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1517:13:1517:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1517:23:1517:27 | other | | file://:0:0:0:0 | & | -| main.rs:1517:23:1517:27 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1517:23:1517:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1517:34:1517:37 | self | | file://:0:0:0:0 | & | -| main.rs:1517:34:1517:37 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1517:34:1517:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1517:34:1517:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1517:44:1517:48 | other | | file://:0:0:0:0 | & | -| main.rs:1517:44:1517:48 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1517:44:1517:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1520:15:1520:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1520:15:1520:19 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1520:22:1520:26 | other | | file://:0:0:0:0 | & | -| main.rs:1520:22:1520:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1520:44:1522:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1521:13:1521:16 | self | | file://:0:0:0:0 | & | -| main.rs:1521:13:1521:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1521:13:1521:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1521:13:1521:28 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1521:13:1521:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1111:13:1111:14 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1111:27:1111:33 | "Hello" | | {EXTERNAL LOCATION} | str | +| main.rs:1111:27:1111:45 | "Hello".to_string() | | {EXTERNAL LOCATION} | String | +| main.rs:1114:17:1114:18 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1121:16:1121:20 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1121:16:1121:20 | SelfParam | &T | main.rs:1119:5:1127:5 | Self [trait MyTrait] | +| main.rs:1124:16:1124:20 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1124:16:1124:20 | SelfParam | &T | main.rs:1119:5:1127:5 | Self [trait MyTrait] | +| main.rs:1124:32:1126:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1124:32:1126:9 | { ... } | &T | main.rs:1119:5:1127:5 | Self [trait MyTrait] | +| main.rs:1125:13:1125:16 | self | | file://:0:0:0:0 | & | +| main.rs:1125:13:1125:16 | self | &T | main.rs:1119:5:1127:5 | Self [trait MyTrait] | +| main.rs:1125:13:1125:22 | self.foo() | | file://:0:0:0:0 | & | +| main.rs:1125:13:1125:22 | self.foo() | &T | main.rs:1119:5:1127:5 | Self [trait MyTrait] | +| main.rs:1133:16:1133:20 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1133:16:1133:20 | SelfParam | &T | main.rs:1129:5:1129:20 | MyStruct | +| main.rs:1133:36:1135:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1133:36:1135:9 | { ... } | &T | main.rs:1129:5:1129:20 | MyStruct | +| main.rs:1134:13:1134:16 | self | | file://:0:0:0:0 | & | +| main.rs:1134:13:1134:16 | self | &T | main.rs:1129:5:1129:20 | MyStruct | +| main.rs:1139:13:1139:13 | x | | main.rs:1129:5:1129:20 | MyStruct | +| main.rs:1139:17:1139:24 | MyStruct | | main.rs:1129:5:1129:20 | MyStruct | +| main.rs:1140:9:1140:9 | x | | main.rs:1129:5:1129:20 | MyStruct | +| main.rs:1140:9:1140:15 | x.bar() | | file://:0:0:0:0 | & | +| main.rs:1140:9:1140:15 | x.bar() | &T | main.rs:1129:5:1129:20 | MyStruct | +| main.rs:1150:16:1150:20 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1150:16:1150:20 | SelfParam | &T | main.rs:1147:5:1147:26 | MyStruct | +| main.rs:1150:16:1150:20 | SelfParam | &T.T | main.rs:1149:10:1149:10 | T | +| main.rs:1150:32:1152:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1150:32:1152:9 | { ... } | &T | main.rs:1147:5:1147:26 | MyStruct | +| main.rs:1150:32:1152:9 | { ... } | &T.T | main.rs:1149:10:1149:10 | T | +| main.rs:1151:13:1151:16 | self | | file://:0:0:0:0 | & | +| main.rs:1151:13:1151:16 | self | &T | main.rs:1147:5:1147:26 | MyStruct | +| main.rs:1151:13:1151:16 | self | &T.T | main.rs:1149:10:1149:10 | T | +| main.rs:1156:13:1156:13 | x | | main.rs:1147:5:1147:26 | MyStruct | +| main.rs:1156:13:1156:13 | x | T | main.rs:1145:5:1145:13 | S | +| main.rs:1156:17:1156:27 | MyStruct(...) | | main.rs:1147:5:1147:26 | MyStruct | +| main.rs:1156:17:1156:27 | MyStruct(...) | T | main.rs:1145:5:1145:13 | S | +| main.rs:1156:26:1156:26 | S | | main.rs:1145:5:1145:13 | S | +| main.rs:1157:9:1157:9 | x | | main.rs:1147:5:1147:26 | MyStruct | +| main.rs:1157:9:1157:9 | x | T | main.rs:1145:5:1145:13 | S | +| main.rs:1157:9:1157:15 | x.foo() | | file://:0:0:0:0 | & | +| main.rs:1157:9:1157:15 | x.foo() | &T | main.rs:1147:5:1147:26 | MyStruct | +| main.rs:1157:9:1157:15 | x.foo() | &T.T | main.rs:1145:5:1145:13 | S | +| main.rs:1168:17:1168:25 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1168:17:1168:25 | SelfParam | &T | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1169:13:1169:16 | self | | file://:0:0:0:0 | & | +| main.rs:1169:13:1169:16 | self | &T | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1169:13:1169:21 | self.bool | | {EXTERNAL LOCATION} | bool | +| main.rs:1169:13:1169:34 | ... = ... | | file://:0:0:0:0 | () | +| main.rs:1169:25:1169:34 | ! ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1169:26:1169:29 | self | | file://:0:0:0:0 | & | +| main.rs:1169:26:1169:29 | self | &T | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1169:26:1169:34 | self.bool | | {EXTERNAL LOCATION} | bool | +| main.rs:1176:15:1176:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1176:15:1176:19 | SelfParam | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1176:31:1178:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1176:31:1178:9 | { ... } | &T | file://:0:0:0:0 | & | +| main.rs:1176:31:1178:9 | { ... } | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1176:31:1178:9 | { ... } | &T.&T | file://:0:0:0:0 | & | +| main.rs:1176:31:1178:9 | { ... } | &T.&T.&T | file://:0:0:0:0 | & | +| main.rs:1176:31:1178:9 | { ... } | &T.&T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1177:13:1177:19 | &... | | file://:0:0:0:0 | & | +| main.rs:1177:13:1177:19 | &... | &T | file://:0:0:0:0 | & | +| main.rs:1177:13:1177:19 | &... | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1177:13:1177:19 | &... | &T.&T | file://:0:0:0:0 | & | +| main.rs:1177:13:1177:19 | &... | &T.&T.&T | file://:0:0:0:0 | & | +| main.rs:1177:13:1177:19 | &... | &T.&T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1177:14:1177:19 | &... | | file://:0:0:0:0 | & | +| main.rs:1177:14:1177:19 | &... | | main.rs:1173:5:1173:13 | S | +| main.rs:1177:14:1177:19 | &... | &T | file://:0:0:0:0 | & | +| main.rs:1177:14:1177:19 | &... | &T.&T | file://:0:0:0:0 | & | +| main.rs:1177:14:1177:19 | &... | &T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1177:15:1177:19 | &self | | file://:0:0:0:0 | & | +| main.rs:1177:15:1177:19 | &self | &T | file://:0:0:0:0 | & | +| main.rs:1177:15:1177:19 | &self | &T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1177:16:1177:19 | self | | file://:0:0:0:0 | & | +| main.rs:1177:16:1177:19 | self | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1180:15:1180:25 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1180:15:1180:25 | SelfParam | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1180:37:1182:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1180:37:1182:9 | { ... } | &T | file://:0:0:0:0 | & | +| main.rs:1180:37:1182:9 | { ... } | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1180:37:1182:9 | { ... } | &T.&T | file://:0:0:0:0 | & | +| main.rs:1180:37:1182:9 | { ... } | &T.&T.&T | file://:0:0:0:0 | & | +| main.rs:1180:37:1182:9 | { ... } | &T.&T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1181:13:1181:19 | &... | | file://:0:0:0:0 | & | +| main.rs:1181:13:1181:19 | &... | &T | file://:0:0:0:0 | & | +| main.rs:1181:13:1181:19 | &... | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1181:13:1181:19 | &... | &T.&T | file://:0:0:0:0 | & | +| main.rs:1181:13:1181:19 | &... | &T.&T.&T | file://:0:0:0:0 | & | +| main.rs:1181:13:1181:19 | &... | &T.&T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1181:14:1181:19 | &... | | file://:0:0:0:0 | & | +| main.rs:1181:14:1181:19 | &... | | main.rs:1173:5:1173:13 | S | +| main.rs:1181:14:1181:19 | &... | &T | file://:0:0:0:0 | & | +| main.rs:1181:14:1181:19 | &... | &T.&T | file://:0:0:0:0 | & | +| main.rs:1181:14:1181:19 | &... | &T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1181:15:1181:19 | &self | | file://:0:0:0:0 | & | +| main.rs:1181:15:1181:19 | &self | &T | file://:0:0:0:0 | & | +| main.rs:1181:15:1181:19 | &self | &T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1181:16:1181:19 | self | | file://:0:0:0:0 | & | +| main.rs:1181:16:1181:19 | self | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1184:15:1184:15 | x | | file://:0:0:0:0 | & | +| main.rs:1184:15:1184:15 | x | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1184:34:1186:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1184:34:1186:9 | { ... } | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1185:13:1185:13 | x | | file://:0:0:0:0 | & | +| main.rs:1185:13:1185:13 | x | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1188:15:1188:15 | x | | file://:0:0:0:0 | & | +| main.rs:1188:15:1188:15 | x | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1188:34:1190:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1188:34:1190:9 | { ... } | &T | file://:0:0:0:0 | & | +| main.rs:1188:34:1190:9 | { ... } | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1188:34:1190:9 | { ... } | &T.&T | file://:0:0:0:0 | & | +| main.rs:1188:34:1190:9 | { ... } | &T.&T.&T | file://:0:0:0:0 | & | +| main.rs:1188:34:1190:9 | { ... } | &T.&T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1189:13:1189:16 | &... | | file://:0:0:0:0 | & | +| main.rs:1189:13:1189:16 | &... | &T | file://:0:0:0:0 | & | +| main.rs:1189:13:1189:16 | &... | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1189:13:1189:16 | &... | &T.&T | file://:0:0:0:0 | & | +| main.rs:1189:13:1189:16 | &... | &T.&T.&T | file://:0:0:0:0 | & | +| main.rs:1189:13:1189:16 | &... | &T.&T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1189:14:1189:16 | &... | | file://:0:0:0:0 | & | +| main.rs:1189:14:1189:16 | &... | | main.rs:1173:5:1173:13 | S | +| main.rs:1189:14:1189:16 | &... | &T | file://:0:0:0:0 | & | +| main.rs:1189:14:1189:16 | &... | &T.&T | file://:0:0:0:0 | & | +| main.rs:1189:14:1189:16 | &... | &T.&T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1189:15:1189:16 | &x | | file://:0:0:0:0 | & | +| main.rs:1189:15:1189:16 | &x | &T | file://:0:0:0:0 | & | +| main.rs:1189:15:1189:16 | &x | &T.&T | main.rs:1173:5:1173:13 | S | +| main.rs:1189:16:1189:16 | x | | file://:0:0:0:0 | & | +| main.rs:1189:16:1189:16 | x | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1194:13:1194:13 | x | | main.rs:1173:5:1173:13 | S | +| main.rs:1194:17:1194:20 | S {...} | | main.rs:1173:5:1173:13 | S | +| main.rs:1195:9:1195:9 | x | | main.rs:1173:5:1173:13 | S | +| main.rs:1195:9:1195:14 | x.f1() | | file://:0:0:0:0 | & | +| main.rs:1195:9:1195:14 | x.f1() | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1196:9:1196:9 | x | | main.rs:1173:5:1173:13 | S | +| main.rs:1196:9:1196:14 | x.f2() | | file://:0:0:0:0 | & | +| main.rs:1196:9:1196:14 | x.f2() | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1197:9:1197:17 | ...::f3(...) | | file://:0:0:0:0 | & | +| main.rs:1197:9:1197:17 | ...::f3(...) | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1197:15:1197:16 | &x | | file://:0:0:0:0 | & | +| main.rs:1197:15:1197:16 | &x | &T | main.rs:1173:5:1173:13 | S | +| main.rs:1197:16:1197:16 | x | | main.rs:1173:5:1173:13 | S | +| main.rs:1199:13:1199:13 | n | | {EXTERNAL LOCATION} | bool | +| main.rs:1199:13:1199:13 | n | | file://:0:0:0:0 | & | +| main.rs:1199:17:1199:24 | * ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1199:17:1199:24 | * ... | | file://:0:0:0:0 | & | +| main.rs:1199:18:1199:24 | * ... | | file://:0:0:0:0 | & | +| main.rs:1199:18:1199:24 | * ... | &T | {EXTERNAL LOCATION} | bool | +| main.rs:1199:18:1199:24 | * ... | &T | file://:0:0:0:0 | & | +| main.rs:1199:19:1199:24 | &... | | file://:0:0:0:0 | & | +| main.rs:1199:19:1199:24 | &... | &T | file://:0:0:0:0 | & | +| main.rs:1199:19:1199:24 | &... | &T.&T | {EXTERNAL LOCATION} | bool | +| main.rs:1199:19:1199:24 | &... | &T.&T | file://:0:0:0:0 | & | +| main.rs:1199:20:1199:24 | &true | | file://:0:0:0:0 | & | +| main.rs:1199:20:1199:24 | &true | &T | {EXTERNAL LOCATION} | bool | +| main.rs:1199:20:1199:24 | &true | &T | file://:0:0:0:0 | & | +| main.rs:1199:21:1199:24 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1199:21:1199:24 | true | | file://:0:0:0:0 | & | +| main.rs:1203:13:1203:20 | mut flag | | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1203:24:1203:41 | ...::default(...) | | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1204:22:1204:30 | &mut flag | | file://:0:0:0:0 | & | +| main.rs:1204:22:1204:30 | &mut flag | &T | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1204:27:1204:30 | flag | | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1205:18:1205:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1205:26:1205:29 | flag | | main.rs:1162:5:1165:5 | MyFlag | +| main.rs:1219:43:1222:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1219:43:1222:5 | { ... } | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1219:43:1222:5 | { ... } | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1220:13:1220:13 | x | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1220:17:1220:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1220:17:1220:30 | ...::Ok(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1220:17:1220:31 | TryExpr | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1220:28:1220:29 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1221:9:1221:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1221:9:1221:22 | ...::Ok(...) | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1221:9:1221:22 | ...::Ok(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1221:20:1221:21 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1225:46:1229:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1225:46:1229:5 | { ... } | E | main.rs:1215:5:1216:14 | S2 | +| main.rs:1225:46:1229:5 | { ... } | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1226:13:1226:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1226:13:1226:13 | x | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1226:17:1226:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1226:17:1226:30 | ...::Ok(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1226:28:1226:29 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1227:13:1227:13 | y | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1227:17:1227:17 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1227:17:1227:17 | x | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1227:17:1227:18 | TryExpr | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1228:9:1228:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1228:9:1228:22 | ...::Ok(...) | E | main.rs:1215:5:1216:14 | S2 | +| main.rs:1228:9:1228:22 | ...::Ok(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1228:20:1228:21 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1232:40:1237:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1232:40:1237:5 | { ... } | E | main.rs:1215:5:1216:14 | S2 | +| main.rs:1232:40:1237:5 | { ... } | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1233:13:1233:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1233:13:1233:13 | x | T | {EXTERNAL LOCATION} | Result | +| main.rs:1233:13:1233:13 | x | T.T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1233:17:1233:42 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1233:17:1233:42 | ...::Ok(...) | T | {EXTERNAL LOCATION} | Result | +| main.rs:1233:17:1233:42 | ...::Ok(...) | T.T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1233:28:1233:41 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1233:28:1233:41 | ...::Ok(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1233:39:1233:40 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1235:17:1235:17 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1235:17:1235:17 | x | T | {EXTERNAL LOCATION} | Result | +| main.rs:1235:17:1235:17 | x | T.T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1235:17:1235:18 | TryExpr | | {EXTERNAL LOCATION} | Result | +| main.rs:1235:17:1235:18 | TryExpr | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1235:17:1235:29 | ... .map(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1236:9:1236:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1236:9:1236:22 | ...::Ok(...) | E | main.rs:1215:5:1216:14 | S2 | +| main.rs:1236:9:1236:22 | ...::Ok(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1236:20:1236:21 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1240:30:1240:34 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1240:30:1240:34 | input | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1240:30:1240:34 | input | T | main.rs:1240:20:1240:27 | T | +| main.rs:1240:69:1247:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1240:69:1247:5 | { ... } | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1240:69:1247:5 | { ... } | T | main.rs:1240:20:1240:27 | T | +| main.rs:1241:13:1241:17 | value | | main.rs:1240:20:1240:27 | T | +| main.rs:1241:21:1241:25 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1241:21:1241:25 | input | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1241:21:1241:25 | input | T | main.rs:1240:20:1240:27 | T | +| main.rs:1241:21:1241:26 | TryExpr | | main.rs:1240:20:1240:27 | T | +| main.rs:1242:22:1242:38 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1242:22:1242:38 | ...::Ok(...) | T | main.rs:1240:20:1240:27 | T | +| main.rs:1242:22:1245:10 | ... .and_then(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1242:33:1242:37 | value | | main.rs:1240:20:1240:27 | T | +| main.rs:1242:53:1245:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1242:53:1245:9 | { ... } | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1243:22:1243:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1244:13:1244:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1244:13:1244:34 | ...::Ok::<...>(...) | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1246:9:1246:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1246:9:1246:23 | ...::Err(...) | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1246:9:1246:23 | ...::Err(...) | T | main.rs:1240:20:1240:27 | T | +| main.rs:1246:21:1246:22 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1250:37:1250:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1250:37:1250:52 | try_same_error(...) | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1250:37:1250:52 | try_same_error(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1251:22:1251:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1254:37:1254:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1254:37:1254:55 | try_convert_error(...) | E | main.rs:1215:5:1216:14 | S2 | +| main.rs:1254:37:1254:55 | try_convert_error(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1255:22:1255:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1258:37:1258:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1258:37:1258:49 | try_chained(...) | E | main.rs:1215:5:1216:14 | S2 | +| main.rs:1258:37:1258:49 | try_chained(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1259:22:1259:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1262:37:1262:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1262:37:1262:63 | try_complex(...) | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1262:37:1262:63 | try_complex(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1262:49:1262:62 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1262:49:1262:62 | ...::Ok(...) | E | main.rs:1212:5:1213:14 | S1 | +| main.rs:1262:49:1262:62 | ...::Ok(...) | T | main.rs:1212:5:1213:14 | S1 | +| main.rs:1262:60:1262:61 | S1 | | main.rs:1212:5:1213:14 | S1 | +| main.rs:1263:22:1263:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1270:13:1270:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1270:22:1270:22 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1271:13:1271:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1271:17:1271:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1272:13:1272:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1272:17:1272:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1272:17:1272:21 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:1272:21:1272:21 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1273:13:1273:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1273:17:1273:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1273:17:1273:23 | x.abs() | | {EXTERNAL LOCATION} | i32 | +| main.rs:1274:13:1274:13 | c | | {EXTERNAL LOCATION} | char | +| main.rs:1274:17:1274:19 | 'c' | | {EXTERNAL LOCATION} | char | +| main.rs:1275:13:1275:17 | hello | | {EXTERNAL LOCATION} | str | +| main.rs:1275:21:1275:27 | "Hello" | | {EXTERNAL LOCATION} | str | +| main.rs:1276:13:1276:13 | f | | {EXTERNAL LOCATION} | f64 | +| main.rs:1276:17:1276:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | +| main.rs:1277:13:1277:13 | t | | {EXTERNAL LOCATION} | bool | +| main.rs:1277:17:1277:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1278:13:1278:13 | f | | {EXTERNAL LOCATION} | bool | +| main.rs:1278:17:1278:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1285:13:1285:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:1285:17:1285:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1285:17:1285:29 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1285:25:1285:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1286:13:1286:13 | y | | {EXTERNAL LOCATION} | bool | +| main.rs:1286:17:1286:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1286:17:1286:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1286:25:1286:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1288:13:1288:17 | mut a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1289:13:1289:16 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1289:20:1289:21 | 34 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1289:20:1289:27 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1289:26:1289:27 | 33 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1290:12:1290:15 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1291:17:1291:17 | z | | file://:0:0:0:0 | () | +| main.rs:1291:21:1291:27 | (...) | | file://:0:0:0:0 | () | +| main.rs:1291:22:1291:22 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1291:22:1291:26 | ... = ... | | file://:0:0:0:0 | () | +| main.rs:1291:26:1291:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1293:13:1293:13 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1293:13:1293:17 | ... = ... | | file://:0:0:0:0 | () | +| main.rs:1293:17:1293:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1295:9:1295:9 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1312:16:1312:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1312:22:1312:24 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1312:41:1317:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1313:13:1316:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1314:20:1314:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1314:20:1314:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1314:20:1314:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1314:29:1314:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1314:29:1314:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1315:20:1315:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1315:20:1315:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1315:20:1315:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1315:29:1315:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1315:29:1315:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1322:23:1322:31 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1322:23:1322:31 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1322:34:1322:36 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1323:13:1323:16 | self | | file://:0:0:0:0 | & | +| main.rs:1323:13:1323:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1323:13:1323:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1323:13:1323:27 | ... += ... | | file://:0:0:0:0 | () | +| main.rs:1323:23:1323:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1323:23:1323:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1324:13:1324:16 | self | | file://:0:0:0:0 | & | +| main.rs:1324:13:1324:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1324:13:1324:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1324:13:1324:27 | ... += ... | | file://:0:0:0:0 | () | +| main.rs:1324:23:1324:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1324:23:1324:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1330:16:1330:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1330:22:1330:24 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1330:41:1335:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1331:13:1334:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1332:20:1332:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1332:20:1332:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1332:20:1332:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1332:29:1332:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1332:29:1332:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1333:20:1333:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1333:20:1333:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1333:20:1333:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1333:29:1333:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1333:29:1333:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1340:23:1340:31 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1340:23:1340:31 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1340:34:1340:36 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1341:13:1341:16 | self | | file://:0:0:0:0 | & | +| main.rs:1341:13:1341:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1341:13:1341:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1341:13:1341:27 | ... -= ... | | file://:0:0:0:0 | () | +| main.rs:1341:23:1341:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1341:23:1341:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1342:13:1342:16 | self | | file://:0:0:0:0 | & | +| main.rs:1342:13:1342:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1342:13:1342:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1342:13:1342:27 | ... -= ... | | file://:0:0:0:0 | () | +| main.rs:1342:23:1342:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1342:23:1342:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1348:16:1348:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1348:22:1348:24 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1348:41:1353:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1349:13:1352:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1350:20:1350:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1350:20:1350:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1350:20:1350:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1350:29:1350:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1350:29:1350:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1351:20:1351:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1351:20:1351:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1351:20:1351:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1351:29:1351:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1351:29:1351:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1357:23:1357:31 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1357:23:1357:31 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1357:34:1357:36 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1358:13:1358:16 | self | | file://:0:0:0:0 | & | +| main.rs:1358:13:1358:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1358:13:1358:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1358:13:1358:27 | ... *= ... | | file://:0:0:0:0 | () | +| main.rs:1358:23:1358:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1358:23:1358:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1359:13:1359:16 | self | | file://:0:0:0:0 | & | +| main.rs:1359:13:1359:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1359:13:1359:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1359:13:1359:27 | ... *= ... | | file://:0:0:0:0 | () | +| main.rs:1359:23:1359:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1359:23:1359:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1365:16:1365:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1365:22:1365:24 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1365:41:1370:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1366:13:1369:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1367:20:1367:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1367:20:1367:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1367:20:1367:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1367:29:1367:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1367:29:1367:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1368:20:1368:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1368:20:1368:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1368:20:1368:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1368:29:1368:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1368:29:1368:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1374:23:1374:31 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1374:23:1374:31 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1374:34:1374:36 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1375:13:1375:16 | self | | file://:0:0:0:0 | & | +| main.rs:1375:13:1375:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1375:13:1375:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1375:13:1375:27 | ... /= ... | | file://:0:0:0:0 | () | +| main.rs:1375:23:1375:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1375:23:1375:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1376:13:1376:16 | self | | file://:0:0:0:0 | & | +| main.rs:1376:13:1376:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1376:13:1376:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1376:13:1376:27 | ... /= ... | | file://:0:0:0:0 | () | +| main.rs:1376:23:1376:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1376:23:1376:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1382:16:1382:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1382:22:1382:24 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1382:41:1387:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1383:13:1386:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1384:20:1384:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1384:20:1384:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1384:20:1384:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1384:29:1384:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1384:29:1384:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1385:20:1385:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1385:20:1385:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1385:20:1385:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1385:29:1385:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1385:29:1385:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1391:23:1391:31 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1391:23:1391:31 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1391:34:1391:36 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1392:13:1392:16 | self | | file://:0:0:0:0 | & | +| main.rs:1392:13:1392:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1392:13:1392:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1392:13:1392:27 | ... %= ... | | file://:0:0:0:0 | () | +| main.rs:1392:23:1392:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1392:23:1392:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1393:13:1393:16 | self | | file://:0:0:0:0 | & | +| main.rs:1393:13:1393:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1393:13:1393:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1393:13:1393:27 | ... %= ... | | file://:0:0:0:0 | () | +| main.rs:1393:23:1393:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1393:23:1393:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1399:19:1399:22 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1399:25:1399:27 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1399:44:1404:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1400:13:1403:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1401:20:1401:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1401:20:1401:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1401:20:1401:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1401:29:1401:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1401:29:1401:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1402:20:1402:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1402:20:1402:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1402:20:1402:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1402:29:1402:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1402:29:1402:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1408:26:1408:34 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1408:26:1408:34 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1408:37:1408:39 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1409:13:1409:16 | self | | file://:0:0:0:0 | & | +| main.rs:1409:13:1409:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1409:13:1409:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1409:13:1409:27 | ... &= ... | | file://:0:0:0:0 | () | +| main.rs:1409:23:1409:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1409:23:1409:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1410:13:1410:16 | self | | file://:0:0:0:0 | & | +| main.rs:1410:13:1410:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1410:13:1410:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1410:13:1410:27 | ... &= ... | | file://:0:0:0:0 | () | +| main.rs:1410:23:1410:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1410:23:1410:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1416:18:1416:21 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1416:24:1416:26 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1416:43:1421:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1417:13:1420:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1418:20:1418:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1418:20:1418:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1418:20:1418:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1418:29:1418:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1418:29:1418:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1419:20:1419:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1419:20:1419:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1419:20:1419:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1419:29:1419:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1419:29:1419:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1425:25:1425:33 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1425:25:1425:33 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1425:36:1425:38 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1426:13:1426:16 | self | | file://:0:0:0:0 | & | +| main.rs:1426:13:1426:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1426:13:1426:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1426:13:1426:27 | ... \|= ... | | file://:0:0:0:0 | () | +| main.rs:1426:23:1426:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1426:23:1426:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1427:13:1427:16 | self | | file://:0:0:0:0 | & | +| main.rs:1427:13:1427:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1427:13:1427:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1427:13:1427:27 | ... \|= ... | | file://:0:0:0:0 | () | +| main.rs:1427:23:1427:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1427:23:1427:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1433:19:1433:22 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1433:25:1433:27 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1433:44:1438:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1434:13:1437:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1435:20:1435:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1435:20:1435:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1435:20:1435:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1435:29:1435:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1435:29:1435:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1436:20:1436:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1436:20:1436:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1436:20:1436:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1436:29:1436:31 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1436:29:1436:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1442:26:1442:34 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1442:26:1442:34 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1442:37:1442:39 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1443:13:1443:16 | self | | file://:0:0:0:0 | & | +| main.rs:1443:13:1443:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1443:13:1443:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1443:13:1443:27 | ... ^= ... | | file://:0:0:0:0 | () | +| main.rs:1443:23:1443:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1443:23:1443:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1444:13:1444:16 | self | | file://:0:0:0:0 | & | +| main.rs:1444:13:1444:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1444:13:1444:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1444:13:1444:27 | ... ^= ... | | file://:0:0:0:0 | () | +| main.rs:1444:23:1444:25 | rhs | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1444:23:1444:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1450:16:1450:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1450:22:1450:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1450:40:1455:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1451:13:1454:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1452:20:1452:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1452:20:1452:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1452:20:1452:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1452:30:1452:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1453:20:1453:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1453:20:1453:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1453:20:1453:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1453:30:1453:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1459:23:1459:31 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1459:23:1459:31 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1459:34:1459:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1460:13:1460:16 | self | | file://:0:0:0:0 | & | +| main.rs:1460:13:1460:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1460:13:1460:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1460:13:1460:26 | ... <<= ... | | file://:0:0:0:0 | () | +| main.rs:1460:24:1460:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1461:13:1461:16 | self | | file://:0:0:0:0 | & | +| main.rs:1461:13:1461:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1461:13:1461:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1461:13:1461:26 | ... <<= ... | | file://:0:0:0:0 | () | +| main.rs:1461:24:1461:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1467:16:1467:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1467:22:1467:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1467:40:1472:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1468:13:1471:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1469:20:1469:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1469:20:1469:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1469:20:1469:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1469:30:1469:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1470:20:1470:23 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1470:20:1470:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1470:20:1470:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1470:30:1470:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1476:23:1476:31 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1476:23:1476:31 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1476:34:1476:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1477:13:1477:16 | self | | file://:0:0:0:0 | & | +| main.rs:1477:13:1477:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1477:13:1477:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1477:13:1477:26 | ... >>= ... | | file://:0:0:0:0 | () | +| main.rs:1477:24:1477:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1478:13:1478:16 | self | | file://:0:0:0:0 | & | +| main.rs:1478:13:1478:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1478:13:1478:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1478:13:1478:26 | ... >>= ... | | file://:0:0:0:0 | () | +| main.rs:1478:24:1478:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1484:16:1484:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1484:30:1489:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1485:13:1488:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1486:20:1486:26 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1486:21:1486:24 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1486:21:1486:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1487:20:1487:26 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1487:21:1487:24 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1487:21:1487:26 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1494:16:1494:19 | SelfParam | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1494:30:1499:9 | { ... } | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1495:13:1498:13 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1496:20:1496:26 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1496:21:1496:24 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1496:21:1496:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1497:20:1497:26 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1497:21:1497:24 | self | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1497:21:1497:26 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1503:15:1503:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1503:15:1503:19 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1503:22:1503:26 | other | | file://:0:0:0:0 | & | +| main.rs:1503:22:1503:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1503:44:1505:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1504:13:1504:16 | self | | file://:0:0:0:0 | & | +| main.rs:1504:13:1504:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1504:13:1504:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1504:13:1504:29 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1504:13:1504:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1504:23:1504:27 | other | | file://:0:0:0:0 | & | +| main.rs:1504:23:1504:27 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1504:23:1504:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1504:34:1504:37 | self | | file://:0:0:0:0 | & | +| main.rs:1504:34:1504:37 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1504:34:1504:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1504:34:1504:50 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1504:44:1504:48 | other | | file://:0:0:0:0 | & | +| main.rs:1504:44:1504:48 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1504:44:1504:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1507:15:1507:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1507:15:1507:19 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1507:22:1507:26 | other | | file://:0:0:0:0 | & | +| main.rs:1507:22:1507:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1507:44:1509:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1508:13:1508:16 | self | | file://:0:0:0:0 | & | +| main.rs:1508:13:1508:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1508:13:1508:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1508:13:1508:29 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1508:13:1508:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1508:23:1508:27 | other | | file://:0:0:0:0 | & | +| main.rs:1508:23:1508:27 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1508:23:1508:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1508:34:1508:37 | self | | file://:0:0:0:0 | & | +| main.rs:1508:34:1508:37 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1508:34:1508:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1508:34:1508:50 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1508:44:1508:48 | other | | file://:0:0:0:0 | & | +| main.rs:1508:44:1508:48 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1508:44:1508:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1513:24:1513:28 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1513:24:1513:28 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1513:31:1513:35 | other | | file://:0:0:0:0 | & | +| main.rs:1513:31:1513:35 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1513:75:1515:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1513:75:1515:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1514:13:1514:29 | (...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:13:1514:63 | ... .partial_cmp(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:1514:13:1514:63 | ... .partial_cmp(...) | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1514:14:1514:17 | self | | file://:0:0:0:0 | & | +| main.rs:1514:14:1514:17 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1514:14:1514:19 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:14:1514:28 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:23:1514:26 | self | | file://:0:0:0:0 | & | +| main.rs:1514:23:1514:26 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1514:23:1514:28 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:43:1514:62 | &... | | file://:0:0:0:0 | & | +| main.rs:1514:43:1514:62 | &... | &T | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:44:1514:62 | (...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:45:1514:49 | other | | file://:0:0:0:0 | & | +| main.rs:1514:45:1514:49 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1514:45:1514:51 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:45:1514:61 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:55:1514:59 | other | | file://:0:0:0:0 | & | +| main.rs:1514:55:1514:59 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1514:55:1514:61 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1517:15:1517:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1517:15:1517:19 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1517:22:1517:26 | other | | file://:0:0:0:0 | & | +| main.rs:1517:22:1517:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1517:44:1519:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1518:13:1518:16 | self | | file://:0:0:0:0 | & | +| main.rs:1518:13:1518:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1518:13:1518:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1518:13:1518:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1518:13:1518:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1518:22:1518:26 | other | | file://:0:0:0:0 | & | +| main.rs:1518:22:1518:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1518:22:1518:28 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1518:33:1518:36 | self | | file://:0:0:0:0 | & | +| main.rs:1518:33:1518:36 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1518:33:1518:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1518:33:1518:48 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1518:42:1518:46 | other | | file://:0:0:0:0 | & | +| main.rs:1518:42:1518:46 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1518:42:1518:48 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1521:15:1521:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1521:15:1521:19 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | | main.rs:1521:22:1521:26 | other | | file://:0:0:0:0 | & | -| main.rs:1521:22:1521:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1521:22:1521:28 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1521:33:1521:36 | self | | file://:0:0:0:0 | & | -| main.rs:1521:33:1521:36 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1521:33:1521:38 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1521:33:1521:48 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1521:42:1521:46 | other | | file://:0:0:0:0 | & | -| main.rs:1521:42:1521:46 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1521:42:1521:48 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1524:15:1524:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1524:15:1524:19 | SelfParam | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1524:22:1524:26 | other | | file://:0:0:0:0 | & | -| main.rs:1524:22:1524:26 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1524:44:1526:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1525:13:1525:16 | self | | file://:0:0:0:0 | & | -| main.rs:1525:13:1525:16 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1525:13:1525:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1525:13:1525:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1525:13:1525:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1525:23:1525:27 | other | | file://:0:0:0:0 | & | -| main.rs:1525:23:1525:27 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1525:23:1525:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1525:34:1525:37 | self | | file://:0:0:0:0 | & | -| main.rs:1525:34:1525:37 | self | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1525:34:1525:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1525:34:1525:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1525:44:1525:48 | other | | file://:0:0:0:0 | & | -| main.rs:1525:44:1525:48 | other | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1525:44:1525:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1532:13:1532:18 | i64_eq | | {EXTERNAL LOCATION} | bool | -| main.rs:1532:22:1532:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1532:23:1532:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1532:23:1532:34 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1532:31:1532:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1533:13:1533:18 | i64_ne | | {EXTERNAL LOCATION} | bool | -| main.rs:1533:22:1533:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1533:23:1533:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1533:23:1533:34 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1533:31:1533:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1534:13:1534:18 | i64_lt | | {EXTERNAL LOCATION} | bool | -| main.rs:1534:22:1534:34 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1534:23:1534:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1534:23:1534:33 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1534:30:1534:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1535:13:1535:18 | i64_le | | {EXTERNAL LOCATION} | bool | -| main.rs:1535:22:1535:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1535:23:1535:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1535:23:1535:34 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1535:31:1535:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1536:13:1536:18 | i64_gt | | {EXTERNAL LOCATION} | bool | -| main.rs:1536:22:1536:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1536:23:1536:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1536:23:1536:34 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1536:30:1536:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1537:13:1537:18 | i64_ge | | {EXTERNAL LOCATION} | bool | -| main.rs:1537:22:1537:37 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1537:23:1537:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1537:23:1537:36 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1537:32:1537:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1540:13:1540:19 | i64_add | | {EXTERNAL LOCATION} | i64 | -| main.rs:1540:23:1540:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1540:23:1540:35 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1540:31:1540:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1541:13:1541:19 | i64_sub | | {EXTERNAL LOCATION} | i64 | -| main.rs:1541:23:1541:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1541:23:1541:35 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1541:31:1541:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1542:13:1542:19 | i64_mul | | {EXTERNAL LOCATION} | i64 | -| main.rs:1542:23:1542:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1542:23:1542:35 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1542:31:1542:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1543:13:1543:19 | i64_div | | {EXTERNAL LOCATION} | i64 | -| main.rs:1543:23:1543:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1543:23:1543:35 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1543:31:1543:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1544:13:1544:19 | i64_rem | | {EXTERNAL LOCATION} | i64 | -| main.rs:1544:23:1544:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1544:23:1544:35 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1544:31:1544:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1547:13:1547:30 | mut i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1547:34:1547:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1548:9:1548:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1548:9:1548:31 | ... += ... | | file://:0:0:0:0 | () | -| main.rs:1548:27:1548:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1550:13:1550:30 | mut i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1550:34:1550:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1551:9:1551:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1551:9:1551:31 | ... -= ... | | file://:0:0:0:0 | () | -| main.rs:1551:27:1551:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1553:13:1553:30 | mut i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1553:34:1553:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1554:9:1554:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1554:9:1554:31 | ... *= ... | | file://:0:0:0:0 | () | -| main.rs:1554:27:1554:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1556:13:1556:30 | mut i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1556:34:1556:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1557:9:1557:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1557:9:1557:31 | ... /= ... | | file://:0:0:0:0 | () | -| main.rs:1557:27:1557:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1559:13:1559:30 | mut i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1559:34:1559:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1560:9:1560:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1560:9:1560:31 | ... %= ... | | file://:0:0:0:0 | () | -| main.rs:1560:27:1560:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1563:13:1563:22 | i64_bitand | | {EXTERNAL LOCATION} | i64 | -| main.rs:1563:26:1563:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1563:26:1563:38 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1563:34:1563:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1564:13:1564:21 | i64_bitor | | {EXTERNAL LOCATION} | i64 | -| main.rs:1564:25:1564:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1564:25:1564:37 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1564:33:1564:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1565:13:1565:22 | i64_bitxor | | {EXTERNAL LOCATION} | i64 | -| main.rs:1565:26:1565:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1565:26:1565:38 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1565:34:1565:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1566:13:1566:19 | i64_shl | | {EXTERNAL LOCATION} | i64 | -| main.rs:1566:23:1566:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1566:23:1566:36 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1566:32:1566:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1567:13:1567:19 | i64_shr | | {EXTERNAL LOCATION} | i64 | -| main.rs:1567:23:1567:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1567:23:1567:36 | ... >> ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1567:32:1567:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1570:13:1570:33 | mut i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1570:37:1570:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1571:9:1571:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1571:9:1571:34 | ... &= ... | | file://:0:0:0:0 | () | -| main.rs:1571:30:1571:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1573:13:1573:32 | mut i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1573:36:1573:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1574:9:1574:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1574:9:1574:33 | ... \|= ... | | file://:0:0:0:0 | () | -| main.rs:1574:29:1574:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1576:13:1576:33 | mut i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1576:37:1576:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1577:9:1577:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1577:9:1577:34 | ... ^= ... | | file://:0:0:0:0 | () | -| main.rs:1577:30:1577:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1579:13:1579:30 | mut i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1579:34:1579:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1580:9:1580:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1580:9:1580:32 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1580:28:1580:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1582:13:1582:30 | mut i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1582:34:1582:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1583:9:1583:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1583:9:1583:32 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1583:28:1583:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1585:13:1585:19 | i64_neg | | {EXTERNAL LOCATION} | i64 | -| main.rs:1585:23:1585:28 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1585:24:1585:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1586:13:1586:19 | i64_not | | {EXTERNAL LOCATION} | i64 | -| main.rs:1586:23:1586:28 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1586:24:1586:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1589:13:1589:14 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1589:18:1589:36 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1589:28:1589:28 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1589:28:1589:28 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1589:34:1589:34 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1589:34:1589:34 | 2 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1590:13:1590:14 | v2 | | file://:0:0:0:0 | & | -| main.rs:1590:13:1590:14 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1590:13:1590:14 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1590:18:1590:36 | Vec2 {...} | | file://:0:0:0:0 | & | -| main.rs:1590:18:1590:36 | Vec2 {...} | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1590:18:1590:36 | Vec2 {...} | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1590:28:1590:28 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1590:28:1590:28 | 3 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1590:34:1590:34 | 4 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1590:34:1590:34 | 4 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1593:13:1593:19 | vec2_eq | | {EXTERNAL LOCATION} | bool | -| main.rs:1593:23:1593:24 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1593:23:1593:30 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1593:29:1593:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1593:29:1593:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1593:29:1593:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1594:13:1594:19 | vec2_ne | | {EXTERNAL LOCATION} | bool | -| main.rs:1594:23:1594:24 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1594:23:1594:30 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1594:29:1594:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1594:29:1594:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1594:29:1594:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1595:13:1595:19 | vec2_lt | | {EXTERNAL LOCATION} | bool | -| main.rs:1595:23:1595:24 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1595:23:1595:29 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1595:28:1595:29 | v2 | | file://:0:0:0:0 | & | -| main.rs:1595:28:1595:29 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1595:28:1595:29 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1596:13:1596:19 | vec2_le | | {EXTERNAL LOCATION} | bool | -| main.rs:1596:23:1596:24 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1596:23:1596:30 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1596:29:1596:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1596:29:1596:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1596:29:1596:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1597:13:1597:19 | vec2_gt | | {EXTERNAL LOCATION} | bool | -| main.rs:1597:23:1597:24 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1597:23:1597:29 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1597:28:1597:29 | v2 | | file://:0:0:0:0 | & | -| main.rs:1597:28:1597:29 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1597:28:1597:29 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1598:13:1598:19 | vec2_ge | | {EXTERNAL LOCATION} | bool | -| main.rs:1598:23:1598:24 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1598:23:1598:30 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1521:22:1521:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1521:44:1523:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1522:13:1522:16 | self | | file://:0:0:0:0 | & | +| main.rs:1522:13:1522:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1522:13:1522:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1522:13:1522:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1522:13:1522:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1522:23:1522:27 | other | | file://:0:0:0:0 | & | +| main.rs:1522:23:1522:27 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1522:23:1522:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1522:34:1522:37 | self | | file://:0:0:0:0 | & | +| main.rs:1522:34:1522:37 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1522:34:1522:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1522:34:1522:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1522:44:1522:48 | other | | file://:0:0:0:0 | & | +| main.rs:1522:44:1522:48 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1522:44:1522:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1525:15:1525:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1525:15:1525:19 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1525:22:1525:26 | other | | file://:0:0:0:0 | & | +| main.rs:1525:22:1525:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1525:44:1527:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1526:13:1526:16 | self | | file://:0:0:0:0 | & | +| main.rs:1526:13:1526:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1526:13:1526:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1526:13:1526:28 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1526:13:1526:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1526:22:1526:26 | other | | file://:0:0:0:0 | & | +| main.rs:1526:22:1526:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1526:22:1526:28 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1526:33:1526:36 | self | | file://:0:0:0:0 | & | +| main.rs:1526:33:1526:36 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1526:33:1526:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1526:33:1526:48 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1526:42:1526:46 | other | | file://:0:0:0:0 | & | +| main.rs:1526:42:1526:46 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1526:42:1526:48 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1529:15:1529:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1529:15:1529:19 | SelfParam | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1529:22:1529:26 | other | | file://:0:0:0:0 | & | +| main.rs:1529:22:1529:26 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1529:44:1531:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1530:13:1530:16 | self | | file://:0:0:0:0 | & | +| main.rs:1530:13:1530:16 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1530:13:1530:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1530:13:1530:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1530:13:1530:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1530:23:1530:27 | other | | file://:0:0:0:0 | & | +| main.rs:1530:23:1530:27 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1530:23:1530:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1530:34:1530:37 | self | | file://:0:0:0:0 | & | +| main.rs:1530:34:1530:37 | self | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1530:34:1530:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1530:34:1530:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1530:44:1530:48 | other | | file://:0:0:0:0 | & | +| main.rs:1530:44:1530:48 | other | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1530:44:1530:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1537:13:1537:18 | i64_eq | | {EXTERNAL LOCATION} | bool | +| main.rs:1537:22:1537:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1537:23:1537:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1537:23:1537:34 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1537:31:1537:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1538:13:1538:18 | i64_ne | | {EXTERNAL LOCATION} | bool | +| main.rs:1538:22:1538:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1538:23:1538:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1538:23:1538:34 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1538:31:1538:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1539:13:1539:18 | i64_lt | | {EXTERNAL LOCATION} | bool | +| main.rs:1539:22:1539:34 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1539:23:1539:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1539:23:1539:33 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1539:30:1539:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1540:13:1540:18 | i64_le | | {EXTERNAL LOCATION} | bool | +| main.rs:1540:22:1540:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1540:23:1540:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1540:23:1540:34 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1540:31:1540:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1541:13:1541:18 | i64_gt | | {EXTERNAL LOCATION} | bool | +| main.rs:1541:22:1541:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1541:23:1541:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1541:23:1541:34 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1541:30:1541:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1542:13:1542:18 | i64_ge | | {EXTERNAL LOCATION} | bool | +| main.rs:1542:22:1542:37 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1542:23:1542:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1542:23:1542:36 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1542:32:1542:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:13:1545:19 | i64_add | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:23:1545:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:23:1545:35 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:31:1545:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:13:1546:19 | i64_sub | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:23:1546:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:23:1546:35 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:31:1546:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:13:1547:19 | i64_mul | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:23:1547:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:23:1547:35 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:31:1547:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:13:1548:19 | i64_div | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:23:1548:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:23:1548:35 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:31:1548:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1549:13:1549:19 | i64_rem | | {EXTERNAL LOCATION} | i64 | +| main.rs:1549:23:1549:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1549:23:1549:35 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1549:31:1549:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1552:13:1552:30 | mut i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1552:34:1552:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1553:9:1553:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1553:9:1553:31 | ... += ... | | file://:0:0:0:0 | () | +| main.rs:1553:27:1553:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1555:13:1555:30 | mut i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1555:34:1555:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1556:9:1556:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1556:9:1556:31 | ... -= ... | | file://:0:0:0:0 | () | +| main.rs:1556:27:1556:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1558:13:1558:30 | mut i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1558:34:1558:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1559:9:1559:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1559:9:1559:31 | ... *= ... | | file://:0:0:0:0 | () | +| main.rs:1559:27:1559:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1561:13:1561:30 | mut i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1561:34:1561:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1562:9:1562:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1562:9:1562:31 | ... /= ... | | file://:0:0:0:0 | () | +| main.rs:1562:27:1562:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1564:13:1564:30 | mut i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1564:34:1564:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1565:9:1565:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1565:9:1565:31 | ... %= ... | | file://:0:0:0:0 | () | +| main.rs:1565:27:1565:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1568:13:1568:22 | i64_bitand | | {EXTERNAL LOCATION} | i64 | +| main.rs:1568:26:1568:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1568:26:1568:38 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1568:34:1568:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1569:13:1569:21 | i64_bitor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1569:25:1569:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1569:25:1569:37 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1569:33:1569:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1570:13:1570:22 | i64_bitxor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1570:26:1570:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1570:26:1570:38 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1570:34:1570:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1571:13:1571:19 | i64_shl | | {EXTERNAL LOCATION} | i64 | +| main.rs:1571:23:1571:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1571:23:1571:36 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1571:32:1571:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1572:13:1572:19 | i64_shr | | {EXTERNAL LOCATION} | i64 | +| main.rs:1572:23:1572:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1572:23:1572:36 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1572:32:1572:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1575:13:1575:33 | mut i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1575:37:1575:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1576:9:1576:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1576:9:1576:34 | ... &= ... | | file://:0:0:0:0 | () | +| main.rs:1576:30:1576:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1578:13:1578:32 | mut i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1578:36:1578:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1579:9:1579:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1579:9:1579:33 | ... \|= ... | | file://:0:0:0:0 | () | +| main.rs:1579:29:1579:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1581:13:1581:33 | mut i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1581:37:1581:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1582:9:1582:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1582:9:1582:34 | ... ^= ... | | file://:0:0:0:0 | () | +| main.rs:1582:30:1582:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1584:13:1584:30 | mut i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1584:34:1584:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1585:9:1585:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1585:9:1585:32 | ... <<= ... | | file://:0:0:0:0 | () | +| main.rs:1585:28:1585:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1587:13:1587:30 | mut i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1587:34:1587:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1588:9:1588:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1588:9:1588:32 | ... >>= ... | | file://:0:0:0:0 | () | +| main.rs:1588:28:1588:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1590:13:1590:19 | i64_neg | | {EXTERNAL LOCATION} | i64 | +| main.rs:1590:23:1590:28 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1590:24:1590:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1591:13:1591:19 | i64_not | | {EXTERNAL LOCATION} | i64 | +| main.rs:1591:23:1591:28 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1591:24:1591:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1594:13:1594:14 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1594:18:1594:36 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1594:28:1594:28 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1594:28:1594:28 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1594:34:1594:34 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1594:34:1594:34 | 2 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1595:13:1595:14 | v2 | | file://:0:0:0:0 | & | +| main.rs:1595:13:1595:14 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1595:13:1595:14 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1595:18:1595:36 | Vec2 {...} | | file://:0:0:0:0 | & | +| main.rs:1595:18:1595:36 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1595:18:1595:36 | Vec2 {...} | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1595:28:1595:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1595:28:1595:28 | 3 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1595:34:1595:34 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1595:34:1595:34 | 4 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1598:13:1598:19 | vec2_eq | | {EXTERNAL LOCATION} | bool | +| main.rs:1598:23:1598:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1598:23:1598:30 | ... == ... | | {EXTERNAL LOCATION} | bool | | main.rs:1598:29:1598:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1598:29:1598:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1598:29:1598:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1601:13:1601:20 | vec2_add | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1601:24:1601:25 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1601:24:1601:30 | ... + ... | | main.rs:1297:5:1302:5 | Vec2 | +| main.rs:1598:29:1598:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1598:29:1598:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1599:13:1599:19 | vec2_ne | | {EXTERNAL LOCATION} | bool | +| main.rs:1599:23:1599:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1599:23:1599:30 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1599:29:1599:30 | v2 | | file://:0:0:0:0 | & | +| main.rs:1599:29:1599:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1599:29:1599:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1600:13:1600:19 | vec2_lt | | {EXTERNAL LOCATION} | bool | +| main.rs:1600:23:1600:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1600:23:1600:29 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1600:28:1600:29 | v2 | | file://:0:0:0:0 | & | +| main.rs:1600:28:1600:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1600:28:1600:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1601:13:1601:19 | vec2_le | | {EXTERNAL LOCATION} | bool | +| main.rs:1601:23:1601:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1601:23:1601:30 | ... <= ... | | {EXTERNAL LOCATION} | bool | | main.rs:1601:29:1601:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1601:29:1601:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1601:29:1601:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1602:13:1602:20 | vec2_sub | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1602:24:1602:25 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1602:24:1602:30 | ... - ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1602:29:1602:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1602:29:1602:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1602:29:1602:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1603:13:1603:20 | vec2_mul | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1603:24:1603:25 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1603:24:1603:30 | ... * ... | | main.rs:1297:5:1302:5 | Vec2 | +| main.rs:1601:29:1601:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1601:29:1601:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1602:13:1602:19 | vec2_gt | | {EXTERNAL LOCATION} | bool | +| main.rs:1602:23:1602:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1602:23:1602:29 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1602:28:1602:29 | v2 | | file://:0:0:0:0 | & | +| main.rs:1602:28:1602:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1602:28:1602:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1603:13:1603:19 | vec2_ge | | {EXTERNAL LOCATION} | bool | +| main.rs:1603:23:1603:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1603:23:1603:30 | ... >= ... | | {EXTERNAL LOCATION} | bool | | main.rs:1603:29:1603:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1603:29:1603:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1603:29:1603:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1604:13:1604:20 | vec2_div | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1604:24:1604:25 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1604:24:1604:30 | ... / ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1604:29:1604:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1604:29:1604:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1604:29:1604:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1605:13:1605:20 | vec2_rem | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1605:24:1605:25 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1605:24:1605:30 | ... % ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1605:29:1605:30 | v2 | | file://:0:0:0:0 | & | -| main.rs:1605:29:1605:30 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1605:29:1605:30 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1608:13:1608:31 | mut vec2_add_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1608:35:1608:36 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1609:9:1609:23 | vec2_add_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1609:9:1609:29 | ... += ... | | file://:0:0:0:0 | () | -| main.rs:1609:28:1609:29 | v2 | | file://:0:0:0:0 | & | -| main.rs:1609:28:1609:29 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1609:28:1609:29 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1611:13:1611:31 | mut vec2_sub_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1611:35:1611:36 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1612:9:1612:23 | vec2_sub_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1612:9:1612:29 | ... -= ... | | file://:0:0:0:0 | () | -| main.rs:1612:28:1612:29 | v2 | | file://:0:0:0:0 | & | -| main.rs:1612:28:1612:29 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1612:28:1612:29 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1614:13:1614:31 | mut vec2_mul_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1614:35:1614:36 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1615:9:1615:23 | vec2_mul_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1615:9:1615:29 | ... *= ... | | file://:0:0:0:0 | () | -| main.rs:1615:28:1615:29 | v2 | | file://:0:0:0:0 | & | -| main.rs:1615:28:1615:29 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1615:28:1615:29 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1617:13:1617:31 | mut vec2_div_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1617:35:1617:36 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1618:9:1618:23 | vec2_div_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1618:9:1618:29 | ... /= ... | | file://:0:0:0:0 | () | -| main.rs:1618:28:1618:29 | v2 | | file://:0:0:0:0 | & | -| main.rs:1618:28:1618:29 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1618:28:1618:29 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1620:13:1620:31 | mut vec2_rem_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1620:35:1620:36 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1621:9:1621:23 | vec2_rem_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1621:9:1621:29 | ... %= ... | | file://:0:0:0:0 | () | -| main.rs:1621:28:1621:29 | v2 | | file://:0:0:0:0 | & | -| main.rs:1621:28:1621:29 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1621:28:1621:29 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1624:13:1624:23 | vec2_bitand | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1624:27:1624:28 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1624:27:1624:33 | ... & ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1624:32:1624:33 | v2 | | file://:0:0:0:0 | & | -| main.rs:1624:32:1624:33 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1624:32:1624:33 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1625:13:1625:22 | vec2_bitor | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1625:26:1625:27 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1625:26:1625:32 | ... \| ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1625:31:1625:32 | v2 | | file://:0:0:0:0 | & | -| main.rs:1625:31:1625:32 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1625:31:1625:32 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1626:13:1626:23 | vec2_bitxor | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1626:27:1626:28 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1626:27:1626:33 | ... ^ ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1626:32:1626:33 | v2 | | file://:0:0:0:0 | & | -| main.rs:1626:32:1626:33 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1626:32:1626:33 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1627:13:1627:20 | vec2_shl | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1627:24:1627:25 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1627:24:1627:33 | ... << ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1627:30:1627:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1628:13:1628:20 | vec2_shr | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1628:24:1628:25 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1628:24:1628:33 | ... >> ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1628:30:1628:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1631:13:1631:34 | mut vec2_bitand_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1631:38:1631:39 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1632:9:1632:26 | vec2_bitand_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1632:9:1632:32 | ... &= ... | | file://:0:0:0:0 | () | -| main.rs:1632:31:1632:32 | v2 | | file://:0:0:0:0 | & | -| main.rs:1632:31:1632:32 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1632:31:1632:32 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1634:13:1634:33 | mut vec2_bitor_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1634:37:1634:38 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1635:9:1635:25 | vec2_bitor_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1635:9:1635:31 | ... \|= ... | | file://:0:0:0:0 | () | -| main.rs:1635:30:1635:31 | v2 | | file://:0:0:0:0 | & | -| main.rs:1635:30:1635:31 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1635:30:1635:31 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1637:13:1637:34 | mut vec2_bitxor_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1637:38:1637:39 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1638:9:1638:26 | vec2_bitxor_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1638:9:1638:32 | ... ^= ... | | file://:0:0:0:0 | () | -| main.rs:1638:31:1638:32 | v2 | | file://:0:0:0:0 | & | -| main.rs:1638:31:1638:32 | v2 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1638:31:1638:32 | v2 | &T | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1640:13:1640:31 | mut vec2_shl_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1640:35:1640:36 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1641:9:1641:23 | vec2_shl_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1641:9:1641:32 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1641:29:1641:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1643:13:1643:31 | mut vec2_shr_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1643:35:1643:36 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1644:9:1644:23 | vec2_shr_assign | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1644:9:1644:32 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1644:29:1644:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1647:13:1647:20 | vec2_neg | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1647:24:1647:26 | - ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1647:25:1647:26 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1648:13:1648:20 | vec2_not | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1648:24:1648:26 | ! ... | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1648:25:1648:26 | v1 | | main.rs:1297:5:1302:5 | Vec2 | -| main.rs:1658:18:1658:21 | SelfParam | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1661:25:1663:5 | { ... } | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1662:9:1662:10 | S1 | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1665:41:1669:5 | { ... } | | {EXTERNAL LOCATION} | trait Future | -| main.rs:1665:41:1669:5 | { ... } | | main.rs:1665:16:1665:39 | ImplTraitTypeRepr | -| main.rs:1665:41:1669:5 | { ... } | Output | main.rs:1655:5:1655:14 | S1 | -| main.rs:1666:9:1668:9 | { ... } | | {EXTERNAL LOCATION} | trait Future | -| main.rs:1666:9:1668:9 | { ... } | | main.rs:1665:16:1665:39 | ImplTraitTypeRepr | -| main.rs:1666:9:1668:9 | { ... } | Output | main.rs:1655:5:1655:14 | S1 | -| main.rs:1667:13:1667:14 | S1 | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1676:17:1676:46 | SelfParam | | {EXTERNAL LOCATION} | Pin | -| main.rs:1676:17:1676:46 | SelfParam | Ptr | file://:0:0:0:0 | & | -| main.rs:1676:17:1676:46 | SelfParam | Ptr.&T | main.rs:1671:5:1671:14 | S2 | -| main.rs:1676:49:1676:51 | _cx | | file://:0:0:0:0 | & | -| main.rs:1676:49:1676:51 | _cx | &T | {EXTERNAL LOCATION} | Context | -| main.rs:1676:116:1678:9 | { ... } | | {EXTERNAL LOCATION} | Poll | -| main.rs:1676:116:1678:9 | { ... } | T | main.rs:1655:5:1655:14 | S1 | -| main.rs:1677:13:1677:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | -| main.rs:1677:13:1677:38 | ...::Ready(...) | T | main.rs:1655:5:1655:14 | S1 | -| main.rs:1677:36:1677:37 | S1 | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1681:41:1683:5 | { ... } | | main.rs:1671:5:1671:14 | S2 | -| main.rs:1681:41:1683:5 | { ... } | | main.rs:1681:16:1681:39 | ImplTraitTypeRepr | -| main.rs:1682:9:1682:10 | S2 | | main.rs:1671:5:1671:14 | S2 | -| main.rs:1682:9:1682:10 | S2 | | main.rs:1681:16:1681:39 | ImplTraitTypeRepr | -| main.rs:1686:9:1686:12 | f1(...) | | {EXTERNAL LOCATION} | trait Future | -| main.rs:1686:9:1686:12 | f1(...) | Output | main.rs:1655:5:1655:14 | S1 | -| main.rs:1686:9:1686:18 | await ... | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1687:9:1687:12 | f2(...) | | main.rs:1665:16:1665:39 | ImplTraitTypeRepr | -| main.rs:1687:9:1687:18 | await ... | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1688:9:1688:12 | f3(...) | | main.rs:1681:16:1681:39 | ImplTraitTypeRepr | -| main.rs:1688:9:1688:18 | await ... | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1689:9:1689:10 | S2 | | main.rs:1671:5:1671:14 | S2 | -| main.rs:1689:9:1689:16 | await S2 | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1690:13:1690:13 | b | | {EXTERNAL LOCATION} | trait Future | -| main.rs:1690:13:1690:13 | b | Output | main.rs:1655:5:1655:14 | S1 | -| main.rs:1690:17:1692:9 | { ... } | | {EXTERNAL LOCATION} | trait Future | -| main.rs:1690:17:1692:9 | { ... } | Output | main.rs:1655:5:1655:14 | S1 | -| main.rs:1691:13:1691:14 | S1 | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1693:9:1693:9 | b | | {EXTERNAL LOCATION} | trait Future | -| main.rs:1693:9:1693:9 | b | Output | main.rs:1655:5:1655:14 | S1 | -| main.rs:1693:9:1693:15 | await b | | main.rs:1655:5:1655:14 | S1 | -| main.rs:1703:15:1703:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1703:15:1703:19 | SelfParam | &T | main.rs:1702:5:1704:5 | Self [trait Trait1] | -| main.rs:1707:15:1707:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1707:15:1707:19 | SelfParam | &T | main.rs:1706:5:1708:5 | Self [trait Trait2] | -| main.rs:1711:15:1711:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1711:15:1711:19 | SelfParam | &T | main.rs:1699:5:1699:14 | S1 | -| main.rs:1715:15:1715:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1715:15:1715:19 | SelfParam | &T | main.rs:1699:5:1699:14 | S1 | -| main.rs:1718:37:1720:5 | { ... } | | main.rs:1699:5:1699:14 | S1 | -| main.rs:1718:37:1720:5 | { ... } | | main.rs:1718:16:1718:35 | ImplTraitTypeRepr | -| main.rs:1719:9:1719:10 | S1 | | main.rs:1699:5:1699:14 | S1 | -| main.rs:1719:9:1719:10 | S1 | | main.rs:1718:16:1718:35 | ImplTraitTypeRepr | -| main.rs:1723:18:1723:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1723:18:1723:22 | SelfParam | &T | main.rs:1722:5:1724:5 | Self [trait MyTrait] | -| main.rs:1727:18:1727:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1727:18:1727:22 | SelfParam | &T | main.rs:1699:5:1699:14 | S1 | -| main.rs:1727:31:1729:9 | { ... } | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1728:13:1728:14 | S2 | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1732:45:1734:5 | { ... } | | main.rs:1699:5:1699:14 | S1 | -| main.rs:1732:45:1734:5 | { ... } | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1733:9:1733:10 | S1 | | main.rs:1699:5:1699:14 | S1 | -| main.rs:1733:9:1733:10 | S1 | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1736:41:1736:41 | t | | main.rs:1736:26:1736:38 | B | -| main.rs:1736:52:1738:5 | { ... } | | main.rs:1736:23:1736:23 | A | -| main.rs:1737:9:1737:9 | t | | main.rs:1736:26:1736:38 | B | -| main.rs:1737:9:1737:17 | t.get_a() | | main.rs:1736:23:1736:23 | A | -| main.rs:1740:26:1740:26 | t | | main.rs:1740:29:1740:43 | ImplTraitTypeRepr | -| main.rs:1740:51:1742:5 | { ... } | | main.rs:1740:23:1740:23 | A | -| main.rs:1741:9:1741:9 | t | | main.rs:1740:29:1740:43 | ImplTraitTypeRepr | -| main.rs:1741:9:1741:17 | t.get_a() | | main.rs:1740:23:1740:23 | A | -| main.rs:1745:13:1745:13 | x | | main.rs:1718:16:1718:35 | ImplTraitTypeRepr | -| main.rs:1745:17:1745:20 | f1(...) | | main.rs:1718:16:1718:35 | ImplTraitTypeRepr | -| main.rs:1746:9:1746:9 | x | | main.rs:1718:16:1718:35 | ImplTraitTypeRepr | -| main.rs:1747:9:1747:9 | x | | main.rs:1718:16:1718:35 | ImplTraitTypeRepr | -| main.rs:1748:13:1748:13 | a | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1748:17:1748:32 | get_a_my_trait(...) | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1749:13:1749:13 | b | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1749:17:1749:33 | uses_my_trait1(...) | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1749:32:1749:32 | a | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1750:13:1750:13 | a | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1750:17:1750:32 | get_a_my_trait(...) | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1751:13:1751:13 | c | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1751:17:1751:33 | uses_my_trait2(...) | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1751:32:1751:32 | a | | main.rs:1732:28:1732:43 | ImplTraitTypeRepr | -| main.rs:1752:13:1752:13 | d | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1752:17:1752:34 | uses_my_trait2(...) | | main.rs:1700:5:1700:14 | S2 | -| main.rs:1752:32:1752:33 | S1 | | main.rs:1699:5:1699:14 | S1 | -| main.rs:1763:16:1763:20 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1763:16:1763:20 | SelfParam | &T | main.rs:1759:5:1760:13 | S | -| main.rs:1763:31:1765:9 | { ... } | | main.rs:1759:5:1760:13 | S | -| main.rs:1764:13:1764:13 | S | | main.rs:1759:5:1760:13 | S | -| main.rs:1774:26:1776:9 | { ... } | | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1774:26:1776:9 | { ... } | T | main.rs:1773:10:1773:10 | T | -| main.rs:1775:13:1775:38 | MyVec {...} | | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1775:13:1775:38 | MyVec {...} | T | main.rs:1773:10:1773:10 | T | -| main.rs:1775:27:1775:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:1775:27:1775:36 | ...::new(...) | T | main.rs:1773:10:1773:10 | T | -| main.rs:1778:17:1778:25 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1778:17:1778:25 | SelfParam | &T | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1778:17:1778:25 | SelfParam | &T.T | main.rs:1773:10:1773:10 | T | -| main.rs:1778:28:1778:32 | value | | main.rs:1773:10:1773:10 | T | -| main.rs:1779:13:1779:16 | self | | file://:0:0:0:0 | & | -| main.rs:1779:13:1779:16 | self | &T | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1779:13:1779:16 | self | &T.T | main.rs:1773:10:1773:10 | T | -| main.rs:1779:13:1779:21 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:1779:13:1779:21 | self.data | T | main.rs:1773:10:1773:10 | T | -| main.rs:1779:28:1779:32 | value | | main.rs:1773:10:1773:10 | T | -| main.rs:1787:18:1787:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:1787:18:1787:22 | SelfParam | &T | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1787:18:1787:22 | SelfParam | &T.T | main.rs:1783:10:1783:10 | T | -| main.rs:1787:25:1787:29 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:1787:56:1789:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:1787:56:1789:9 | { ... } | &T | main.rs:1783:10:1783:10 | T | -| main.rs:1788:13:1788:29 | &... | | file://:0:0:0:0 | & | -| main.rs:1788:13:1788:29 | &... | &T | main.rs:1783:10:1783:10 | T | -| main.rs:1788:14:1788:17 | self | | file://:0:0:0:0 | & | -| main.rs:1788:14:1788:17 | self | &T | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1788:14:1788:17 | self | &T.T | main.rs:1783:10:1783:10 | T | -| main.rs:1788:14:1788:22 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:1788:14:1788:22 | self.data | T | main.rs:1783:10:1783:10 | T | -| main.rs:1788:14:1788:29 | ...[index] | | main.rs:1783:10:1783:10 | T | -| main.rs:1788:24:1788:28 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:1792:22:1792:26 | slice | | file://:0:0:0:0 | & | -| main.rs:1792:22:1792:26 | slice | &T | file://:0:0:0:0 | [] | -| main.rs:1792:22:1792:26 | slice | &T.[T] | main.rs:1759:5:1760:13 | S | -| main.rs:1793:13:1793:13 | x | | main.rs:1759:5:1760:13 | S | -| main.rs:1793:17:1793:21 | slice | | file://:0:0:0:0 | & | -| main.rs:1793:17:1793:21 | slice | &T | file://:0:0:0:0 | [] | -| main.rs:1793:17:1793:21 | slice | &T.[T] | main.rs:1759:5:1760:13 | S | -| main.rs:1793:17:1793:24 | slice[0] | | main.rs:1759:5:1760:13 | S | -| main.rs:1793:17:1793:30 | ... .foo() | | main.rs:1759:5:1760:13 | S | -| main.rs:1793:23:1793:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1797:13:1797:19 | mut vec | | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1797:13:1797:19 | mut vec | T | main.rs:1759:5:1760:13 | S | -| main.rs:1797:23:1797:34 | ...::new(...) | | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1797:23:1797:34 | ...::new(...) | T | main.rs:1759:5:1760:13 | S | -| main.rs:1798:9:1798:11 | vec | | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1798:9:1798:11 | vec | T | main.rs:1759:5:1760:13 | S | -| main.rs:1798:18:1798:18 | S | | main.rs:1759:5:1760:13 | S | -| main.rs:1799:9:1799:11 | vec | | main.rs:1768:5:1771:5 | MyVec | -| main.rs:1799:9:1799:11 | vec | T | main.rs:1759:5:1760:13 | S | -| main.rs:1799:13:1799:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:13:1801:14 | xs | | file://:0:0:0:0 | [] | -| main.rs:1801:13:1801:14 | xs | | file://:0:0:0:0 | [] | -| main.rs:1801:13:1801:14 | xs | [T;...] | main.rs:1759:5:1760:13 | S | -| main.rs:1801:13:1801:14 | xs | [T] | main.rs:1759:5:1760:13 | S | -| main.rs:1801:21:1801:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:26:1801:28 | [...] | | file://:0:0:0:0 | [] | -| main.rs:1801:26:1801:28 | [...] | | file://:0:0:0:0 | [] | -| main.rs:1801:26:1801:28 | [...] | [T;...] | main.rs:1759:5:1760:13 | S | -| main.rs:1801:26:1801:28 | [...] | [T] | main.rs:1759:5:1760:13 | S | -| main.rs:1801:27:1801:27 | S | | main.rs:1759:5:1760:13 | S | -| main.rs:1802:13:1802:13 | x | | main.rs:1759:5:1760:13 | S | -| main.rs:1802:17:1802:18 | xs | | file://:0:0:0:0 | [] | -| main.rs:1802:17:1802:18 | xs | | file://:0:0:0:0 | [] | -| main.rs:1802:17:1802:18 | xs | [T;...] | main.rs:1759:5:1760:13 | S | -| main.rs:1802:17:1802:18 | xs | [T] | main.rs:1759:5:1760:13 | S | -| main.rs:1802:17:1802:21 | xs[0] | | main.rs:1759:5:1760:13 | S | -| main.rs:1802:17:1802:27 | ... .foo() | | main.rs:1759:5:1760:13 | S | -| main.rs:1802:20:1802:20 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1804:23:1804:25 | &xs | | file://:0:0:0:0 | & | -| main.rs:1804:23:1804:25 | &xs | &T | file://:0:0:0:0 | [] | -| main.rs:1804:23:1804:25 | &xs | &T | file://:0:0:0:0 | [] | -| main.rs:1804:23:1804:25 | &xs | &T.[T;...] | main.rs:1759:5:1760:13 | S | -| main.rs:1804:23:1804:25 | &xs | &T.[T] | main.rs:1759:5:1760:13 | S | -| main.rs:1804:24:1804:25 | xs | | file://:0:0:0:0 | [] | -| main.rs:1804:24:1804:25 | xs | | file://:0:0:0:0 | [] | -| main.rs:1804:24:1804:25 | xs | [T;...] | main.rs:1759:5:1760:13 | S | -| main.rs:1804:24:1804:25 | xs | [T] | main.rs:1759:5:1760:13 | S | -| main.rs:1810:5:1810:20 | ...::f(...) | | main.rs:67:5:67:21 | Foo | -| main.rs:1811:5:1811:60 | ...::g(...) | | main.rs:67:5:67:21 | Foo | -| main.rs:1811:20:1811:38 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo | -| main.rs:1811:41:1811:59 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo | -| main.rs:1827:5:1827:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | +| main.rs:1603:29:1603:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1603:29:1603:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1606:13:1606:20 | vec2_add | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1606:24:1606:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1606:24:1606:30 | ... + ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1606:29:1606:30 | v2 | | file://:0:0:0:0 | & | +| main.rs:1606:29:1606:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1606:29:1606:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1607:13:1607:20 | vec2_sub | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1607:24:1607:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1607:24:1607:30 | ... - ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1607:29:1607:30 | v2 | | file://:0:0:0:0 | & | +| main.rs:1607:29:1607:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1607:29:1607:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1608:13:1608:20 | vec2_mul | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1608:24:1608:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1608:24:1608:30 | ... * ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1608:29:1608:30 | v2 | | file://:0:0:0:0 | & | +| main.rs:1608:29:1608:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1608:29:1608:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1609:13:1609:20 | vec2_div | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1609:24:1609:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1609:24:1609:30 | ... / ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1609:29:1609:30 | v2 | | file://:0:0:0:0 | & | +| main.rs:1609:29:1609:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1609:29:1609:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1610:13:1610:20 | vec2_rem | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1610:24:1610:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1610:24:1610:30 | ... % ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1610:29:1610:30 | v2 | | file://:0:0:0:0 | & | +| main.rs:1610:29:1610:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1610:29:1610:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1613:13:1613:31 | mut vec2_add_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1613:35:1613:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1614:9:1614:23 | vec2_add_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1614:9:1614:29 | ... += ... | | file://:0:0:0:0 | () | +| main.rs:1614:28:1614:29 | v2 | | file://:0:0:0:0 | & | +| main.rs:1614:28:1614:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1614:28:1614:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1616:13:1616:31 | mut vec2_sub_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1616:35:1616:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1617:9:1617:23 | vec2_sub_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1617:9:1617:29 | ... -= ... | | file://:0:0:0:0 | () | +| main.rs:1617:28:1617:29 | v2 | | file://:0:0:0:0 | & | +| main.rs:1617:28:1617:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1617:28:1617:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1619:13:1619:31 | mut vec2_mul_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1619:35:1619:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1620:9:1620:23 | vec2_mul_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1620:9:1620:29 | ... *= ... | | file://:0:0:0:0 | () | +| main.rs:1620:28:1620:29 | v2 | | file://:0:0:0:0 | & | +| main.rs:1620:28:1620:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1620:28:1620:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1622:13:1622:31 | mut vec2_div_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1622:35:1622:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1623:9:1623:23 | vec2_div_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1623:9:1623:29 | ... /= ... | | file://:0:0:0:0 | () | +| main.rs:1623:28:1623:29 | v2 | | file://:0:0:0:0 | & | +| main.rs:1623:28:1623:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1623:28:1623:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1625:13:1625:31 | mut vec2_rem_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1625:35:1625:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1626:9:1626:23 | vec2_rem_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1626:9:1626:29 | ... %= ... | | file://:0:0:0:0 | () | +| main.rs:1626:28:1626:29 | v2 | | file://:0:0:0:0 | & | +| main.rs:1626:28:1626:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1626:28:1626:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1629:13:1629:23 | vec2_bitand | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1629:27:1629:28 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1629:27:1629:33 | ... & ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1629:32:1629:33 | v2 | | file://:0:0:0:0 | & | +| main.rs:1629:32:1629:33 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1629:32:1629:33 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1630:13:1630:22 | vec2_bitor | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1630:26:1630:27 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1630:26:1630:32 | ... \| ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1630:31:1630:32 | v2 | | file://:0:0:0:0 | & | +| main.rs:1630:31:1630:32 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1630:31:1630:32 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1631:13:1631:23 | vec2_bitxor | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1631:27:1631:28 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1631:27:1631:33 | ... ^ ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1631:32:1631:33 | v2 | | file://:0:0:0:0 | & | +| main.rs:1631:32:1631:33 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1631:32:1631:33 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1632:13:1632:20 | vec2_shl | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1632:24:1632:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1632:24:1632:33 | ... << ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1632:30:1632:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1633:13:1633:20 | vec2_shr | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1633:24:1633:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1633:24:1633:33 | ... >> ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1633:30:1633:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1636:13:1636:34 | mut vec2_bitand_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1636:38:1636:39 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1637:9:1637:26 | vec2_bitand_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1637:9:1637:32 | ... &= ... | | file://:0:0:0:0 | () | +| main.rs:1637:31:1637:32 | v2 | | file://:0:0:0:0 | & | +| main.rs:1637:31:1637:32 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1637:31:1637:32 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1639:13:1639:33 | mut vec2_bitor_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1639:37:1639:38 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1640:9:1640:25 | vec2_bitor_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1640:9:1640:31 | ... \|= ... | | file://:0:0:0:0 | () | +| main.rs:1640:30:1640:31 | v2 | | file://:0:0:0:0 | & | +| main.rs:1640:30:1640:31 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1640:30:1640:31 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1642:13:1642:34 | mut vec2_bitxor_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1642:38:1642:39 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1643:9:1643:26 | vec2_bitxor_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1643:9:1643:32 | ... ^= ... | | file://:0:0:0:0 | () | +| main.rs:1643:31:1643:32 | v2 | | file://:0:0:0:0 | & | +| main.rs:1643:31:1643:32 | v2 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1643:31:1643:32 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1645:13:1645:31 | mut vec2_shl_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1645:35:1645:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1646:9:1646:23 | vec2_shl_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1646:9:1646:32 | ... <<= ... | | file://:0:0:0:0 | () | +| main.rs:1646:29:1646:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1648:13:1648:31 | mut vec2_shr_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1648:35:1648:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1649:9:1649:23 | vec2_shr_assign | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1649:9:1649:32 | ... >>= ... | | file://:0:0:0:0 | () | +| main.rs:1649:29:1649:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1652:13:1652:20 | vec2_neg | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1652:24:1652:26 | - ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1652:25:1652:26 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1653:13:1653:20 | vec2_not | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1653:24:1653:26 | ! ... | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1653:25:1653:26 | v1 | | main.rs:1302:5:1307:5 | Vec2 | +| main.rs:1663:18:1663:21 | SelfParam | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1666:25:1668:5 | { ... } | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1667:9:1667:10 | S1 | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1670:41:1674:5 | { ... } | | {EXTERNAL LOCATION} | trait Future | +| main.rs:1670:41:1674:5 | { ... } | | main.rs:1670:16:1670:39 | ImplTraitTypeRepr | +| main.rs:1670:41:1674:5 | { ... } | Output | main.rs:1660:5:1660:14 | S1 | +| main.rs:1671:9:1673:9 | { ... } | | {EXTERNAL LOCATION} | trait Future | +| main.rs:1671:9:1673:9 | { ... } | | main.rs:1670:16:1670:39 | ImplTraitTypeRepr | +| main.rs:1671:9:1673:9 | { ... } | Output | main.rs:1660:5:1660:14 | S1 | +| main.rs:1672:13:1672:14 | S1 | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1681:17:1681:46 | SelfParam | | {EXTERNAL LOCATION} | Pin | +| main.rs:1681:17:1681:46 | SelfParam | Ptr | file://:0:0:0:0 | & | +| main.rs:1681:17:1681:46 | SelfParam | Ptr.&T | main.rs:1676:5:1676:14 | S2 | +| main.rs:1681:49:1681:51 | _cx | | file://:0:0:0:0 | & | +| main.rs:1681:49:1681:51 | _cx | &T | {EXTERNAL LOCATION} | Context | +| main.rs:1681:116:1683:9 | { ... } | | {EXTERNAL LOCATION} | Poll | +| main.rs:1681:116:1683:9 | { ... } | T | main.rs:1660:5:1660:14 | S1 | +| main.rs:1682:13:1682:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | +| main.rs:1682:13:1682:38 | ...::Ready(...) | T | main.rs:1660:5:1660:14 | S1 | +| main.rs:1682:36:1682:37 | S1 | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1686:41:1688:5 | { ... } | | main.rs:1676:5:1676:14 | S2 | +| main.rs:1686:41:1688:5 | { ... } | | main.rs:1686:16:1686:39 | ImplTraitTypeRepr | +| main.rs:1687:9:1687:10 | S2 | | main.rs:1676:5:1676:14 | S2 | +| main.rs:1687:9:1687:10 | S2 | | main.rs:1686:16:1686:39 | ImplTraitTypeRepr | +| main.rs:1691:9:1691:12 | f1(...) | | {EXTERNAL LOCATION} | trait Future | +| main.rs:1691:9:1691:12 | f1(...) | Output | main.rs:1660:5:1660:14 | S1 | +| main.rs:1691:9:1691:18 | await ... | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1692:9:1692:12 | f2(...) | | main.rs:1670:16:1670:39 | ImplTraitTypeRepr | +| main.rs:1692:9:1692:18 | await ... | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1693:9:1693:12 | f3(...) | | main.rs:1686:16:1686:39 | ImplTraitTypeRepr | +| main.rs:1693:9:1693:18 | await ... | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1694:9:1694:10 | S2 | | main.rs:1676:5:1676:14 | S2 | +| main.rs:1694:9:1694:16 | await S2 | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1695:13:1695:13 | b | | {EXTERNAL LOCATION} | trait Future | +| main.rs:1695:13:1695:13 | b | Output | main.rs:1660:5:1660:14 | S1 | +| main.rs:1695:17:1697:9 | { ... } | | {EXTERNAL LOCATION} | trait Future | +| main.rs:1695:17:1697:9 | { ... } | Output | main.rs:1660:5:1660:14 | S1 | +| main.rs:1696:13:1696:14 | S1 | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1698:9:1698:9 | b | | {EXTERNAL LOCATION} | trait Future | +| main.rs:1698:9:1698:9 | b | Output | main.rs:1660:5:1660:14 | S1 | +| main.rs:1698:9:1698:15 | await b | | main.rs:1660:5:1660:14 | S1 | +| main.rs:1708:15:1708:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1708:15:1708:19 | SelfParam | &T | main.rs:1707:5:1709:5 | Self [trait Trait1] | +| main.rs:1712:15:1712:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1712:15:1712:19 | SelfParam | &T | main.rs:1711:5:1713:5 | Self [trait Trait2] | +| main.rs:1716:15:1716:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1716:15:1716:19 | SelfParam | &T | main.rs:1704:5:1704:14 | S1 | +| main.rs:1720:15:1720:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1720:15:1720:19 | SelfParam | &T | main.rs:1704:5:1704:14 | S1 | +| main.rs:1723:37:1725:5 | { ... } | | main.rs:1704:5:1704:14 | S1 | +| main.rs:1723:37:1725:5 | { ... } | | main.rs:1723:16:1723:35 | ImplTraitTypeRepr | +| main.rs:1724:9:1724:10 | S1 | | main.rs:1704:5:1704:14 | S1 | +| main.rs:1724:9:1724:10 | S1 | | main.rs:1723:16:1723:35 | ImplTraitTypeRepr | +| main.rs:1728:18:1728:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1728:18:1728:22 | SelfParam | &T | main.rs:1727:5:1729:5 | Self [trait MyTrait] | +| main.rs:1732:18:1732:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1732:18:1732:22 | SelfParam | &T | main.rs:1704:5:1704:14 | S1 | +| main.rs:1732:31:1734:9 | { ... } | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1733:13:1733:14 | S2 | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1737:45:1739:5 | { ... } | | main.rs:1704:5:1704:14 | S1 | +| main.rs:1737:45:1739:5 | { ... } | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1738:9:1738:10 | S1 | | main.rs:1704:5:1704:14 | S1 | +| main.rs:1738:9:1738:10 | S1 | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1741:41:1741:41 | t | | main.rs:1741:26:1741:38 | B | +| main.rs:1741:52:1743:5 | { ... } | | main.rs:1741:23:1741:23 | A | +| main.rs:1742:9:1742:9 | t | | main.rs:1741:26:1741:38 | B | +| main.rs:1742:9:1742:17 | t.get_a() | | main.rs:1741:23:1741:23 | A | +| main.rs:1745:26:1745:26 | t | | main.rs:1745:29:1745:43 | ImplTraitTypeRepr | +| main.rs:1745:51:1747:5 | { ... } | | main.rs:1745:23:1745:23 | A | +| main.rs:1746:9:1746:9 | t | | main.rs:1745:29:1745:43 | ImplTraitTypeRepr | +| main.rs:1746:9:1746:17 | t.get_a() | | main.rs:1745:23:1745:23 | A | +| main.rs:1750:13:1750:13 | x | | main.rs:1723:16:1723:35 | ImplTraitTypeRepr | +| main.rs:1750:17:1750:20 | f1(...) | | main.rs:1723:16:1723:35 | ImplTraitTypeRepr | +| main.rs:1751:9:1751:9 | x | | main.rs:1723:16:1723:35 | ImplTraitTypeRepr | +| main.rs:1752:9:1752:9 | x | | main.rs:1723:16:1723:35 | ImplTraitTypeRepr | +| main.rs:1753:13:1753:13 | a | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1753:17:1753:32 | get_a_my_trait(...) | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1754:13:1754:13 | b | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1754:17:1754:33 | uses_my_trait1(...) | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1754:32:1754:32 | a | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1755:13:1755:13 | a | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1755:17:1755:32 | get_a_my_trait(...) | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1756:13:1756:13 | c | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1756:17:1756:33 | uses_my_trait2(...) | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1756:32:1756:32 | a | | main.rs:1737:28:1737:43 | ImplTraitTypeRepr | +| main.rs:1757:13:1757:13 | d | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1757:17:1757:34 | uses_my_trait2(...) | | main.rs:1705:5:1705:14 | S2 | +| main.rs:1757:32:1757:33 | S1 | | main.rs:1704:5:1704:14 | S1 | +| main.rs:1768:16:1768:20 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1768:16:1768:20 | SelfParam | &T | main.rs:1764:5:1765:13 | S | +| main.rs:1768:31:1770:9 | { ... } | | main.rs:1764:5:1765:13 | S | +| main.rs:1769:13:1769:13 | S | | main.rs:1764:5:1765:13 | S | +| main.rs:1779:26:1781:9 | { ... } | | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1779:26:1781:9 | { ... } | T | main.rs:1778:10:1778:10 | T | +| main.rs:1780:13:1780:38 | MyVec {...} | | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1780:13:1780:38 | MyVec {...} | T | main.rs:1778:10:1778:10 | T | +| main.rs:1780:27:1780:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:1780:27:1780:36 | ...::new(...) | T | main.rs:1778:10:1778:10 | T | +| main.rs:1783:17:1783:25 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1783:17:1783:25 | SelfParam | &T | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1783:17:1783:25 | SelfParam | &T.T | main.rs:1778:10:1778:10 | T | +| main.rs:1783:28:1783:32 | value | | main.rs:1778:10:1778:10 | T | +| main.rs:1784:13:1784:16 | self | | file://:0:0:0:0 | & | +| main.rs:1784:13:1784:16 | self | &T | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1784:13:1784:16 | self | &T.T | main.rs:1778:10:1778:10 | T | +| main.rs:1784:13:1784:21 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:1784:13:1784:21 | self.data | T | main.rs:1778:10:1778:10 | T | +| main.rs:1784:28:1784:32 | value | | main.rs:1778:10:1778:10 | T | +| main.rs:1792:18:1792:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:1792:18:1792:22 | SelfParam | &T | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1792:18:1792:22 | SelfParam | &T.T | main.rs:1788:10:1788:10 | T | +| main.rs:1792:25:1792:29 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:1792:56:1794:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:1792:56:1794:9 | { ... } | &T | main.rs:1788:10:1788:10 | T | +| main.rs:1793:13:1793:29 | &... | | file://:0:0:0:0 | & | +| main.rs:1793:13:1793:29 | &... | &T | main.rs:1788:10:1788:10 | T | +| main.rs:1793:14:1793:17 | self | | file://:0:0:0:0 | & | +| main.rs:1793:14:1793:17 | self | &T | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1793:14:1793:17 | self | &T.T | main.rs:1788:10:1788:10 | T | +| main.rs:1793:14:1793:22 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:1793:14:1793:22 | self.data | T | main.rs:1788:10:1788:10 | T | +| main.rs:1793:14:1793:29 | ...[index] | | main.rs:1788:10:1788:10 | T | +| main.rs:1793:24:1793:28 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:1797:22:1797:26 | slice | | file://:0:0:0:0 | & | +| main.rs:1797:22:1797:26 | slice | &T | file://:0:0:0:0 | [] | +| main.rs:1797:22:1797:26 | slice | &T.[T] | main.rs:1764:5:1765:13 | S | +| main.rs:1798:13:1798:13 | x | | main.rs:1764:5:1765:13 | S | +| main.rs:1798:17:1798:21 | slice | | file://:0:0:0:0 | & | +| main.rs:1798:17:1798:21 | slice | &T | file://:0:0:0:0 | [] | +| main.rs:1798:17:1798:21 | slice | &T.[T] | main.rs:1764:5:1765:13 | S | +| main.rs:1798:17:1798:24 | slice[0] | | main.rs:1764:5:1765:13 | S | +| main.rs:1798:17:1798:30 | ... .foo() | | main.rs:1764:5:1765:13 | S | +| main.rs:1798:23:1798:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1802:13:1802:19 | mut vec | | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1802:13:1802:19 | mut vec | T | main.rs:1764:5:1765:13 | S | +| main.rs:1802:23:1802:34 | ...::new(...) | | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1802:23:1802:34 | ...::new(...) | T | main.rs:1764:5:1765:13 | S | +| main.rs:1803:9:1803:11 | vec | | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1803:9:1803:11 | vec | T | main.rs:1764:5:1765:13 | S | +| main.rs:1803:18:1803:18 | S | | main.rs:1764:5:1765:13 | S | +| main.rs:1804:9:1804:11 | vec | | main.rs:1773:5:1776:5 | MyVec | +| main.rs:1804:9:1804:11 | vec | T | main.rs:1764:5:1765:13 | S | +| main.rs:1804:13:1804:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1806:13:1806:14 | xs | | file://:0:0:0:0 | [] | +| main.rs:1806:13:1806:14 | xs | | file://:0:0:0:0 | [] | +| main.rs:1806:13:1806:14 | xs | [T;...] | main.rs:1764:5:1765:13 | S | +| main.rs:1806:13:1806:14 | xs | [T] | main.rs:1764:5:1765:13 | S | +| main.rs:1806:21:1806:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1806:26:1806:28 | [...] | | file://:0:0:0:0 | [] | +| main.rs:1806:26:1806:28 | [...] | | file://:0:0:0:0 | [] | +| main.rs:1806:26:1806:28 | [...] | [T;...] | main.rs:1764:5:1765:13 | S | +| main.rs:1806:26:1806:28 | [...] | [T] | main.rs:1764:5:1765:13 | S | +| main.rs:1806:27:1806:27 | S | | main.rs:1764:5:1765:13 | S | +| main.rs:1807:13:1807:13 | x | | main.rs:1764:5:1765:13 | S | +| main.rs:1807:17:1807:18 | xs | | file://:0:0:0:0 | [] | +| main.rs:1807:17:1807:18 | xs | | file://:0:0:0:0 | [] | +| main.rs:1807:17:1807:18 | xs | [T;...] | main.rs:1764:5:1765:13 | S | +| main.rs:1807:17:1807:18 | xs | [T] | main.rs:1764:5:1765:13 | S | +| main.rs:1807:17:1807:21 | xs[0] | | main.rs:1764:5:1765:13 | S | +| main.rs:1807:17:1807:27 | ... .foo() | | main.rs:1764:5:1765:13 | S | +| main.rs:1807:20:1807:20 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1809:23:1809:25 | &xs | | file://:0:0:0:0 | & | +| main.rs:1809:23:1809:25 | &xs | &T | file://:0:0:0:0 | [] | +| main.rs:1809:23:1809:25 | &xs | &T | file://:0:0:0:0 | [] | +| main.rs:1809:23:1809:25 | &xs | &T.[T;...] | main.rs:1764:5:1765:13 | S | +| main.rs:1809:23:1809:25 | &xs | &T.[T] | main.rs:1764:5:1765:13 | S | +| main.rs:1809:24:1809:25 | xs | | file://:0:0:0:0 | [] | +| main.rs:1809:24:1809:25 | xs | | file://:0:0:0:0 | [] | +| main.rs:1809:24:1809:25 | xs | [T;...] | main.rs:1764:5:1765:13 | S | +| main.rs:1809:24:1809:25 | xs | [T] | main.rs:1764:5:1765:13 | S | +| main.rs:1815:5:1815:20 | ...::f(...) | | main.rs:67:5:67:21 | Foo | +| main.rs:1816:5:1816:60 | ...::g(...) | | main.rs:67:5:67:21 | Foo | +| main.rs:1816:20:1816:38 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo | +| main.rs:1816:41:1816:59 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo | +| main.rs:1832:5:1832:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | testFailures From 66c0ff61bb682ff32f0f14bc981332d8ee5d9e4a Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 11 Jun 2025 21:28:18 +0200 Subject: [PATCH 2/2] Rust: Model `String` -> `str` implicit conversion in type inference --- .../codeql/rust/frameworks/stdlib/Stdlib.qll | 9 ++ .../codeql/rust/internal/TypeInference.qll | 43 ++++++--- .../dataflow/local/DataFlowStep.expected | 4 + .../PathResolutionConsistency.expected | 4 + .../PathResolutionConsistency.expected | 3 + .../PathResolutionConsistency.expected | 53 +++++++++++ .../test/library-tests/type-inference/main.rs | 4 +- .../type-inference/type-inference.expected | 4 + .../PathResolutionConsistency.expected | 89 +++++++++++++++++++ .../PathResolutionConsistency.expected | 7 ++ 10 files changed, 207 insertions(+), 13 deletions(-) create mode 100644 rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll b/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll index f8a65d9dcb9a..51a943190c53 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll @@ -65,3 +65,12 @@ class FutureTrait extends Trait { result.getName().getText() = "Output" } } + +/** + * The [`String` struct][1]. + * + * [1]: https://doc.rust-lang.org/std/string/struct.String.html + */ +class StringStruct extends Struct { + StringStruct() { this.getCanonicalPath() = "alloc::string::String" } +} diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index 61c931539573..a8230d04d9d0 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -780,12 +780,18 @@ private Type inferCallExprBaseType(AstNode n, TypePath path) { not (path0.isEmpty() and result = TRefType()) and path = TypePath::cons(TRefTypeParameter(), path0) else ( - not path0.isCons(TRefTypeParameter(), _) and - not (path0.isEmpty() and result = TRefType()) and - path = path0 - or - // adjust for implicit borrow - path0.isCons(TRefTypeParameter(), path) + not ( + receiverType.(StructType).asItemNode() instanceof StringStruct and + result.(StructType).asItemNode() instanceof Builtins::Str + ) and + ( + not path0.isCons(TRefTypeParameter(), _) and + not (path0.isEmpty() and result = TRefType()) and + path = path0 + or + // adjust for implicit borrow + path0.isCons(TRefTypeParameter(), path) + ) ) ) else path = path0 @@ -1130,12 +1136,27 @@ final class MethodCall extends Call { Type getTypeAt(TypePath path) { if this.receiverImplicitlyBorrowed() then - exists(TypePath path0 | result = inferType(super.getReceiver(), path0) | - path0.isCons(TRefTypeParameter(), path) + exists(TypePath path0, Type t0 | + t0 = inferType(super.getReceiver(), path0) and + ( + path0.isCons(TRefTypeParameter(), path) + or + not path0.isCons(TRefTypeParameter(), _) and + not (path0.isEmpty() and result = TRefType()) and + path = path0 + ) + | + result = t0 or - not path0.isCons(TRefTypeParameter(), _) and - not (path0.isEmpty() and result = TRefType()) and - path = path0 + // We do not yet model the `Deref` trait, so we hard-code the fact that + // `String` dereferences to `str` here. This allows us e.g. to resolve + // `x.parse::()` to the function `::parse` when `x` has + // type `String`. + // + // See also https://doc.rust-lang.org/reference/expressions/method-call-expr.html#r-expr.method.autoref-deref + path.isEmpty() and + t0.(StructType).asItemNode() instanceof StringStruct and + result.(StructType).asItemNode() instanceof Builtins::Str ) else result = inferType(super.getReceiver(), path) } diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 4186b0841334..f588371ed436 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -962,6 +962,8 @@ readStep | main.rs:442:25:442:29 | names | file://:0:0:0:0 | element | main.rs:442:9:442:20 | TuplePat | | main.rs:444:41:444:67 | [post] \|...\| ... | main.rs:441:9:441:20 | captured default_name | main.rs:444:41:444:67 | [post] default_name | | main.rs:444:44:444:55 | this | main.rs:441:9:441:20 | captured default_name | main.rs:444:44:444:55 | default_name | +| main.rs:469:13:469:13 | [post] receiver for b | file://:0:0:0:0 | &ref | main.rs:469:13:469:13 | [post] b | +| main.rs:470:19:470:19 | [post] receiver for b | file://:0:0:0:0 | &ref | main.rs:470:19:470:19 | [post] b | | main.rs:481:10:481:11 | vs | file://:0:0:0:0 | element | main.rs:481:10:481:14 | vs[0] | | main.rs:482:11:482:35 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:482:10:482:35 | * ... | | main.rs:483:11:483:35 | ... .unwrap() | file://:0:0:0:0 | &ref | main.rs:483:10:483:35 | * ... | @@ -1058,6 +1060,8 @@ storeStep | main.rs:429:30:429:30 | 3 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | | main.rs:432:18:432:27 | source(...) | file://:0:0:0:0 | element | main.rs:432:5:432:11 | [post] mut_arr | | main.rs:444:41:444:67 | default_name | main.rs:441:9:441:20 | captured default_name | main.rs:444:41:444:67 | \|...\| ... | +| main.rs:469:13:469:13 | b | file://:0:0:0:0 | &ref | main.rs:469:13:469:13 | receiver for b | +| main.rs:470:19:470:19 | b | file://:0:0:0:0 | &ref | main.rs:470:19:470:19 | receiver for b | | main.rs:479:15:479:24 | source(...) | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | | main.rs:479:27:479:27 | 2 | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | | main.rs:479:30:479:30 | 3 | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | diff --git a/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected index 4433a59fff16..ff85ec81529c 100644 --- a/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected @@ -13,6 +13,10 @@ multipleMethodCallTargets | test_futures_io.rs:92:26:92:63 | pinned.poll_read(...) | file://:0:0:0:0 | fn poll_read | | test_futures_io.rs:115:22:115:50 | pinned.poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | | test_futures_io.rs:115:22:115:50 | pinned.poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | +| web_frameworks.rs:88:14:88:23 | a.as_str() | file://:0:0:0:0 | fn as_str | +| web_frameworks.rs:88:14:88:23 | a.as_str() | file://:0:0:0:0 | fn as_str | +| web_frameworks.rs:89:14:89:25 | a.as_bytes() | file://:0:0:0:0 | fn as_bytes | +| web_frameworks.rs:89:14:89:25 | a.as_bytes() | file://:0:0:0:0 | fn as_bytes | multiplePathResolutions | test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | | test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | diff --git a/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected index 090ecfe601ce..66f86daf9854 100644 --- a/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected @@ -1,3 +1,6 @@ +multipleMethodCallTargets +| main.rs:64:16:64:25 | s.as_str() | file://:0:0:0:0 | fn as_str | +| main.rs:64:16:64:25 | s.as_str() | file://:0:0:0:0 | fn as_str | multiplePathResolutions | main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from | | main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from | diff --git a/rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..705ab1fefbcd --- /dev/null +++ b/rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,53 @@ +multipleMethodCallTargets +| test.rs:55:7:55:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:55:7:55:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:56:7:56:21 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:56:7:56:21 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:72:7:72:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:72:7:72:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:73:7:73:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:73:7:73:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:74:7:74:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:74:7:74:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:75:7:75:27 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:75:7:75:27 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:254:7:254:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:254:7:254:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:256:7:256:33 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:256:7:256:33 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:257:7:257:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:257:7:257:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:258:7:258:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:258:7:258:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:262:7:262:28 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:262:7:262:28 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:263:7:263:37 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:263:7:263:37 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:264:7:264:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:264:7:264:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:267:7:267:32 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:267:7:267:32 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:277:7:277:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:277:7:277:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:280:7:280:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:280:7:280:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:284:7:284:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:284:7:284:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:291:7:291:53 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:291:7:291:53 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:292:7:292:45 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:292:7:292:45 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:294:7:294:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:294:7:294:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:295:7:295:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:295:7:295:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:296:7:296:42 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:296:7:296:42 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:298:7:298:48 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:298:7:298:48 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:299:7:299:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:299:7:299:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:300:7:300:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:300:7:300:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:339:7:339:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | +| test.rs:339:7:339:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index dd741ded5d14..87bd3b035b84 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -1109,9 +1109,9 @@ mod method_call_type_conversion { println!("{:?}", x7); let x9 : String = "Hello".to_string(); // $ type=x9:String - // Implicit `String` -> `str` conversion happense via the `Deref` trait: + // Implicit `String` -> `str` conversion happens via the `Deref` trait: // https://doc.rust-lang.org/std/string/struct.String.html#deref. - let u = x9.parse::(); // $ MISSING: method=parse type=u:T.u32 + let u = x9.parse::(); // $ method=parse type=u:T.u32 } } 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 f5e0989d6fa7..f97a93d32480 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -1413,7 +1413,11 @@ inferType | main.rs:1111:13:1111:14 | x9 | | {EXTERNAL LOCATION} | String | | main.rs:1111:27:1111:33 | "Hello" | | {EXTERNAL LOCATION} | str | | main.rs:1111:27:1111:45 | "Hello".to_string() | | {EXTERNAL LOCATION} | String | +| main.rs:1114:13:1114:13 | u | | {EXTERNAL LOCATION} | Result | +| main.rs:1114:13:1114:13 | u | T | {EXTERNAL LOCATION} | u32 | | main.rs:1114:17:1114:18 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1114:17:1114:33 | x9.parse() | | {EXTERNAL LOCATION} | Result | +| main.rs:1114:17:1114:33 | x9.parse() | T | {EXTERNAL LOCATION} | u32 | | main.rs:1121:16:1121:20 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1121:16:1121:20 | SelfParam | &T | main.rs:1119:5:1127:5 | Self [trait MyTrait] | | main.rs:1124:16:1124:20 | SelfParam | | file://:0:0:0:0 | & | diff --git a/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected index 3156d05ef173..598e52f932c1 100644 --- a/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected @@ -1,3 +1,92 @@ +multipleMethodCallTargets +| sqlx.rs:64:26:64:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:64:26:64:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:65:26:65:46 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:65:26:65:46 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:70:30:70:52 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:70:30:70:52 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:75:25:75:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:75:25:75:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:76:25:76:45 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:76:25:76:45 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:81:29:81:51 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:81:29:81:51 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:84:25:84:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:84:25:84:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:85:25:85:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:85:25:85:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:87:29:87:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:87:29:87:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:88:29:88:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:88:29:88:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:106:26:106:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:106:26:106:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:108:30:108:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:108:30:108:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:111:27:111:47 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:111:27:111:47 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:113:31:113:53 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:113:31:113:53 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:117:25:117:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:117:25:117:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:118:25:118:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:118:25:118:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:120:29:120:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:120:29:120:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:121:29:121:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:121:29:121:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:124:25:124:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:124:25:124:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:125:25:125:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:125:25:125:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:127:29:127:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:127:29:127:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:128:29:128:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:128:29:128:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:131:54:131:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:131:54:131:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:133:54:133:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:133:54:133:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:136:55:136:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:136:55:136:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:137:55:137:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:137:55:137:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:140:54:140:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:140:54:140:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:142:54:142:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:142:54:142:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:145:55:145:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:145:55:145:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:146:55:146:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:146:55:146:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:149:25:149:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:149:25:149:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:150:25:150:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:150:25:150:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:153:29:153:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:153:29:153:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:154:29:154:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:154:29:154:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:179:26:179:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:179:26:179:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:181:30:181:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:181:30:181:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:185:25:185:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:185:25:185:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:186:25:186:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:186:25:186:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:188:29:188:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:188:29:188:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:189:29:189:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | +| sqlx.rs:189:29:189:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | multiplePathResolutions | sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | | sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | diff --git a/rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..36e75877d2be --- /dev/null +++ b/rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,7 @@ +multipleMethodCallTargets +| test_logging.rs:77:20:77:36 | password.as_str() | file://:0:0:0:0 | fn as_str | +| test_logging.rs:77:20:77:36 | password.as_str() | file://:0:0:0:0 | fn as_str | +| test_logging.rs:78:22:78:38 | password.as_str() | file://:0:0:0:0 | fn as_str | +| test_logging.rs:78:22:78:38 | password.as_str() | file://:0:0:0:0 | fn as_str | +| test_logging.rs:88:18:88:34 | password.as_str() | file://:0:0:0:0 | fn as_str | +| test_logging.rs:88:18:88:34 | password.as_str() | file://:0:0:0:0 | fn as_str |