diff --git a/rust/ql/lib/utils/test/ExternalLocationPostProcessing.ql b/rust/ql/lib/utils/test/ExternalLocationPostProcessing.ql new file mode 100644 index 00000000000..0c4f58b40b6 --- /dev/null +++ b/rust/ql/lib/utils/test/ExternalLocationPostProcessing.ql @@ -0,0 +1,9 @@ +/** + * @kind test-postprocess + */ + +private import rust +private import codeql.util.test.ExternalLocationPostProcessing +import Make + +private string getSourceLocationPrefix() { sourceLocationPrefix(result) } diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index b7300075dc3..4186b084133 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -866,98 +866,8 @@ localStep | main.rs:565:13:565:33 | result_questionmark(...) | main.rs:565:9:565:9 | _ | | main.rs:577:36:577:41 | ...::new(...) | main.rs:577:36:577:41 | MacroExpr | | main.rs:577:36:577:41 | [post] MacroExpr | main.rs:577:36:577:41 | [post] ...::new(...) | -storeStep -| main.rs:97:14:97:22 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:97:13:97:26 | TupleExpr | -| main.rs:97:25:97:25 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:97:13:97:26 | TupleExpr | -| main.rs:103:14:103:14 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:103:13:103:30 | TupleExpr | -| main.rs:103:17:103:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:103:13:103:30 | TupleExpr | -| main.rs:103:29:103:29 | 2 | file://:0:0:0:0 | tuple.2 | main.rs:103:13:103:30 | TupleExpr | -| main.rs:111:18:111:18 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:111:17:111:31 | TupleExpr | -| main.rs:111:21:111:30 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:111:17:111:31 | TupleExpr | -| main.rs:114:11:114:20 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:114:5:114:5 | [post] a | -| main.rs:115:11:115:11 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:115:5:115:5 | [post] a | -| main.rs:121:14:121:14 | 3 | file://:0:0:0:0 | tuple.0 | main.rs:121:13:121:27 | TupleExpr | -| main.rs:121:17:121:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:121:13:121:27 | TupleExpr | -| main.rs:122:14:122:14 | a | file://:0:0:0:0 | tuple.0 | main.rs:122:13:122:18 | TupleExpr | -| main.rs:122:17:122:17 | 3 | file://:0:0:0:0 | tuple.1 | main.rs:122:13:122:18 | TupleExpr | -| main.rs:137:24:137:32 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:137:13:137:40 | Point {...} | -| main.rs:137:38:137:38 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:137:13:137:40 | Point {...} | -| main.rs:143:28:143:36 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:143:17:143:44 | Point {...} | -| main.rs:143:42:143:42 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:143:17:143:44 | Point {...} | -| main.rs:145:11:145:20 | source(...) | main.rs:133:5:133:10 | Point.y | main.rs:145:5:145:5 | [post] p | -| main.rs:151:12:151:21 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:150:13:153:5 | Point {...} | -| main.rs:152:12:152:12 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:150:13:153:5 | Point {...} | -| main.rs:166:16:169:9 | Point {...} | main.rs:160:5:160:16 | Point3D.plane | main.rs:165:13:171:5 | Point3D {...} | -| main.rs:167:16:167:16 | 2 | main.rs:132:5:132:10 | Point.x | main.rs:166:16:169:9 | Point {...} | -| main.rs:168:16:168:25 | source(...) | main.rs:133:5:133:10 | Point.y | main.rs:166:16:169:9 | Point {...} | -| main.rs:170:12:170:12 | 4 | main.rs:161:5:161:10 | Point3D.z | main.rs:165:13:171:5 | Point3D {...} | -| main.rs:180:16:180:32 | Point {...} | main.rs:160:5:160:16 | Point3D.plane | main.rs:179:13:182:5 | Point3D {...} | -| main.rs:180:27:180:27 | 2 | main.rs:132:5:132:10 | Point.x | main.rs:180:16:180:32 | Point {...} | -| main.rs:180:30:180:30 | y | main.rs:133:5:133:10 | Point.y | main.rs:180:16:180:32 | Point {...} | -| main.rs:181:12:181:12 | 4 | main.rs:161:5:161:10 | Point3D.z | main.rs:179:13:182:5 | Point3D {...} | -| main.rs:198:27:198:36 | source(...) | main.rs:195:22:195:24 | MyTupleStruct(0) | main.rs:198:13:198:40 | MyTupleStruct(...) | -| main.rs:198:39:198:39 | 2 | main.rs:195:27:195:29 | MyTupleStruct(1) | main.rs:198:13:198:40 | MyTupleStruct(...) | -| main.rs:214:27:214:36 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:214:14:214:37 | ...::Some(...) | -| main.rs:215:27:215:27 | 2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:215:14:215:28 | ...::Some(...) | -| main.rs:227:19:227:28 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:227:14:227:29 | Some(...) | -| main.rs:228:19:228:19 | 2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:228:14:228:20 | Some(...) | -| main.rs:240:19:240:28 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:240:14:240:29 | Some(...) | -| main.rs:245:19:245:28 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:245:14:245:29 | Some(...) | -| main.rs:248:19:248:19 | 0 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:248:14:248:20 | Some(...) | -| main.rs:253:19:253:28 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:253:14:253:29 | Some(...) | -| main.rs:261:19:261:28 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:261:14:261:29 | Some(...) | -| main.rs:262:19:262:19 | 2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:262:14:262:20 | Some(...) | -| main.rs:266:10:266:10 | 0 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:266:5:266:11 | Some(...) | -| main.rs:270:36:270:45 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:270:33:270:46 | Ok(...) | -| main.rs:276:37:276:46 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:537:9:537:55 | Err | main.rs:276:33:276:47 | Err(...) | -| main.rs:284:35:284:44 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:284:32:284:45 | Ok(...) | -| main.rs:285:35:285:35 | 2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:285:32:285:36 | Ok(...) | -| main.rs:286:36:286:45 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:537:9:537:55 | Err | main.rs:286:32:286:46 | Err(...) | -| main.rs:293:8:293:8 | 0 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:293:5:293:9 | Ok(...) | -| main.rs:297:35:297:44 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:297:32:297:45 | Ok(...) | -| main.rs:301:36:301:45 | source(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:537:9:537:55 | Err | main.rs:301:32:301:46 | Err(...) | -| main.rs:312:29:312:38 | source(...) | main.rs:307:7:307:9 | A | main.rs:312:14:312:39 | ...::A(...) | -| main.rs:313:29:313:29 | 2 | main.rs:308:7:308:9 | B | main.rs:313:14:313:30 | ...::B(...) | -| main.rs:330:16:330:25 | source(...) | main.rs:307:7:307:9 | A | main.rs:330:14:330:26 | A(...) | -| main.rs:331:16:331:16 | 2 | main.rs:308:7:308:9 | B | main.rs:331:14:331:17 | B(...) | -| main.rs:352:18:352:27 | source(...) | main.rs:346:9:346:20 | C | main.rs:351:14:353:5 | ...::C {...} | -| main.rs:354:41:354:41 | 2 | main.rs:347:9:347:20 | D | main.rs:354:14:354:43 | ...::D {...} | -| main.rs:372:18:372:27 | source(...) | main.rs:346:9:346:20 | C | main.rs:371:14:373:5 | C {...} | -| main.rs:374:27:374:27 | 2 | main.rs:347:9:347:20 | D | main.rs:374:14:374:29 | D {...} | -| main.rs:392:17:392:17 | 1 | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | -| main.rs:392:20:392:20 | 2 | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | -| main.rs:392:23:392:32 | source(...) | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | -| main.rs:396:17:396:26 | source(...) | file://:0:0:0:0 | element | main.rs:396:16:396:31 | [...; 10] | -| main.rs:400:17:400:17 | 1 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | -| main.rs:400:20:400:20 | 2 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | -| main.rs:400:23:400:23 | 3 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | -| main.rs:406:17:406:17 | 1 | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | -| main.rs:406:20:406:20 | 2 | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | -| main.rs:406:23:406:32 | source(...) | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | -| main.rs:411:17:411:17 | 1 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | -| main.rs:411:20:411:20 | 2 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | -| main.rs:411:23:411:23 | 3 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | -| main.rs:418:17:418:17 | 1 | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | -| main.rs:418:20:418:20 | 2 | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | -| main.rs:418:23:418:32 | source(...) | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | -| main.rs:429:24:429:24 | 1 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | -| main.rs:429:27:429:27 | 2 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | -| 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: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 | [...] | -| main.rs:479:33:479:33 | 4 | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | -| main.rs:504:23:504:32 | source(...) | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:504:35:504:35 | 2 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:504:38:504:38 | 3 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:504:41:504:41 | 4 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | -| main.rs:519:18:519:18 | c | file://:0:0:0:0 | &ref | main.rs:519:17:519:18 | &c | -| main.rs:522:15:522:15 | b | file://:0:0:0:0 | &ref | main.rs:522:14:522:15 | &b | -| main.rs:545:27:545:27 | 0 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:545:22:545:28 | Some(...) | readStep -| main.rs:36:9:36:15 | Some(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:36:14:36:14 | _ | +| main.rs:36:9:36:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:36:14:36:14 | _ | | main.rs:90:11:90:11 | i | file://:0:0:0:0 | &ref | main.rs:90:10:90:11 | * ... | | main.rs:98:10:98:10 | a | file://:0:0:0:0 | tuple.0 | main.rs:98:10:98:12 | a.0 | | main.rs:99:10:99:10 | a | file://:0:0:0:0 | tuple.1 | main.rs:99:10:99:12 | a.1 | @@ -997,20 +907,20 @@ readStep | main.rs:200:10:200:10 | s | main.rs:195:27:195:29 | MyTupleStruct(1) | main.rs:200:10:200:12 | s.1 | | main.rs:203:9:203:27 | MyTupleStruct(...) | main.rs:195:22:195:24 | MyTupleStruct(0) | main.rs:203:23:203:23 | x | | main.rs:203:9:203:27 | MyTupleStruct(...) | main.rs:195:27:195:29 | MyTupleStruct(1) | main.rs:203:26:203:26 | y | -| main.rs:217:9:217:23 | ...::Some(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:217:22:217:22 | n | -| main.rs:221:9:221:23 | ...::Some(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:221:22:221:22 | n | -| main.rs:230:9:230:15 | Some(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:230:14:230:14 | n | -| main.rs:234:9:234:15 | Some(...) | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:234:14:234:14 | n | -| main.rs:263:14:263:15 | s1 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:263:14:263:16 | TryExpr | -| main.rs:263:14:263:15 | s1 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:263:14:263:16 | TryExpr | -| main.rs:265:10:265:11 | s2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:265:10:265:12 | TryExpr | -| main.rs:265:10:265:11 | s2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:265:10:265:12 | TryExpr | -| main.rs:287:14:287:15 | s1 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:287:14:287:16 | TryExpr | -| main.rs:287:14:287:15 | s1 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:287:14:287:16 | TryExpr | -| main.rs:288:14:288:15 | s2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:288:14:288:16 | TryExpr | -| main.rs:288:14:288:15 | s2 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:288:14:288:16 | TryExpr | -| main.rs:291:14:291:15 | s3 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:580:10:580:56 | Some | main.rs:291:14:291:16 | TryExpr | -| main.rs:291:14:291:15 | s3 | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:532:8:532:54 | Ok | main.rs:291:14:291:16 | TryExpr | +| main.rs:217:9:217:23 | ...::Some(...) | {EXTERNAL LOCATION} | Some | main.rs:217:22:217:22 | n | +| main.rs:221:9:221:23 | ...::Some(...) | {EXTERNAL LOCATION} | Some | main.rs:221:22:221:22 | n | +| main.rs:230:9:230:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:230:14:230:14 | n | +| main.rs:234:9:234:15 | Some(...) | {EXTERNAL LOCATION} | Some | main.rs:234:14:234:14 | n | +| main.rs:263:14:263:15 | s1 | {EXTERNAL LOCATION} | Some | main.rs:263:14:263:16 | TryExpr | +| main.rs:263:14:263:15 | s1 | {EXTERNAL LOCATION} | Ok | main.rs:263:14:263:16 | TryExpr | +| main.rs:265:10:265:11 | s2 | {EXTERNAL LOCATION} | Some | main.rs:265:10:265:12 | TryExpr | +| main.rs:265:10:265:11 | s2 | {EXTERNAL LOCATION} | Ok | main.rs:265:10:265:12 | TryExpr | +| main.rs:287:14:287:15 | s1 | {EXTERNAL LOCATION} | Some | main.rs:287:14:287:16 | TryExpr | +| main.rs:287:14:287:15 | s1 | {EXTERNAL LOCATION} | Ok | main.rs:287:14:287:16 | TryExpr | +| main.rs:288:14:288:15 | s2 | {EXTERNAL LOCATION} | Some | main.rs:288:14:288:16 | TryExpr | +| main.rs:288:14:288:15 | s2 | {EXTERNAL LOCATION} | Ok | main.rs:288:14:288:16 | TryExpr | +| main.rs:291:14:291:15 | s3 | {EXTERNAL LOCATION} | Some | main.rs:291:14:291:16 | TryExpr | +| main.rs:291:14:291:15 | s3 | {EXTERNAL LOCATION} | Ok | main.rs:291:14:291:16 | TryExpr | | main.rs:315:9:315:25 | ...::A(...) | main.rs:307:7:307:9 | A | main.rs:315:24:315:24 | n | | main.rs:316:9:316:25 | ...::B(...) | main.rs:308:7:308:9 | B | main.rs:316:24:316:24 | n | | main.rs:319:9:319:25 | ...::A(...) | main.rs:307:7:307:9 | A | main.rs:319:24:319:24 | n | @@ -1069,3 +979,93 @@ readStep | main.rs:510:9:510:14 | &mut ... | file://:0:0:0:0 | &ref | main.rs:510:14:510:14 | v | | main.rs:510:19:510:35 | vs_mut.iter_mut() | file://:0:0:0:0 | element | main.rs:510:9:510:14 | &mut ... | | main.rs:524:11:524:15 | c_ref | file://:0:0:0:0 | &ref | main.rs:524:10:524:15 | * ... | +storeStep +| main.rs:97:14:97:22 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:97:13:97:26 | TupleExpr | +| main.rs:97:25:97:25 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:97:13:97:26 | TupleExpr | +| main.rs:103:14:103:14 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:103:13:103:30 | TupleExpr | +| main.rs:103:17:103:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:103:13:103:30 | TupleExpr | +| main.rs:103:29:103:29 | 2 | file://:0:0:0:0 | tuple.2 | main.rs:103:13:103:30 | TupleExpr | +| main.rs:111:18:111:18 | 2 | file://:0:0:0:0 | tuple.0 | main.rs:111:17:111:31 | TupleExpr | +| main.rs:111:21:111:30 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:111:17:111:31 | TupleExpr | +| main.rs:114:11:114:20 | source(...) | file://:0:0:0:0 | tuple.0 | main.rs:114:5:114:5 | [post] a | +| main.rs:115:11:115:11 | 2 | file://:0:0:0:0 | tuple.1 | main.rs:115:5:115:5 | [post] a | +| main.rs:121:14:121:14 | 3 | file://:0:0:0:0 | tuple.0 | main.rs:121:13:121:27 | TupleExpr | +| main.rs:121:17:121:26 | source(...) | file://:0:0:0:0 | tuple.1 | main.rs:121:13:121:27 | TupleExpr | +| main.rs:122:14:122:14 | a | file://:0:0:0:0 | tuple.0 | main.rs:122:13:122:18 | TupleExpr | +| main.rs:122:17:122:17 | 3 | file://:0:0:0:0 | tuple.1 | main.rs:122:13:122:18 | TupleExpr | +| main.rs:137:24:137:32 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:137:13:137:40 | Point {...} | +| main.rs:137:38:137:38 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:137:13:137:40 | Point {...} | +| main.rs:143:28:143:36 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:143:17:143:44 | Point {...} | +| main.rs:143:42:143:42 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:143:17:143:44 | Point {...} | +| main.rs:145:11:145:20 | source(...) | main.rs:133:5:133:10 | Point.y | main.rs:145:5:145:5 | [post] p | +| main.rs:151:12:151:21 | source(...) | main.rs:132:5:132:10 | Point.x | main.rs:150:13:153:5 | Point {...} | +| main.rs:152:12:152:12 | 2 | main.rs:133:5:133:10 | Point.y | main.rs:150:13:153:5 | Point {...} | +| main.rs:166:16:169:9 | Point {...} | main.rs:160:5:160:16 | Point3D.plane | main.rs:165:13:171:5 | Point3D {...} | +| main.rs:167:16:167:16 | 2 | main.rs:132:5:132:10 | Point.x | main.rs:166:16:169:9 | Point {...} | +| main.rs:168:16:168:25 | source(...) | main.rs:133:5:133:10 | Point.y | main.rs:166:16:169:9 | Point {...} | +| main.rs:170:12:170:12 | 4 | main.rs:161:5:161:10 | Point3D.z | main.rs:165:13:171:5 | Point3D {...} | +| main.rs:180:16:180:32 | Point {...} | main.rs:160:5:160:16 | Point3D.plane | main.rs:179:13:182:5 | Point3D {...} | +| main.rs:180:27:180:27 | 2 | main.rs:132:5:132:10 | Point.x | main.rs:180:16:180:32 | Point {...} | +| main.rs:180:30:180:30 | y | main.rs:133:5:133:10 | Point.y | main.rs:180:16:180:32 | Point {...} | +| main.rs:181:12:181:12 | 4 | main.rs:161:5:161:10 | Point3D.z | main.rs:179:13:182:5 | Point3D {...} | +| main.rs:198:27:198:36 | source(...) | main.rs:195:22:195:24 | MyTupleStruct(0) | main.rs:198:13:198:40 | MyTupleStruct(...) | +| main.rs:198:39:198:39 | 2 | main.rs:195:27:195:29 | MyTupleStruct(1) | main.rs:198:13:198:40 | MyTupleStruct(...) | +| main.rs:214:27:214:36 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:214:14:214:37 | ...::Some(...) | +| main.rs:215:27:215:27 | 2 | {EXTERNAL LOCATION} | Some | main.rs:215:14:215:28 | ...::Some(...) | +| main.rs:227:19:227:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:227:14:227:29 | Some(...) | +| main.rs:228:19:228:19 | 2 | {EXTERNAL LOCATION} | Some | main.rs:228:14:228:20 | Some(...) | +| main.rs:240:19:240:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:240:14:240:29 | Some(...) | +| main.rs:245:19:245:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:245:14:245:29 | Some(...) | +| main.rs:248:19:248:19 | 0 | {EXTERNAL LOCATION} | Some | main.rs:248:14:248:20 | Some(...) | +| main.rs:253:19:253:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:253:14:253:29 | Some(...) | +| main.rs:261:19:261:28 | source(...) | {EXTERNAL LOCATION} | Some | main.rs:261:14:261:29 | Some(...) | +| main.rs:262:19:262:19 | 2 | {EXTERNAL LOCATION} | Some | main.rs:262:14:262:20 | Some(...) | +| main.rs:266:10:266:10 | 0 | {EXTERNAL LOCATION} | Some | main.rs:266:5:266:11 | Some(...) | +| main.rs:270:36:270:45 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:270:33:270:46 | Ok(...) | +| main.rs:276:37:276:46 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:276:33:276:47 | Err(...) | +| main.rs:284:35:284:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:284:32:284:45 | Ok(...) | +| main.rs:285:35:285:35 | 2 | {EXTERNAL LOCATION} | Ok | main.rs:285:32:285:36 | Ok(...) | +| main.rs:286:36:286:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:286:32:286:46 | Err(...) | +| main.rs:293:8:293:8 | 0 | {EXTERNAL LOCATION} | Ok | main.rs:293:5:293:9 | Ok(...) | +| main.rs:297:35:297:44 | source(...) | {EXTERNAL LOCATION} | Ok | main.rs:297:32:297:45 | Ok(...) | +| main.rs:301:36:301:45 | source(...) | {EXTERNAL LOCATION} | Err | main.rs:301:32:301:46 | Err(...) | +| main.rs:312:29:312:38 | source(...) | main.rs:307:7:307:9 | A | main.rs:312:14:312:39 | ...::A(...) | +| main.rs:313:29:313:29 | 2 | main.rs:308:7:308:9 | B | main.rs:313:14:313:30 | ...::B(...) | +| main.rs:330:16:330:25 | source(...) | main.rs:307:7:307:9 | A | main.rs:330:14:330:26 | A(...) | +| main.rs:331:16:331:16 | 2 | main.rs:308:7:308:9 | B | main.rs:331:14:331:17 | B(...) | +| main.rs:352:18:352:27 | source(...) | main.rs:346:9:346:20 | C | main.rs:351:14:353:5 | ...::C {...} | +| main.rs:354:41:354:41 | 2 | main.rs:347:9:347:20 | D | main.rs:354:14:354:43 | ...::D {...} | +| main.rs:372:18:372:27 | source(...) | main.rs:346:9:346:20 | C | main.rs:371:14:373:5 | C {...} | +| main.rs:374:27:374:27 | 2 | main.rs:347:9:347:20 | D | main.rs:374:14:374:29 | D {...} | +| main.rs:392:17:392:17 | 1 | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | +| main.rs:392:20:392:20 | 2 | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | +| main.rs:392:23:392:32 | source(...) | file://:0:0:0:0 | element | main.rs:392:16:392:33 | [...] | +| main.rs:396:17:396:26 | source(...) | file://:0:0:0:0 | element | main.rs:396:16:396:31 | [...; 10] | +| main.rs:400:17:400:17 | 1 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | +| main.rs:400:20:400:20 | 2 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | +| main.rs:400:23:400:23 | 3 | file://:0:0:0:0 | element | main.rs:400:16:400:24 | [...] | +| main.rs:406:17:406:17 | 1 | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | +| main.rs:406:20:406:20 | 2 | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | +| main.rs:406:23:406:32 | source(...) | file://:0:0:0:0 | element | main.rs:406:16:406:33 | [...] | +| main.rs:411:17:411:17 | 1 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | +| main.rs:411:20:411:20 | 2 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | +| main.rs:411:23:411:23 | 3 | file://:0:0:0:0 | element | main.rs:411:16:411:24 | [...] | +| main.rs:418:17:418:17 | 1 | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | +| main.rs:418:20:418:20 | 2 | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | +| main.rs:418:23:418:32 | source(...) | file://:0:0:0:0 | element | main.rs:418:16:418:33 | [...] | +| main.rs:429:24:429:24 | 1 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | +| main.rs:429:27:429:27 | 2 | file://:0:0:0:0 | element | main.rs:429:23:429:31 | [...] | +| 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: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 | [...] | +| main.rs:479:33:479:33 | 4 | file://:0:0:0:0 | element | main.rs:479:14:479:34 | [...] | +| main.rs:504:23:504:32 | source(...) | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | +| main.rs:504:35:504:35 | 2 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | +| main.rs:504:38:504:38 | 3 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | +| main.rs:504:41:504:41 | 4 | file://:0:0:0:0 | element | main.rs:504:22:504:42 | [...] | +| main.rs:519:18:519:18 | c | file://:0:0:0:0 | &ref | main.rs:519:17:519:18 | &c | +| main.rs:522:15:522:15 | b | file://:0:0:0:0 | &ref | main.rs:522:14:522:15 | &b | +| main.rs:545:27:545:27 | 0 | {EXTERNAL LOCATION} | Some | main.rs:545:22:545:28 | Some(...) | diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.ql b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.ql index e3043d55bb6..21e45974529 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.ql +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.ql @@ -8,27 +8,14 @@ query predicate localStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { RustDataFlow::simpleLocalFlowStep(nodeFrom, nodeTo, "") } -class Content extends DataFlow::Content { - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - exists(string file | - this.getLocation().hasLocationInfo(file, startline, startcolumn, endline, endcolumn) and - filepath = - file.regexpReplaceAll("^/.*/tools/builtins/", "/BUILTINS/") - .regexpReplaceAll("^/.*/.rustup/toolchains/[^/]+/", "/RUSTUP_HOME/toolchain/") - ) - } -} - class Node extends DataFlow::Node { Node() { not this instanceof FlowSummaryNode } } -query predicate storeStep(Node node1, Content c, Node node2) { +query predicate storeStep(Node node1, DataFlow::Content c, Node node2) { RustDataFlow::storeContentStep(node1, c, node2) } -query predicate readStep(Node node1, Content c, Node node2) { +query predicate readStep(Node node1, DataFlow::Content c, Node node2) { RustDataFlow::readContentStep(node1, c, node2) } diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.qlref b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.qlref new file mode 100644 index 00000000000..e3dd95c3e61 --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.qlref @@ -0,0 +1,2 @@ +query: DataFlowStep.ql +postprocess: utils/test/ExternalLocationPostProcessing.ql \ No newline at end of file diff --git a/rust/ql/test/library-tests/path-resolution/path-resolution.expected b/rust/ql/test/library-tests/path-resolution/path-resolution.expected index 806b0059093..054905f3909 100644 --- a/rust/ql/test/library-tests/path-resolution/path-resolution.expected +++ b/rust/ql/test/library-tests/path-resolution/path-resolution.expected @@ -1,4 +1,3 @@ -testFailures mod | lib.rs:1:1:1:7 | mod my | | main.rs:1:1:1:7 | mod my | @@ -77,7 +76,7 @@ resolvePath | main.rs:68:5:68:8 | self | main.rs:1:1:653:2 | SourceFile | | main.rs:68:5:68:11 | ...::i | main.rs:71:1:83:1 | fn i | | main.rs:74:13:74:15 | Foo | main.rs:48:1:48:13 | struct Foo | -| main.rs:78:16:78:18 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 | +| main.rs:78:16:78:18 | i32 | {EXTERNAL LOCATION} | struct i32 | | main.rs:81:17:81:19 | Foo | main.rs:77:9:79:9 | struct Foo | | main.rs:85:5:85:7 | my2 | main.rs:7:1:7:8 | mod my2 | | main.rs:85:5:85:16 | ...::nested2 | my2/mod.rs:1:1:1:16 | mod nested2 | @@ -93,8 +92,8 @@ resolvePath | main.rs:117:13:117:21 | ...::m5 | main.rs:103:1:107:1 | mod m5 | | main.rs:118:9:118:9 | f | main.rs:104:5:106:5 | fn f | | main.rs:118:9:118:9 | f | main.rs:110:5:112:5 | fn f | -| main.rs:125:13:125:15 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 | -| main.rs:128:16:128:18 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 | +| main.rs:125:13:125:15 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:128:16:128:18 | i32 | {EXTERNAL LOCATION} | struct i32 | | main.rs:134:19:134:24 | MyEnum | main.rs:123:5:131:5 | enum MyEnum | | main.rs:137:17:137:22 | MyEnum | main.rs:123:5:131:5 | enum MyEnum | | main.rs:137:17:137:25 | ...::A | main.rs:124:9:126:9 | A | @@ -351,19 +350,20 @@ resolvePath | my.rs:18:9:18:11 | my4 | my.rs:14:1:16:1 | mod my4 | | my.rs:18:9:18:16 | ...::my5 | my.rs:15:5:15:16 | mod my5 | | my.rs:18:9:18:19 | ...::f | my/my4/my5/mod.rs:1:1:3:1 | fn f | -| my.rs:22:5:22:9 | std | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/std/src/lib.rs:0:0:0:0 | Crate(std@0.0.0) | -| my.rs:22:5:22:17 | ...::result | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/lib.rs:356:1:356:15 | mod result | -| my.rs:22:5:24:12 | ...::Result::<...> | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | enum Result | +| my.rs:22:5:22:9 | std | {EXTERNAL LOCATION} | Crate(std@0.0.0) | +| my.rs:22:5:22:17 | ...::result | {EXTERNAL LOCATION} | mod result | +| my.rs:22:5:24:12 | ...::Result::<...> | {EXTERNAL LOCATION} | enum Result | | my.rs:23:5:23:5 | T | my.rs:21:5:21:5 | T | -| my.rs:28:8:28:10 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 | -| my.rs:29:8:29:10 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 | +| my.rs:28:8:28:10 | i32 | {EXTERNAL LOCATION} | struct i32 | +| my.rs:29:8:29:10 | i32 | {EXTERNAL LOCATION} | struct i32 | | my.rs:30:6:30:16 | Result::<...> | my.rs:18:34:25:1 | type Result<...> | -| my.rs:30:13:30:15 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 | -| my.rs:33:16:33:18 | Err | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:534:5:537:56 | Err | -| my.rs:35:5:35:6 | Ok | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:529:5:532:55 | Ok | +| my.rs:30:13:30:15 | i32 | {EXTERNAL LOCATION} | struct i32 | +| my.rs:33:16:33:18 | Err | {EXTERNAL LOCATION} | Err | +| my.rs:35:5:35:6 | Ok | {EXTERNAL LOCATION} | Ok | | my/nested.rs:9:13:9:13 | f | my/nested.rs:3:9:5:9 | fn f | | my/nested.rs:15:9:15:15 | nested2 | my/nested.rs:2:5:11:5 | mod nested2 | | my/nested.rs:15:9:15:18 | ...::f | my/nested.rs:3:9:5:9 | fn f | | my/nested.rs:21:5:21:11 | nested1 | my/nested.rs:1:1:17:1 | mod nested1 | | my/nested.rs:21:5:21:20 | ...::nested2 | my/nested.rs:2:5:11:5 | mod nested2 | | my/nested.rs:21:5:21:23 | ...::f | my/nested.rs:3:9:5:9 | fn f | +testFailures diff --git a/rust/ql/test/library-tests/path-resolution/path-resolution.ql b/rust/ql/test/library-tests/path-resolution/path-resolution.ql index d04036f7b51..0fe49a8e386 100644 --- a/rust/ql/test/library-tests/path-resolution/path-resolution.ql +++ b/rust/ql/test/library-tests/path-resolution/path-resolution.ql @@ -5,22 +5,7 @@ import TestUtils query predicate mod(Module m) { toBeTested(m) } -final private class ItemNodeFinal = ItemNode; - -class ItemNodeLoc extends ItemNodeFinal { - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - exists(string file | - this.getLocation().hasLocationInfo(file, startline, startcolumn, endline, endcolumn) and - filepath = - file.regexpReplaceAll("^/.*/.rustup/toolchains/[^/]+/", "/RUSTUP_HOME/toolchain/") - .regexpReplaceAll("^/.*/tools/builtins/", "/BUILTINS/") - ) - } -} - -query predicate resolvePath(Path p, ItemNodeLoc i) { +query predicate resolvePath(Path p, ItemNode i) { toBeTested(p) and not p.isFromMacroExpansion() and i = resolvePath(p) diff --git a/rust/ql/test/library-tests/path-resolution/path-resolution.qlref b/rust/ql/test/library-tests/path-resolution/path-resolution.qlref new file mode 100644 index 00000000000..54a21bc91ab --- /dev/null +++ b/rust/ql/test/library-tests/path-resolution/path-resolution.qlref @@ -0,0 +1,2 @@ +query: path-resolution.ql +postprocess: utils/test/ExternalLocationPostProcessing.ql \ No newline at end of file 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 8e04a0c0752..ff33ad89cb8 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -1,4 +1,3 @@ -testFailures inferType | loop/main.rs:7:12:7:15 | SelfParam | | loop/main.rs:6:1:8:1 | Self [trait T1] | | loop/main.rs:11:12:11:15 | SelfParam | | loop/main.rs:10:1:14:1 | Self [trait T2] | @@ -6,7 +5,7 @@ inferType | main.rs:26:13:26:13 | x | | main.rs:5:5:8:5 | MyThing | | main.rs:26:17:26:32 | MyThing {...} | | main.rs:5:5:8:5 | MyThing | | main.rs:26:30:26:30 | S | | main.rs:2:5:3:13 | S | -| main.rs:27:18:27:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:27:18:27:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:27:26:27:26 | x | | main.rs:5:5:8:5 | MyThing | | main.rs:27:26:27:28 | x.a | | main.rs:2:5:3:13 | S | | main.rs:32:13:32:13 | x | | main.rs:16:5:19:5 | GenericThing | @@ -14,7 +13,7 @@ inferType | main.rs:32:17:32:42 | GenericThing::<...> {...} | | main.rs:16:5:19:5 | GenericThing | | main.rs:32:17:32:42 | GenericThing::<...> {...} | A | main.rs:2:5:3:13 | S | | main.rs:32:40:32:40 | S | | main.rs:2:5:3:13 | S | -| main.rs:33:18:33:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:33:18:33:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:33:26:33:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:33:26:33:26 | x | A | main.rs:2:5:3:13 | S | | main.rs:33:26:33:28 | x.a | | main.rs:2:5:3:13 | S | @@ -23,7 +22,7 @@ inferType | main.rs:36:17:36:37 | GenericThing {...} | | main.rs:16:5:19:5 | GenericThing | | main.rs:36:17:36:37 | GenericThing {...} | A | main.rs:2:5:3:13 | S | | main.rs:36:35:36:35 | S | | main.rs:2:5:3:13 | S | -| main.rs:37:18:37:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:37:18:37:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:37:26:37:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:37:26:37:26 | x | A | main.rs:2:5:3:13 | S | | main.rs:37:26:37:28 | x.a | | main.rs:2:5:3:13 | S | @@ -31,7 +30,7 @@ inferType | main.rs:41:17:43:9 | OptionS {...} | | main.rs:21:5:23:5 | OptionS | | main.rs:42:16:42:33 | ...::MyNone(...) | | main.rs:10:5:14:5 | MyOption | | main.rs:42:16:42:33 | ...::MyNone(...) | T | main.rs:2:5:3:13 | S | -| main.rs:44:18:44:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:44:18:44:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:44:26:44:26 | x | | main.rs:21:5:23:5 | OptionS | | main.rs:44:26:44:28 | x.a | | main.rs:10:5:14:5 | MyOption | | main.rs:44:26:44:28 | x.a | T | main.rs:2:5:3:13 | S | @@ -43,7 +42,7 @@ inferType | main.rs:47:17:49:9 | GenericThing::<...> {...} | A.T | main.rs:2:5:3:13 | S | | main.rs:48:16:48:33 | ...::MyNone(...) | | main.rs:10:5:14:5 | MyOption | | main.rs:48:16:48:33 | ...::MyNone(...) | T | main.rs:2:5:3:13 | S | -| main.rs:50:18:50:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:50:18:50:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:50:26:50:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:50:26:50:26 | x | A | main.rs:10:5:14:5 | MyOption | | main.rs:50:26:50:26 | x | A.T | main.rs:2:5:3:13 | S | @@ -64,7 +63,7 @@ inferType | main.rs:56:30:56:30 | x | A.T | main.rs:2:5:3:13 | S | | main.rs:56:30:56:32 | x.a | | main.rs:10:5:14:5 | MyOption | | main.rs:56:30:56:32 | x.a | T | main.rs:2:5:3:13 | S | -| main.rs:57:18:57:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:57:18:57:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:57:26:57:26 | a | | main.rs:10:5:14:5 | MyOption | | main.rs:57:26:57:26 | a | T | main.rs:2:5:3:13 | S | | main.rs:70:19:70:22 | SelfParam | | main.rs:67:5:67:21 | Foo | @@ -74,7 +73,7 @@ inferType | main.rs:74:32:76:9 | { ... } | | main.rs:67:5:67:21 | Foo | | main.rs:75:13:75:16 | self | | main.rs:67:5:67:21 | Foo | | main.rs:79:23:84:5 | { ... } | | main.rs:67:5:67:21 | Foo | -| main.rs:80:18:80:33 | "main.rs::m1::f\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:80:18:80:33 | "main.rs::m1::f\\n" | | {EXTERNAL LOCATION} | str | | main.rs:81:13:81:13 | x | | main.rs:67:5:67:21 | Foo | | main.rs:81:17:81:22 | Foo {...} | | main.rs:67:5:67:21 | Foo | | main.rs:82:13:82:13 | y | | main.rs:67:5:67:21 | Foo | @@ -83,27 +82,27 @@ inferType | main.rs:86:14:86:14 | x | | main.rs:67:5:67:21 | Foo | | main.rs:86:22:86:22 | y | | main.rs:67:5:67:21 | Foo | | main.rs:86:37:90:5 | { ... } | | main.rs:67:5:67:21 | Foo | -| main.rs:87:18:87:33 | "main.rs::m1::g\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:87:18:87:33 | "main.rs::m1::g\\n" | | {EXTERNAL LOCATION} | str | | main.rs:88:9:88:9 | x | | main.rs:67:5:67:21 | Foo | | main.rs:88:9:88:14 | x.m1() | | main.rs:67:5:67:21 | Foo | | main.rs:89:9:89:9 | y | | main.rs:67:5:67:21 | Foo | | main.rs:89:9:89:14 | y.m2() | | main.rs:67:5:67:21 | Foo | | main.rs:100:25:100:28 | SelfParam | | main.rs:99:5:101:5 | Self [trait MyTrait] | | main.rs:105:25:105:28 | SelfParam | | main.rs:94:5:97:5 | MyThing | -| main.rs:105:39:107:9 | { ... } | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:105:39:107:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:106:13:106:16 | self | | main.rs:94:5:97:5 | MyThing | -| main.rs:106:13:106:22 | self.field | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:106:13:106:22 | self.field | | {EXTERNAL LOCATION} | bool | | main.rs:111:13:111:13 | x | | main.rs:94:5:97:5 | MyThing | | main.rs:111:17:111:39 | MyThing {...} | | main.rs:94:5:97:5 | MyThing | -| main.rs:111:34:111:37 | true | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:112:13:112:13 | a | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:111:34:111:37 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:112:13:112:13 | a | | {EXTERNAL LOCATION} | bool | | main.rs:112:17:112:17 | x | | main.rs:94:5:97:5 | MyThing | -| main.rs:112:17:112:32 | x.trait_method() | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:112:17:112:32 | x.trait_method() | | {EXTERNAL LOCATION} | bool | | main.rs:114:13:114:13 | y | | main.rs:94:5:97:5 | MyThing | | main.rs:114:17:114:40 | MyThing {...} | | main.rs:94:5:97:5 | MyThing | -| main.rs:114:34:114:38 | false | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:115:13:115:13 | b | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:115:17:115:40 | ...::trait_method(...) | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:114:34:114:38 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:115:13:115:13 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:115:17:115:40 | ...::trait_method(...) | | {EXTERNAL LOCATION} | bool | | main.rs:115:39:115:39 | y | | main.rs:94:5:97:5 | MyThing | | main.rs:132:15:132:18 | SelfParam | | main.rs:120:5:123:5 | MyThing | | main.rs:132:15:132:18 | SelfParam | A | main.rs:125:5:126:14 | S1 | @@ -136,19 +135,19 @@ inferType | main.rs:152:17:152:33 | MyThing {...} | | main.rs:120:5:123:5 | MyThing | | main.rs:152:17:152:33 | MyThing {...} | A | main.rs:127:5:128:14 | S2 | | main.rs:152:30:152:31 | S2 | | main.rs:127:5:128:14 | S2 | -| main.rs:155:18:155:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:155:18:155:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:155:26:155:26 | x | | main.rs:120:5:123:5 | MyThing | | main.rs:155:26:155:26 | x | A | main.rs:125:5:126:14 | S1 | | main.rs:155:26:155:28 | x.a | | main.rs:125:5:126:14 | S1 | -| main.rs:156:18:156:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:156:18:156:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:156:26:156:26 | y | | main.rs:120:5:123:5 | MyThing | | main.rs:156:26:156:26 | y | A | main.rs:127:5:128:14 | S2 | | main.rs:156:26:156:28 | y.a | | main.rs:127:5:128:14 | S2 | -| main.rs:158:18:158:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:158:18:158:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:158:26:158:26 | x | | main.rs:120:5:123:5 | MyThing | | main.rs:158:26:158:26 | x | A | main.rs:125:5:126:14 | S1 | | main.rs:158:26:158:31 | x.m1() | | main.rs:125:5:126:14 | S1 | -| main.rs:159:18:159:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:159:18:159:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:159:26:159:26 | y | | main.rs:120:5:123:5 | MyThing | | main.rs:159:26:159:26 | y | A | main.rs:127:5:128:14 | S2 | | main.rs:159:26:159:31 | y.m1() | | main.rs:120:5:123:5 | MyThing | @@ -164,11 +163,11 @@ inferType | main.rs:162:17:162:33 | MyThing {...} | | main.rs:120:5:123:5 | MyThing | | main.rs:162:17:162:33 | MyThing {...} | A | main.rs:127:5:128:14 | S2 | | main.rs:162:30:162:31 | S2 | | main.rs:127:5:128:14 | S2 | -| main.rs:164:18:164:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:164:18:164:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:164:26:164:26 | x | | main.rs:120:5:123:5 | MyThing | | main.rs:164:26:164:26 | x | A | main.rs:125:5:126:14 | S1 | | main.rs:164:26:164:31 | x.m2() | | main.rs:125:5:126:14 | S1 | -| main.rs:165:18:165:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:165:18:165:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:165:26:165:26 | y | | main.rs:120:5:123:5 | MyThing | | main.rs:165:26:165:26 | y | A | main.rs:127:5:128:14 | S2 | | main.rs:165:26:165:31 | y.m2() | | main.rs:127:5:128:14 | S2 | @@ -307,11 +306,11 @@ inferType | main.rs:320:24:320:40 | MyThing {...} | | main.rs:170:5:173:5 | MyThing | | main.rs:320:24:320:40 | MyThing {...} | A | main.rs:185:5:186:14 | S3 | | main.rs:320:37:320:38 | S3 | | main.rs:185:5:186:14 | S3 | -| main.rs:324:18:324:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:324:18:324:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:324:26:324:33 | thing_s1 | | main.rs:170:5:173:5 | MyThing | | main.rs:324:26:324:33 | thing_s1 | A | main.rs:181:5:182:14 | S1 | | main.rs:324:26:324:38 | thing_s1.m1() | | main.rs:181:5:182:14 | S1 | -| main.rs:325:18:325:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:325:18:325:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:325:26:325:33 | thing_s2 | | main.rs:170:5:173:5 | MyThing | | main.rs:325:26:325:33 | thing_s2 | A | main.rs:183:5:184:14 | S2 | | main.rs:325:26:325:38 | thing_s2.m1() | | main.rs:170:5:173:5 | MyThing | @@ -321,7 +320,7 @@ inferType | main.rs:326:22:326:29 | thing_s3 | | main.rs:170:5:173:5 | MyThing | | main.rs:326:22:326:29 | thing_s3 | A | main.rs:185:5:186:14 | S3 | | main.rs:326:22:326:34 | thing_s3.m1() | | main.rs:185:5:186:14 | S3 | -| main.rs:327:18:327:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:327:18:327:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:327:26:327:27 | s3 | | main.rs:185:5:186:14 | S3 | | main.rs:329:13:329:14 | p1 | | main.rs:175:5:179:5 | MyPair | | main.rs:329:13:329:14 | p1 | P1 | main.rs:181:5:182:14 | S1 | @@ -331,7 +330,7 @@ inferType | main.rs:329:18:329:42 | MyPair {...} | P2 | main.rs:181:5:182:14 | S1 | | main.rs:329:31:329:32 | S1 | | main.rs:181:5:182:14 | S1 | | main.rs:329:39:329:40 | S1 | | main.rs:181:5:182:14 | S1 | -| main.rs:330:18:330:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:330:18:330:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:330:26:330:27 | p1 | | main.rs:175:5:179:5 | MyPair | | main.rs:330:26:330:27 | p1 | P1 | main.rs:181:5:182:14 | S1 | | main.rs:330:26:330:27 | p1 | P2 | main.rs:181:5:182:14 | S1 | @@ -344,7 +343,7 @@ inferType | main.rs:332:18:332:42 | MyPair {...} | P2 | main.rs:183:5:184:14 | S2 | | main.rs:332:31:332:32 | S1 | | main.rs:181:5:182:14 | S1 | | main.rs:332:39:332:40 | S2 | | main.rs:183:5:184:14 | S2 | -| main.rs:333:18:333:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:333:18:333:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:333:26:333:27 | p2 | | main.rs:175:5:179:5 | MyPair | | main.rs:333:26:333:27 | p2 | P1 | main.rs:181:5:182:14 | S1 | | main.rs:333:26:333:27 | p2 | P2 | main.rs:183:5:184:14 | S2 | @@ -361,7 +360,7 @@ inferType | main.rs:336:17:336:33 | MyThing {...} | A | main.rs:181:5:182:14 | S1 | | main.rs:336:30:336:31 | S1 | | main.rs:181:5:182:14 | S1 | | main.rs:337:17:337:18 | S3 | | main.rs:185:5:186:14 | S3 | -| main.rs:339:18:339:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:339:18:339:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:339:26:339:27 | p3 | | main.rs:175:5:179:5 | MyPair | | main.rs:339:26:339:27 | p3 | P1 | main.rs:170:5:173:5 | MyThing | | main.rs:339:26:339:27 | p3 | P1.A | main.rs:181:5:182:14 | S1 | @@ -380,14 +379,14 @@ inferType | main.rs:343:17:343:17 | a | P1 | main.rs:181:5:182:14 | S1 | | main.rs:343:17:343:17 | a | P2 | main.rs:181:5:182:14 | S1 | | main.rs:343:17:343:23 | a.fst() | | main.rs:181:5:182:14 | S1 | -| main.rs:344:18:344:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:344:18:344:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:344:26:344:26 | x | | main.rs:181:5:182:14 | S1 | | main.rs:345:13:345:13 | y | | main.rs:181:5:182:14 | S1 | | main.rs:345:17:345:17 | a | | main.rs:175:5:179:5 | MyPair | | main.rs:345:17:345:17 | a | P1 | main.rs:181:5:182:14 | S1 | | main.rs:345:17:345:17 | a | P2 | main.rs:181:5:182:14 | S1 | | main.rs:345:17:345:23 | a.snd() | | main.rs:181:5:182:14 | S1 | -| main.rs:346:18:346:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:346:18:346:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:346:26:346:26 | y | | main.rs:181:5:182:14 | S1 | | main.rs:352:13:352:13 | b | | main.rs:175:5:179:5 | MyPair | | main.rs:352:13:352:13 | b | P1 | main.rs:183:5:184:14 | S2 | @@ -402,20 +401,20 @@ inferType | main.rs:353:17:353:17 | b | P1 | main.rs:183:5:184:14 | S2 | | main.rs:353:17:353:17 | b | P2 | main.rs:181:5:182:14 | S1 | | main.rs:353:17:353:23 | b.fst() | | main.rs:181:5:182:14 | S1 | -| main.rs:354:18:354:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:354:18:354:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:354:26:354:26 | x | | main.rs:181:5:182:14 | S1 | | main.rs:355:13:355:13 | y | | main.rs:183:5:184:14 | S2 | | main.rs:355:17:355:17 | b | | main.rs:175:5:179:5 | MyPair | | main.rs:355:17:355:17 | b | P1 | main.rs:183:5:184:14 | S2 | | main.rs:355:17:355:17 | b | P2 | main.rs:181:5:182:14 | S1 | | main.rs:355:17:355:23 | b.snd() | | main.rs:183:5:184:14 | S2 | -| main.rs:356:18:356:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:356:18:356:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:356:26:356:26 | y | | main.rs:183:5:184:14 | S2 | | main.rs:360:13:360:13 | x | | main.rs:181:5:182:14 | S1 | | main.rs:360:17:360:39 | call_trait_m1(...) | | main.rs:181:5:182:14 | S1 | | main.rs:360:31:360:38 | thing_s1 | | main.rs:170:5:173:5 | MyThing | | main.rs:360:31:360:38 | thing_s1 | A | main.rs:181:5:182:14 | S1 | -| main.rs:361:18:361:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:361:18:361:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:361:26:361:26 | x | | main.rs:181:5:182:14 | S1 | | main.rs:362:13:362:13 | y | | main.rs:170:5:173:5 | MyThing | | main.rs:362:13:362:13 | y | A | main.rs:183:5:184:14 | S2 | @@ -423,7 +422,7 @@ inferType | main.rs:362:17:362:39 | call_trait_m1(...) | A | main.rs:183:5:184:14 | S2 | | main.rs:362:31:362:38 | thing_s2 | | main.rs:170:5:173:5 | MyThing | | main.rs:362:31:362:38 | thing_s2 | A | main.rs:183:5:184:14 | S2 | -| main.rs:363:18:363:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:363:18:363:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:363:26:363:26 | y | | main.rs:170:5:173:5 | MyThing | | main.rs:363:26:363:26 | y | A | main.rs:183:5:184:14 | S2 | | main.rs:363:26:363:28 | y.a | | main.rs:183:5:184:14 | S2 | @@ -440,14 +439,14 @@ inferType | main.rs:367:25:367:25 | a | | main.rs:175:5:179:5 | MyPair | | main.rs:367:25:367:25 | a | P1 | main.rs:181:5:182:14 | S1 | | main.rs:367:25:367:25 | a | P2 | main.rs:181:5:182:14 | S1 | -| main.rs:368:18:368:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:368:18:368:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:368:26:368:26 | x | | main.rs:181:5:182:14 | S1 | | main.rs:369:13:369:13 | y | | main.rs:181:5:182:14 | S1 | | main.rs:369:17:369:26 | get_snd(...) | | main.rs:181:5:182:14 | S1 | | main.rs:369:25:369:25 | a | | main.rs:175:5:179:5 | MyPair | | main.rs:369:25:369:25 | a | P1 | main.rs:181:5:182:14 | S1 | | main.rs:369:25:369:25 | a | P2 | main.rs:181:5:182:14 | S1 | -| main.rs:370:18:370:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:370:18:370:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:370:26:370:26 | y | | main.rs:181:5:182:14 | S1 | | main.rs:373:13:373:13 | b | | main.rs:175:5:179:5 | MyPair | | main.rs:373:13:373:13 | b | P1 | main.rs:183:5:184:14 | S2 | @@ -462,14 +461,14 @@ inferType | main.rs:374:25:374:25 | b | | main.rs:175:5:179:5 | MyPair | | main.rs:374:25:374:25 | b | P1 | main.rs:183:5:184:14 | S2 | | main.rs:374:25:374:25 | b | P2 | main.rs:181:5:182:14 | S1 | -| main.rs:375:18:375:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:375:18:375:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:375:26:375:26 | x | | main.rs:181:5:182:14 | S1 | | main.rs:376:13:376:13 | y | | main.rs:183:5:184:14 | S2 | | main.rs:376:17:376:26 | get_snd(...) | | main.rs:183:5:184:14 | S2 | | main.rs:376:25:376:25 | b | | main.rs:175:5:179:5 | MyPair | | main.rs:376:25:376:25 | b | P1 | main.rs:183:5:184:14 | S2 | | main.rs:376:25:376:25 | b | P2 | main.rs:181:5:182:14 | S1 | -| main.rs:377:18:377:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:377:18:377:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:377:26:377:26 | y | | main.rs:183:5:184:14 | S2 | | main.rs:379:13:379:13 | c | | main.rs:175:5:179:5 | MyPair | | main.rs:379:13:379:13 | c | P1 | main.rs:185:5:186:14 | S3 | @@ -510,11 +509,11 @@ inferType | main.rs:398:34:398:35 | s1 | | main.rs:392:5:393:14 | S1 | | main.rs:403:26:403:29 | SelfParam | | main.rs:392:5:393:14 | S1 | | main.rs:403:38:405:9 | { ... } | | main.rs:392:5:393:14 | S1 | -| main.rs:404:20:404:31 | "not called" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:404:20:404:31 | "not called" | | {EXTERNAL LOCATION} | str | | main.rs:408:28:408:31 | SelfParam | | main.rs:392:5:393:14 | S1 | | main.rs:408:34:408:35 | s1 | | main.rs:392:5:393:14 | S1 | | main.rs:408:48:410:9 | { ... } | | main.rs:392:5:393:14 | S1 | -| main.rs:409:20:409:31 | "not called" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:409:20:409:31 | "not called" | | {EXTERNAL LOCATION} | str | | main.rs:415:26:415:29 | SelfParam | | main.rs:392:5:393:14 | S1 | | main.rs:415:38:417:9 | { ... } | | main.rs:392:5:393:14 | S1 | | main.rs:416:13:416:16 | self | | main.rs:392:5:393:14 | S1 | @@ -523,10 +522,10 @@ inferType | main.rs:421:13:421:16 | self | | main.rs:392:5:393:14 | S1 | | main.rs:426:13:426:13 | x | | main.rs:392:5:393:14 | S1 | | main.rs:426:17:426:18 | S1 | | main.rs:392:5:393:14 | S1 | -| main.rs:427:18:427:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:427:18:427:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:427:26:427:26 | x | | main.rs:392:5:393:14 | S1 | | main.rs:427:26:427:42 | x.common_method() | | main.rs:392:5:393:14 | S1 | -| main.rs:428:18:428:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:428:18:428:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:428:26:428:26 | x | | main.rs:392:5:393:14 | S1 | | main.rs:428:26:428:44 | x.common_method_2() | | main.rs:392:5:393:14 | S1 | | main.rs:445:19:445:22 | SelfParam | | main.rs:443:5:446:5 | Self [trait FirstTrait] | @@ -535,25 +534,25 @@ inferType | main.rs:455:13:455:14 | s1 | | main.rs:453:35:453:42 | I | | main.rs:455:18:455:18 | x | | main.rs:453:45:453:61 | T | | main.rs:455:18:455:27 | x.method() | | main.rs:453:35:453:42 | I | -| main.rs:456:18:456:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:456:18:456:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:456:26:456:27 | s1 | | main.rs:453:35:453:42 | I | | main.rs:459:65:459:65 | x | | main.rs:459:46:459:62 | T | | main.rs:461:13:461:14 | s2 | | main.rs:459:36:459:43 | I | | main.rs:461:18:461:18 | x | | main.rs:459:46:459:62 | T | | main.rs:461:18:461:27 | x.method() | | main.rs:459:36:459:43 | I | -| main.rs:462:18:462:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:462:18:462:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:462:26:462:27 | s2 | | main.rs:459:36:459:43 | I | | main.rs:465:49:465:49 | x | | main.rs:465:30:465:46 | T | | main.rs:466:13:466:13 | s | | main.rs:435:5:436:14 | S1 | | main.rs:466:17:466:17 | x | | main.rs:465:30:465:46 | T | | main.rs:466:17:466:26 | x.method() | | main.rs:435:5:436:14 | S1 | -| main.rs:467:18:467:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:467:18:467:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:467:26:467:26 | s | | main.rs:435:5:436:14 | S1 | | main.rs:470:53:470:53 | x | | main.rs:470:34:470:50 | T | | main.rs:471:13:471:13 | s | | main.rs:435:5:436:14 | S1 | | main.rs:471:17:471:17 | x | | main.rs:470:34:470:50 | T | | main.rs:471:17:471:26 | x.method() | | main.rs:435:5:436:14 | S1 | -| main.rs:472:18:472:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:472:18:472:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:472:26:472:26 | s | | main.rs:435:5:436:14 | S1 | | main.rs:476:16:476:19 | SelfParam | | main.rs:475:5:479:5 | Self [trait Pair] | | main.rs:478:16:478:19 | SelfParam | | main.rs:475:5:479:5 | Self [trait Pair] | @@ -565,7 +564,7 @@ inferType | main.rs:484:13:484:14 | s2 | | main.rs:438:5:439:14 | S2 | | main.rs:484:18:484:18 | y | | main.rs:481:41:481:55 | T | | main.rs:484:18:484:24 | y.snd() | | main.rs:438:5:439:14 | S2 | -| main.rs:485:18:485:29 | "{:?}, {:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:485:18:485:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:485:32:485:33 | s1 | | main.rs:435:5:436:14 | S1 | | main.rs:485:36:485:37 | s2 | | main.rs:438:5:439:14 | S2 | | main.rs:488:69:488:69 | x | | main.rs:488:52:488:66 | T | @@ -576,7 +575,7 @@ inferType | main.rs:491:13:491:14 | s2 | | main.rs:488:41:488:49 | T2 | | main.rs:491:18:491:18 | y | | main.rs:488:52:488:66 | T | | main.rs:491:18:491:24 | y.snd() | | main.rs:488:41:488:49 | T2 | -| main.rs:492:18:492:29 | "{:?}, {:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:492:18:492:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:492:32:492:33 | s1 | | main.rs:435:5:436:14 | S1 | | main.rs:492:36:492:37 | s2 | | main.rs:488:41:488:49 | T2 | | main.rs:508:15:508:18 | SelfParam | | main.rs:507:5:516:5 | Self [trait MyTrait] | @@ -611,11 +610,11 @@ inferType | main.rs:536:17:536:33 | MyThing {...} | | main.rs:497:5:500:5 | MyThing | | main.rs:536:17:536:33 | MyThing {...} | T | main.rs:504:5:505:14 | S2 | | main.rs:536:30:536:31 | S2 | | main.rs:504:5:505:14 | S2 | -| main.rs:538:18:538:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:538:18:538:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:538:26:538:26 | x | | main.rs:497:5:500:5 | MyThing | | main.rs:538:26:538:26 | x | T | main.rs:502:5:503:14 | S1 | | main.rs:538:26:538:31 | x.m1() | | main.rs:502:5:503:14 | S1 | -| main.rs:539:18:539:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:539:18:539:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:539:26:539:26 | y | | main.rs:497:5:500:5 | MyThing | | main.rs:539:26:539:26 | y | T | main.rs:504:5:505:14 | S2 | | main.rs:539:26:539:31 | y.m1() | | main.rs:504:5:505:14 | S2 | @@ -629,11 +628,11 @@ inferType | main.rs:542:17:542:33 | MyThing {...} | | main.rs:497:5:500:5 | MyThing | | main.rs:542:17:542:33 | MyThing {...} | T | main.rs:504:5:505:14 | S2 | | main.rs:542:30:542:31 | S2 | | main.rs:504:5:505:14 | S2 | -| main.rs:544:18:544:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:544:18:544:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:544:26:544:26 | x | | main.rs:497:5:500:5 | MyThing | | main.rs:544:26:544:26 | x | T | main.rs:502:5:503:14 | S1 | | main.rs:544:26:544:31 | x.m2() | | main.rs:502:5:503:14 | S1 | -| main.rs:545:18:545:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:545:18:545:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:545:26:545:26 | y | | main.rs:497:5:500:5 | MyThing | | main.rs:545:26:545:26 | y | T | main.rs:504:5:505:14 | S2 | | main.rs:545:26:545:31 | y.m2() | | main.rs:504:5:505:14 | S2 | @@ -647,11 +646,11 @@ inferType | main.rs:548:18:548:34 | MyThing {...} | | main.rs:497:5:500:5 | MyThing | | main.rs:548:18:548:34 | MyThing {...} | T | main.rs:504:5:505:14 | S2 | | main.rs:548:31:548:32 | S2 | | main.rs:504:5:505:14 | S2 | -| main.rs:550:18:550:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:550:18:550:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:550:26:550:42 | call_trait_m1(...) | | main.rs:502:5:503:14 | S1 | | main.rs:550:40:550:41 | x2 | | main.rs:497:5:500:5 | MyThing | | main.rs:550:40:550:41 | x2 | T | main.rs:502:5:503:14 | S1 | -| main.rs:551:18:551:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:551:18:551:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:551:26:551:42 | call_trait_m1(...) | | main.rs:504:5:505:14 | S2 | | main.rs:551:40:551:41 | y2 | | main.rs:497:5:500:5 | MyThing | | main.rs:551:40:551:41 | y2 | T | main.rs:504:5:505:14 | S2 | @@ -678,14 +677,14 @@ inferType | main.rs:560:37:560:38 | x3 | | main.rs:497:5:500:5 | MyThing | | main.rs:560:37:560:38 | x3 | T | main.rs:497:5:500:5 | MyThing | | main.rs:560:37:560:38 | x3 | T.T | main.rs:502:5:503:14 | S1 | -| main.rs:561:18:561:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:561:18:561:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:561:26:561:26 | a | | main.rs:502:5:503:14 | S1 | | main.rs:562:13:562:13 | b | | main.rs:504:5:505:14 | S2 | | main.rs:562:17:562:39 | call_trait_thing_m1(...) | | main.rs:504:5:505:14 | S2 | | main.rs:562:37:562:38 | y3 | | main.rs:497:5:500:5 | MyThing | | main.rs:562:37:562:38 | y3 | T | main.rs:497:5:500:5 | MyThing | | main.rs:562:37:562:38 | y3 | T.T | main.rs:504:5:505:14 | S2 | -| main.rs:563:18:563:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:563:18:563:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:563:26:563:26 | b | | main.rs:504:5:505:14 | S2 | | main.rs:574:19:574:22 | SelfParam | | main.rs:568:5:571:5 | Wrapper | | main.rs:574:19:574:22 | SelfParam | A | main.rs:573:10:573:10 | A | @@ -759,7 +758,7 @@ inferType | main.rs:681:13:681:14 | S2 | | main.rs:622:5:623:14 | S2 | | main.rs:686:13:686:14 | x1 | | main.rs:619:5:620:13 | S | | main.rs:686:18:686:18 | S | | main.rs:619:5:620:13 | S | -| main.rs:688:18:688:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:688:18:688:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:688:26:688:27 | x1 | | main.rs:619:5:620:13 | S | | main.rs:688:26:688:32 | x1.m1() | | main.rs:625:5:626:14 | AT | | main.rs:690:13:690:14 | x2 | | main.rs:619:5:620:13 | S | @@ -767,31 +766,31 @@ inferType | main.rs:692:13:692:13 | y | | main.rs:625:5:626:14 | AT | | main.rs:692:17:692:18 | x2 | | main.rs:619:5:620:13 | S | | main.rs:692:17:692:23 | x2.m2() | | main.rs:625:5:626:14 | AT | -| main.rs:693:18:693:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:693:18:693:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:693:26:693:26 | y | | main.rs:625:5:626:14 | AT | | main.rs:695:13:695:14 | x3 | | main.rs:619:5:620:13 | S | | main.rs:695:18:695:18 | S | | main.rs:619:5:620:13 | S | -| main.rs:697:18:697:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:697:18:697:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:697:26:697:27 | x3 | | main.rs:619:5:620:13 | S | | main.rs:697:26:697:34 | x3.put(...) | | main.rs:568:5:571:5 | Wrapper | -| main.rs:697:26:697:34 | x3.put(...) | A | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:697:26:697:43 | ... .unwrap() | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:697:33:697:33 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:700:18:700:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:697:26:697:34 | x3.put(...) | A | {EXTERNAL LOCATION} | i32 | +| main.rs:697:26:697:43 | ... .unwrap() | | {EXTERNAL LOCATION} | i32 | +| main.rs:697:33:697:33 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:700:18:700:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:700:26:700:27 | x3 | | main.rs:619:5:620:13 | S | -| main.rs:700:36:700:36 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:700:39:700:39 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:700:36:700:36 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:700:39:700:39 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:702:20:702:20 | S | | main.rs:619:5:620:13 | S | -| main.rs:703:18:703:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:703:18:703:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:705:13:705:14 | x5 | | main.rs:622:5:623:14 | S2 | | main.rs:705:18:705:19 | S2 | | main.rs:622:5:623:14 | S2 | -| main.rs:706:18:706:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:706:18:706:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:706:26:706:27 | x5 | | main.rs:622:5:623:14 | S2 | | main.rs:706:26:706:32 | x5.m1() | | main.rs:568:5:571:5 | Wrapper | | main.rs:706:26:706:32 | x5.m1() | A | main.rs:622:5:623:14 | S2 | | main.rs:707:13:707:14 | x6 | | main.rs:622:5:623:14 | S2 | | main.rs:707:18:707:19 | S2 | | main.rs:622:5:623:14 | S2 | -| main.rs:708:18:708:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:708:18:708:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:708:26:708:27 | x6 | | main.rs:622:5:623:14 | S2 | | main.rs:708:26:708:32 | x6.m2() | | main.rs:568:5:571:5 | Wrapper | | main.rs:708:26:708:32 | x6.m2() | A | main.rs:622:5:623:14 | S2 | @@ -824,11 +823,11 @@ inferType | main.rs:739:17:739:36 | ...::C2 {...} | | main.rs:717:5:721:5 | MyEnum | | main.rs:739:17:739:36 | ...::C2 {...} | A | main.rs:725:5:726:14 | S2 | | main.rs:739:33:739:34 | S2 | | main.rs:725:5:726:14 | S2 | -| main.rs:741:18:741:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:741:18:741:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:741:26:741:26 | x | | main.rs:717:5:721:5 | MyEnum | | main.rs:741:26:741:26 | x | A | main.rs:723:5:724:14 | S1 | | main.rs:741:26:741:31 | x.m1() | | main.rs:723:5:724:14 | S1 | -| main.rs:742:18:742:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:742:18:742:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:742:26:742:26 | y | | main.rs:717:5:721:5 | MyEnum | | main.rs:742:26:742:26 | y | A | main.rs:725:5:726:14 | S2 | | main.rs:742:26:742:31 | y.m1() | | main.rs:725:5:726:14 | S2 | @@ -836,9 +835,9 @@ inferType | main.rs:769:15:769:18 | SelfParam | | main.rs:767:5:779:5 | Self [trait MyTrait2] | | main.rs:772:9:778:9 | { ... } | | main.rs:767:20:767:22 | Tr2 | | main.rs:773:13:777:13 | if ... {...} else {...} | | main.rs:767:20:767:22 | Tr2 | -| main.rs:773:16:773:16 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:773:16:773:20 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:773:20:773:20 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:773:16:773:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:773:16:773:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:773:20:773:20 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:773:22:775:13 | { ... } | | main.rs:767:20:767:22 | Tr2 | | main.rs:774:17:774:20 | self | | main.rs:767:5:779:5 | Self [trait MyTrait2] | | main.rs:774:17:774:25 | self.m1() | | main.rs:767:20:767:22 | Tr2 | @@ -848,9 +847,9 @@ inferType | main.rs:783:15:783:18 | SelfParam | | main.rs:781:5:793:5 | Self [trait MyTrait3] | | main.rs:786:9:792:9 | { ... } | | main.rs:781:20:781:22 | Tr3 | | main.rs:787:13:791:13 | if ... {...} else {...} | | main.rs:781:20:781:22 | Tr3 | -| main.rs:787:16:787:16 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:787:16:787:20 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:787:20:787:20 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:787:16:787:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:787:16:787:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:787:20:787:20 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:787:22:789:13 | { ... } | | main.rs:781:20:781:22 | Tr3 | | main.rs:788:17:788:20 | self | | main.rs:781:5:793:5 | Self [trait MyTrait3] | | main.rs:788:17:788:25 | self.m2() | | main.rs:747:5:750:5 | MyThing | @@ -886,7 +885,7 @@ inferType | main.rs:821:17:821:17 | x | | main.rs:819:39:819:53 | T | | main.rs:821:17:821:22 | x.m1() | | main.rs:747:5:750:5 | MyThing | | main.rs:821:17:821:22 | x.m1() | A | main.rs:757:5:758:14 | S1 | -| main.rs:822:18:822:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:822:18:822:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:822:26:822:26 | a | | main.rs:747:5:750:5 | MyThing | | main.rs:822:26:822:26 | a | A | main.rs:757:5:758:14 | S1 | | main.rs:826:13:826:13 | x | | main.rs:747:5:750:5 | MyThing | @@ -899,11 +898,11 @@ inferType | main.rs:827:17:827:33 | MyThing {...} | | main.rs:747:5:750:5 | MyThing | | main.rs:827:17:827:33 | MyThing {...} | A | main.rs:759:5:760:14 | S2 | | main.rs:827:30:827:31 | S2 | | main.rs:759:5:760:14 | S2 | -| main.rs:829:18:829:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:829:18:829:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:829:26:829:26 | x | | main.rs:747:5:750:5 | MyThing | | main.rs:829:26:829:26 | x | A | main.rs:757:5:758:14 | S1 | | main.rs:829:26:829:31 | x.m1() | | main.rs:757:5:758:14 | S1 | -| main.rs:830:18:830:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:830:18:830:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:830:26:830:26 | y | | main.rs:747:5:750:5 | MyThing | | main.rs:830:26:830:26 | y | A | main.rs:759:5:760:14 | S2 | | main.rs:830:26:830:31 | y.m1() | | main.rs:759:5:760:14 | S2 | @@ -917,11 +916,11 @@ inferType | main.rs:833:17:833:33 | MyThing {...} | | main.rs:747:5:750:5 | MyThing | | main.rs:833:17:833:33 | MyThing {...} | A | main.rs:759:5:760:14 | S2 | | main.rs:833:30:833:31 | S2 | | main.rs:759:5:760:14 | S2 | -| main.rs:835:18:835:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:835:18:835:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:835:26:835:26 | x | | main.rs:747:5:750:5 | MyThing | | main.rs:835:26:835:26 | x | A | main.rs:757:5:758:14 | S1 | | main.rs:835:26:835:31 | x.m2() | | main.rs:757:5:758:14 | S1 | -| main.rs:836:18:836:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:836:18:836:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:836:26:836:26 | y | | main.rs:747:5:750:5 | MyThing | | main.rs:836:26:836:26 | y | A | main.rs:759:5:760:14 | S2 | | main.rs:836:26:836:31 | y.m2() | | main.rs:759:5:760:14 | S2 | @@ -935,11 +934,11 @@ inferType | main.rs:839:17:839:34 | MyThing2 {...} | | main.rs:752:5:755:5 | MyThing2 | | main.rs:839:17:839:34 | MyThing2 {...} | A | main.rs:759:5:760:14 | S2 | | main.rs:839:31:839:32 | S2 | | main.rs:759:5:760:14 | S2 | -| main.rs:841:18:841:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:841:18:841:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:841:26:841:26 | x | | main.rs:752:5:755:5 | MyThing2 | | main.rs:841:26:841:26 | x | A | main.rs:757:5:758:14 | S1 | | main.rs:841:26:841:31 | x.m3() | | main.rs:757:5:758:14 | S1 | -| main.rs:842:18:842:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:842:18:842:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:842:26:842:26 | y | | main.rs:752:5:755:5 | MyThing2 | | main.rs:842:26:842:26 | y | A | main.rs:759:5:760:14 | S2 | | main.rs:842:26:842:31 | y.m3() | | main.rs:759:5:760:14 | S2 | @@ -978,7 +977,7 @@ inferType | main.rs:880:9:880:16 | x.into() | | main.rs:876:17:876:18 | T2 | | main.rs:884:13:884:13 | x | | main.rs:856:5:857:14 | S1 | | main.rs:884:17:884:18 | S1 | | main.rs:856:5:857:14 | S1 | -| main.rs:885:18:885:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:885:18:885:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:885:26:885:31 | id(...) | | file://:0:0:0:0 | & | | main.rs:885:26:885:31 | id(...) | &T | main.rs:856:5:857:14 | S1 | | main.rs:885:29:885:30 | &x | | file://:0:0:0:0 | & | @@ -986,7 +985,7 @@ inferType | main.rs:885:30:885:30 | x | | main.rs:856:5:857:14 | S1 | | main.rs:887:13:887:13 | x | | main.rs:856:5:857:14 | S1 | | main.rs:887:17:887:18 | S1 | | main.rs:856:5:857:14 | S1 | -| main.rs:888:18:888:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:888:18:888:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:888:26:888:37 | id::<...>(...) | | file://:0:0:0:0 | & | | main.rs:888:26:888:37 | id::<...>(...) | &T | main.rs:856:5:857:14 | S1 | | main.rs:888:35:888:36 | &x | | file://:0:0:0:0 | & | @@ -994,7 +993,7 @@ inferType | main.rs:888:36:888:36 | x | | main.rs:856:5:857:14 | S1 | | main.rs:890:13:890:13 | x | | main.rs:856:5:857:14 | S1 | | main.rs:890:17:890:18 | S1 | | main.rs:856:5:857:14 | S1 | -| main.rs:891:18:891:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:891:18:891:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:891:26:891:44 | id::<...>(...) | | file://:0:0:0:0 | & | | main.rs:891:26:891:44 | id::<...>(...) | &T | main.rs:856:5:857:14 | S1 | | main.rs:891:42:891:43 | &x | | file://:0:0:0:0 | & | @@ -1018,9 +1017,9 @@ inferType | main.rs:912:19:912:22 | self | Fst | main.rs:910:10:910:12 | Fst | | main.rs:912:19:912:22 | self | Snd | main.rs:910:15:910:17 | Snd | | main.rs:913:43:913:82 | MacroExpr | | main.rs:910:15:910:17 | Snd | -| main.rs:913:50:913:81 | "PairNone has no second elemen... | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:913:50:913:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | str | | main.rs:914:43:914:81 | MacroExpr | | main.rs:910:15:910:17 | Snd | -| main.rs:914:50:914:80 | "PairFst has no second element... | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:914:50:914:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | str | | main.rs:915:37:915:39 | snd | | main.rs:910:15:910:17 | Snd | | main.rs:915:45:915:47 | snd | | main.rs:910:15:910:17 | Snd | | main.rs:916:41:916:43 | snd | | main.rs:910:15:910:17 | Snd | @@ -1040,7 +1039,7 @@ inferType | main.rs:943:17:943:29 | t.unwrapSnd() | Fst | main.rs:924:5:925:14 | S2 | | main.rs:943:17:943:29 | t.unwrapSnd() | Snd | main.rs:927:5:928:14 | S3 | | main.rs:943:17:943:41 | ... .unwrapSnd() | | main.rs:927:5:928:14 | S3 | -| main.rs:944:18:944:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:944:18:944:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:944:26:944:26 | x | | main.rs:927:5:928:14 | S3 | | main.rs:949:13:949:14 | p1 | | main.rs:902:5:908:5 | PairOption | | main.rs:949:13:949:14 | p1 | Fst | main.rs:921:5:922:14 | S1 | @@ -1050,7 +1049,7 @@ inferType | main.rs:949:26:949:53 | ...::PairBoth(...) | Snd | main.rs:924:5:925:14 | S2 | | main.rs:949:47:949:48 | S1 | | main.rs:921:5:922:14 | S1 | | main.rs:949:51:949:52 | S2 | | main.rs:924:5:925:14 | S2 | -| main.rs:950:18:950:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:950:18:950:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:950:26:950:27 | p1 | | main.rs:902:5:908:5 | PairOption | | main.rs:950:26:950:27 | p1 | Fst | main.rs:921:5:922:14 | S1 | | main.rs:950:26:950:27 | p1 | Snd | main.rs:924:5:925:14 | S2 | @@ -1060,7 +1059,7 @@ inferType | main.rs:953:26:953:47 | ...::PairNone(...) | | main.rs:902:5:908:5 | PairOption | | main.rs:953:26:953:47 | ...::PairNone(...) | Fst | main.rs:921:5:922:14 | S1 | | main.rs:953:26:953:47 | ...::PairNone(...) | Snd | main.rs:924:5:925:14 | S2 | -| main.rs:954:18:954:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:954:18:954:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:954:26:954:27 | p2 | | main.rs:902:5:908:5 | PairOption | | main.rs:954:26:954:27 | p2 | Fst | main.rs:921:5:922:14 | S1 | | main.rs:954:26:954:27 | p2 | Snd | main.rs:924:5:925:14 | S2 | @@ -1071,7 +1070,7 @@ inferType | main.rs:957:34:957:56 | ...::PairSnd(...) | Fst | main.rs:924:5:925:14 | S2 | | main.rs:957:34:957:56 | ...::PairSnd(...) | Snd | main.rs:927:5:928:14 | S3 | | main.rs:957:54:957:55 | S3 | | main.rs:927:5:928:14 | S3 | -| main.rs:958:18:958:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:958:18:958:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:958:26:958:27 | p3 | | main.rs:902:5:908:5 | PairOption | | main.rs:958:26:958:27 | p3 | Fst | main.rs:924:5:925:14 | S2 | | main.rs:958:26:958:27 | p3 | Snd | main.rs:927:5:928:14 | S3 | @@ -1081,7 +1080,7 @@ inferType | main.rs:961:35:961:56 | ...::PairNone(...) | | main.rs:902:5:908:5 | PairOption | | main.rs:961:35:961:56 | ...::PairNone(...) | Fst | main.rs:924:5:925:14 | S2 | | main.rs:961:35:961:56 | ...::PairNone(...) | Snd | main.rs:927:5:928:14 | S3 | -| main.rs:962:18:962:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:962:18:962:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:962:26:962:27 | p3 | | main.rs:902:5:908:5 | PairOption | | main.rs:962:26:962:27 | p3 | Fst | main.rs:924:5:925:14 | S2 | | main.rs:962:26:962:27 | p3 | Snd | main.rs:927:5:928:14 | S3 | @@ -1129,7 +1128,7 @@ inferType | main.rs:999:40:999:40 | x | T | main.rs:995:10:995:10 | T | | main.rs:1008:13:1008:14 | x1 | | main.rs:969:5:973:5 | MyOption | | main.rs:1008:18:1008:37 | ...::new(...) | | main.rs:969:5:973:5 | MyOption | -| main.rs:1009:18:1009:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1009:18:1009:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1009:26:1009:27 | x1 | | main.rs:969:5:973:5 | MyOption | | main.rs:1011:13:1011:18 | mut x2 | | main.rs:969:5:973:5 | MyOption | | main.rs:1011:13:1011:18 | mut x2 | T | main.rs:1004:5:1005:13 | S | @@ -1138,14 +1137,14 @@ inferType | main.rs:1012:9:1012:10 | x2 | | main.rs:969:5:973:5 | MyOption | | main.rs:1012:9:1012:10 | x2 | T | main.rs:1004:5:1005:13 | S | | main.rs:1012:16:1012:16 | S | | main.rs:1004:5:1005:13 | S | -| main.rs:1013:18:1013:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1013:18:1013:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1013:26:1013:27 | x2 | | main.rs:969:5:973:5 | MyOption | | main.rs:1013:26:1013:27 | x2 | T | main.rs:1004:5:1005:13 | S | | main.rs:1015:13:1015:18 | mut x3 | | main.rs:969:5:973:5 | MyOption | | main.rs:1015:22:1015:36 | ...::new(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1016:9:1016:10 | x3 | | main.rs:969:5:973:5 | MyOption | | main.rs:1016:21:1016:21 | S | | main.rs:1004:5:1005:13 | S | -| main.rs:1017:18:1017:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1017:18:1017:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1017:26:1017:27 | x3 | | main.rs:969:5:973:5 | MyOption | | main.rs:1019:13:1019:18 | mut x4 | | main.rs:969:5:973:5 | MyOption | | main.rs:1019:13:1019:18 | mut x4 | T | main.rs:1004:5:1005:13 | S | @@ -1157,7 +1156,7 @@ inferType | main.rs:1020:28:1020:29 | x4 | | main.rs:969:5:973:5 | MyOption | | main.rs:1020:28:1020:29 | x4 | T | main.rs:1004:5:1005:13 | S | | main.rs:1020:32:1020:32 | S | | main.rs:1004:5:1005:13 | S | -| main.rs:1021:18:1021:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1021:18:1021:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1021:26:1021:27 | x4 | | main.rs:969:5:973:5 | MyOption | | main.rs:1021:26:1021:27 | x4 | T | main.rs:1004:5:1005:13 | S | | main.rs:1023:13:1023:14 | x5 | | main.rs:969:5:973:5 | MyOption | @@ -1168,7 +1167,7 @@ inferType | main.rs:1023:18:1023:58 | ...::MySome(...) | T.T | main.rs:1004:5:1005:13 | S | | main.rs:1023:35:1023:57 | ...::MyNone(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1023:35:1023:57 | ...::MyNone(...) | T | main.rs:1004:5:1005:13 | S | -| main.rs:1024:18:1024:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1024:18:1024:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1024:26:1024:27 | x5 | | main.rs:969:5:973:5 | MyOption | | main.rs:1024:26:1024:27 | x5 | T | main.rs:969:5:973:5 | MyOption | | main.rs:1024:26:1024:27 | x5 | T.T | main.rs:1004:5:1005:13 | S | @@ -1182,7 +1181,7 @@ inferType | main.rs:1026:18:1026:58 | ...::MySome(...) | T.T | main.rs:1004:5:1005:13 | S | | main.rs:1026:35:1026:57 | ...::MyNone(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1026:35:1026:57 | ...::MyNone(...) | T | main.rs:1004:5:1005:13 | S | -| main.rs:1027:18:1027:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1027:18:1027:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1027:26:1027:61 | ...::flatten(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1027:26:1027:61 | ...::flatten(...) | T | main.rs:1004:5:1005:13 | S | | main.rs:1027:59:1027:60 | x6 | | main.rs:969:5:973:5 | MyOption | @@ -1192,9 +1191,9 @@ inferType | main.rs:1030:13:1030:19 | from_if | T | main.rs:1004:5:1005:13 | S | | main.rs:1030:23:1034:9 | if ... {...} else {...} | | main.rs:969:5:973:5 | MyOption | | main.rs:1030:23:1034:9 | if ... {...} else {...} | T | main.rs:1004:5:1005:13 | S | -| main.rs:1030:26:1030:26 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1030:26:1030:30 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1030:30:1030:30 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:1030:26:1030:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1030:26:1030:30 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1030:30:1030:30 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:1030:32:1032:9 | { ... } | | main.rs:969:5:973:5 | MyOption | | main.rs:1030:32:1032:9 | { ... } | T | main.rs:1004:5:1005:13 | S | | main.rs:1031:13:1031:30 | ...::MyNone(...) | | main.rs:969:5:973:5 | MyOption | @@ -1204,39 +1203,39 @@ inferType | main.rs:1033:13:1033:31 | ...::MySome(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1033:13:1033:31 | ...::MySome(...) | T | main.rs:1004:5:1005:13 | S | | main.rs:1033:30:1033:30 | S | | main.rs:1004:5:1005:13 | S | -| main.rs:1035:18:1035:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1035:18:1035:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1035:26:1035:32 | from_if | | main.rs:969:5:973:5 | MyOption | | main.rs:1035:26:1035:32 | from_if | T | main.rs:1004:5:1005:13 | S | | main.rs:1038:13:1038:22 | from_match | | main.rs:969:5:973:5 | MyOption | | main.rs:1038:13:1038:22 | from_match | T | main.rs:1004:5:1005:13 | S | | main.rs:1038:26:1041:9 | match ... { ... } | | main.rs:969:5:973:5 | MyOption | | main.rs:1038:26:1041:9 | match ... { ... } | T | main.rs:1004:5:1005:13 | S | -| main.rs:1038:32:1038:32 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1038:32:1038:36 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1038:36:1038:36 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1039:13:1039:16 | true | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1038:32:1038:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1038:32:1038:36 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1038:36:1038:36 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1039:13:1039:16 | true | | {EXTERNAL LOCATION} | bool | | main.rs:1039:21:1039:38 | ...::MyNone(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1039:21:1039:38 | ...::MyNone(...) | T | main.rs:1004:5:1005:13 | S | -| main.rs:1040:13:1040:17 | false | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1040:13:1040:17 | false | | {EXTERNAL LOCATION} | bool | | main.rs:1040:22:1040:40 | ...::MySome(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1040:22:1040:40 | ...::MySome(...) | T | main.rs:1004:5:1005:13 | S | | main.rs:1040:39:1040:39 | S | | main.rs:1004:5:1005:13 | S | -| main.rs:1042:18:1042:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1042:18:1042:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1042:26:1042:35 | from_match | | main.rs:969:5:973:5 | MyOption | | main.rs:1042:26:1042:35 | from_match | T | main.rs:1004:5:1005:13 | S | | main.rs:1045:13:1045:21 | from_loop | | main.rs:969:5:973:5 | MyOption | | main.rs:1045:13:1045:21 | from_loop | T | main.rs:1004:5:1005:13 | S | | main.rs:1045:25:1050:9 | loop { ... } | | main.rs:969:5:973:5 | MyOption | | main.rs:1045:25:1050:9 | loop { ... } | T | main.rs:1004:5:1005:13 | S | -| main.rs:1046:16:1046:16 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1046:16:1046:20 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1046:20:1046:20 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:1046:16:1046:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1046:16:1046:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1046:20:1046:20 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:1047:23:1047:40 | ...::MyNone(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1047:23:1047:40 | ...::MyNone(...) | T | main.rs:1004:5:1005:13 | S | | main.rs:1049:19:1049:37 | ...::MySome(...) | | main.rs:969:5:973:5 | MyOption | | main.rs:1049:19:1049:37 | ...::MySome(...) | T | main.rs:1004:5:1005:13 | S | | main.rs:1049:36:1049:36 | S | | main.rs:1004:5:1005:13 | S | -| main.rs:1051:18:1051:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1051:18:1051:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1051:26:1051:34 | from_loop | | main.rs:969:5:973:5 | MyOption | | main.rs:1051:26:1051:34 | from_loop | T | main.rs:1004:5:1005:13 | S | | main.rs:1064:15:1064:18 | SelfParam | | main.rs:1057:5:1058:19 | S | @@ -1272,7 +1271,7 @@ inferType | main.rs:1078:18:1078:22 | S(...) | | main.rs:1057:5:1058:19 | S | | main.rs:1078:18:1078:22 | S(...) | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1078:20:1078:21 | S2 | | main.rs:1060:5:1061:14 | S2 | -| main.rs:1079:18:1079:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1079:18:1079:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1079:26:1079:27 | x1 | | main.rs:1057:5:1058:19 | S | | main.rs:1079:26:1079:27 | x1 | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1079:26:1079:32 | x1.m1() | | main.rs:1060:5:1061:14 | S2 | @@ -1281,12 +1280,12 @@ inferType | main.rs:1081:18:1081:22 | S(...) | | main.rs:1057:5:1058:19 | S | | main.rs:1081:18:1081:22 | S(...) | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1081:20:1081:21 | S2 | | main.rs:1060:5:1061:14 | S2 | -| main.rs:1083:18:1083:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1083:18:1083:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1083:26:1083:27 | x2 | | main.rs:1057:5:1058:19 | S | | main.rs:1083:26:1083:27 | x2 | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1083:26:1083:32 | x2.m2() | | file://:0:0:0:0 | & | | main.rs:1083:26:1083:32 | x2.m2() | &T | main.rs:1060:5:1061:14 | S2 | -| main.rs:1084:18:1084:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1084:18:1084:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1084:26:1084:27 | x2 | | main.rs:1057:5:1058:19 | S | | main.rs:1084:26:1084:27 | x2 | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1084:26:1084:32 | x2.m3() | | file://:0:0:0:0 | & | @@ -1296,7 +1295,7 @@ inferType | main.rs:1086:18:1086:22 | S(...) | | main.rs:1057:5:1058:19 | S | | main.rs:1086:18:1086:22 | S(...) | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1086:20:1086:21 | S2 | | main.rs:1060:5:1061:14 | S2 | -| main.rs:1088:18:1088:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1088:18:1088:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1088:26:1088:41 | ...::m2(...) | | file://:0:0:0:0 | & | | main.rs:1088:26:1088:41 | ...::m2(...) | &T | main.rs:1060:5:1061:14 | S2 | | main.rs:1088:38:1088:40 | &x3 | | file://:0:0:0:0 | & | @@ -1304,7 +1303,7 @@ inferType | main.rs:1088:38:1088:40 | &x3 | &T.T | main.rs:1060:5:1061:14 | S2 | | main.rs:1088:39:1088:40 | x3 | | main.rs:1057:5:1058:19 | S | | main.rs:1088:39:1088:40 | x3 | T | main.rs:1060:5:1061:14 | S2 | -| main.rs:1089:18:1089:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1089:18:1089:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1089:26:1089:41 | ...::m3(...) | | file://:0:0:0:0 | & | | main.rs:1089:26:1089:41 | ...::m3(...) | &T | main.rs:1060:5:1061:14 | S2 | | main.rs:1089:38:1089:40 | &x3 | | file://:0:0:0:0 | & | @@ -1321,13 +1320,13 @@ inferType | main.rs:1091:19:1091:23 | S(...) | | main.rs:1057:5:1058:19 | S | | main.rs:1091:19:1091:23 | S(...) | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1091:21:1091:22 | S2 | | main.rs:1060:5:1061:14 | S2 | -| main.rs:1093:18:1093:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1093:18:1093:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1093:26:1093:27 | x4 | | file://:0:0:0:0 | & | | main.rs:1093:26:1093:27 | x4 | &T | main.rs:1057:5:1058:19 | S | | main.rs:1093:26:1093:27 | x4 | &T.T | main.rs:1060:5:1061:14 | S2 | | main.rs:1093:26:1093:32 | x4.m2() | | file://:0:0:0:0 | & | | main.rs:1093:26:1093:32 | x4.m2() | &T | main.rs:1060:5:1061:14 | S2 | -| main.rs:1094:18:1094:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1094:18:1094:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1094:26:1094:27 | x4 | | file://:0:0:0:0 | & | | main.rs:1094:26:1094:27 | x4 | &T | main.rs:1057:5:1058:19 | S | | main.rs:1094:26:1094:27 | x4 | &T.T | main.rs:1060:5:1061:14 | S2 | @@ -1342,12 +1341,12 @@ inferType | main.rs:1096:19:1096:23 | S(...) | | main.rs:1057:5:1058:19 | S | | main.rs:1096:19:1096:23 | S(...) | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1096:21:1096:22 | S2 | | main.rs:1060:5:1061:14 | S2 | -| main.rs:1098:18:1098:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1098:18:1098:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1098:26:1098:27 | x5 | | file://:0:0:0:0 | & | | main.rs:1098:26:1098:27 | x5 | &T | main.rs:1057:5:1058:19 | S | | main.rs:1098:26:1098:27 | x5 | &T.T | main.rs:1060:5:1061:14 | S2 | | main.rs:1098:26:1098:32 | x5.m1() | | main.rs:1060:5:1061:14 | S2 | -| main.rs:1099:18:1099:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1099:18:1099:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1099:26:1099:27 | x5 | | file://:0:0:0:0 | & | | main.rs:1099:26:1099:27 | x5 | &T | main.rs:1057:5:1058:19 | S | | main.rs:1099:26:1099:27 | x5 | &T.T | main.rs:1060:5:1061:14 | S2 | @@ -1361,7 +1360,7 @@ inferType | main.rs:1101:19:1101:23 | S(...) | | main.rs:1057:5:1058:19 | S | | main.rs:1101:19:1101:23 | S(...) | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1101:21:1101:22 | S2 | | main.rs:1060:5:1061:14 | S2 | -| main.rs:1103:18:1103:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1103:18:1103:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | main.rs:1103:26:1103:30 | (...) | | main.rs:1057:5:1058:19 | S | | main.rs:1103:26:1103:30 | (...) | T | main.rs:1060:5:1061:14 | S2 | | main.rs:1103:26:1103:35 | ... .m1() | | main.rs:1060:5:1061:14 | S2 | @@ -1386,7 +1385,7 @@ inferType | main.rs:1108:17:1108:18 | x7 | T.&T | main.rs:1060:5:1061:14 | S2 | | main.rs:1108:17:1108:23 | x7.m1() | | file://:0:0:0:0 | & | | main.rs:1108:17:1108:23 | x7.m1() | &T | main.rs:1060:5:1061:14 | S2 | -| main.rs:1109:18:1109:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | +| main.rs:1109:18:1109:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | | 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 | @@ -1485,765 +1484,765 @@ inferType | main.rs:1181:15:1181:16 | &x | | file://:0:0:0:0 | & | | main.rs:1181:15:1181:16 | &x | &T | main.rs:1157:5:1157:13 | S | | main.rs:1181:16:1181:16 | x | | main.rs:1157:5:1157:13 | S | -| main.rs:1195:43:1198:5 | { ... } | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1195:43:1198:5 | { ... } | | {EXTERNAL LOCATION} | Result | | main.rs:1195:43:1198:5 | { ... } | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1195:43:1198:5 | { ... } | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1196:13:1196:13 | x | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1196:17:1196:30 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1196:17:1196:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1196:17:1196:30 | ...::Ok(...) | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1196:17:1196:31 | TryExpr | | main.rs:1188:5:1189:14 | S1 | | main.rs:1196:28:1196:29 | S1 | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1197:9:1197:22 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1197:9:1197:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1197:9:1197:22 | ...::Ok(...) | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1197:9:1197:22 | ...::Ok(...) | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1197:20:1197:21 | S1 | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1201:46:1205:5 | { ... } | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1201:46:1205:5 | { ... } | | {EXTERNAL LOCATION} | Result | | main.rs:1201:46:1205:5 | { ... } | E | main.rs:1191:5:1192:14 | S2 | | main.rs:1201:46:1205:5 | { ... } | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1202:13:1202:13 | x | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1202:13:1202:13 | x | | {EXTERNAL LOCATION} | Result | | main.rs:1202:13:1202:13 | x | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1202:17:1202:30 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1202:17:1202:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1202:17:1202:30 | ...::Ok(...) | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1202:28:1202:29 | S1 | | main.rs:1188:5:1189:14 | S1 | | main.rs:1203:13:1203:13 | y | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1203:17:1203:17 | x | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1203:17:1203:17 | x | | {EXTERNAL LOCATION} | Result | | main.rs:1203:17:1203:17 | x | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1203:17:1203:18 | TryExpr | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1204:9:1204:22 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1204:9:1204:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1204:9:1204:22 | ...::Ok(...) | E | main.rs:1191:5:1192:14 | S2 | | main.rs:1204:9:1204:22 | ...::Ok(...) | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1204:20:1204:21 | S1 | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1208:40:1213:5 | { ... } | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1208:40:1213:5 | { ... } | | {EXTERNAL LOCATION} | Result | | main.rs:1208:40:1213:5 | { ... } | E | main.rs:1191:5:1192:14 | S2 | | main.rs:1208:40:1213:5 | { ... } | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1209:13:1209:13 | x | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | -| main.rs:1209:13:1209:13 | x | T | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1209:13:1209:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1209:13:1209:13 | x | T | {EXTERNAL LOCATION} | Result | | main.rs:1209:13:1209:13 | x | T.T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1209:17:1209:42 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | -| main.rs:1209:17:1209:42 | ...::Ok(...) | T | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1209:17:1209:42 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1209:17:1209:42 | ...::Ok(...) | T | {EXTERNAL LOCATION} | Result | | main.rs:1209:17:1209:42 | ...::Ok(...) | T.T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1209:28:1209:41 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1209:28:1209:41 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1209:28:1209:41 | ...::Ok(...) | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1209:39:1209:40 | S1 | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1211:17:1211:17 | x | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | -| main.rs:1211:17:1211:17 | x | T | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1211:17:1211:17 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1211:17:1211:17 | x | T | {EXTERNAL LOCATION} | Result | | main.rs:1211:17:1211:17 | x | T.T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1211:17:1211:18 | TryExpr | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1211:17:1211:18 | TryExpr | | {EXTERNAL LOCATION} | Result | | main.rs:1211:17:1211:18 | TryExpr | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1211:17:1211:29 | ... .map(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | -| main.rs:1212:9:1212:22 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1211:17:1211:29 | ... .map(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1212:9:1212:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1212:9:1212:22 | ...::Ok(...) | E | main.rs:1191:5:1192:14 | S2 | | main.rs:1212:9:1212:22 | ...::Ok(...) | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1212:20:1212:21 | S1 | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1216:30:1216:34 | input | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1216:30:1216:34 | input | | {EXTERNAL LOCATION} | Result | | main.rs:1216:30:1216:34 | input | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1216:30:1216:34 | input | T | main.rs:1216:20:1216:27 | T | -| main.rs:1216:69:1223:5 | { ... } | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1216:69:1223:5 | { ... } | | {EXTERNAL LOCATION} | Result | | main.rs:1216:69:1223:5 | { ... } | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1216:69:1223:5 | { ... } | T | main.rs:1216:20:1216:27 | T | | main.rs:1217:13:1217:17 | value | | main.rs:1216:20:1216:27 | T | -| main.rs:1217:21:1217:25 | input | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1217:21:1217:25 | input | | {EXTERNAL LOCATION} | Result | | main.rs:1217:21:1217:25 | input | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1217:21:1217:25 | input | T | main.rs:1216:20:1216:27 | T | | main.rs:1217:21:1217:26 | TryExpr | | main.rs:1216:20:1216:27 | T | -| main.rs:1218:22:1218:38 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1218:22:1218:38 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1218:22:1218:38 | ...::Ok(...) | T | main.rs:1216:20:1216:27 | T | -| main.rs:1218:22:1221:10 | ... .and_then(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1218:22:1221:10 | ... .and_then(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1218:33:1218:37 | value | | main.rs:1216:20:1216:27 | T | -| main.rs:1218:53:1221:9 | { ... } | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1218:53:1221:9 | { ... } | | {EXTERNAL LOCATION} | Result | | main.rs:1218:53:1221:9 | { ... } | E | main.rs:1188:5:1189:14 | S1 | -| main.rs:1219:22:1219:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | -| main.rs:1220:13:1220:34 | ...::Ok::<...>(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1219:22:1219:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1220:13:1220:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1220:13:1220:34 | ...::Ok::<...>(...) | E | main.rs:1188:5:1189:14 | S1 | -| main.rs:1222:9:1222:23 | ...::Err(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1222:9:1222:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1222:9:1222:23 | ...::Err(...) | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1222:9:1222:23 | ...::Err(...) | T | main.rs:1216:20:1216:27 | T | | main.rs:1222:21:1222:22 | S1 | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1226:37:1226:52 | try_same_error(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1226:37:1226:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1226:37:1226:52 | try_same_error(...) | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1226:37:1226:52 | try_same_error(...) | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1227:22:1227:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | -| main.rs:1230:37:1230:55 | try_convert_error(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1227:22:1227:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1230:37:1230:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1230:37:1230:55 | try_convert_error(...) | E | main.rs:1191:5:1192:14 | S2 | | main.rs:1230:37:1230:55 | try_convert_error(...) | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1231:22:1231:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | -| main.rs:1234:37:1234:49 | try_chained(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1231:22:1231:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1234:37:1234:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1234:37:1234:49 | try_chained(...) | E | main.rs:1191:5:1192:14 | S2 | | main.rs:1234:37:1234:49 | try_chained(...) | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1235:22:1235:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | -| main.rs:1238:37:1238:63 | try_complex(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1235:22:1235:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1238:37:1238:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1238:37:1238:63 | try_complex(...) | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1238:37:1238:63 | try_complex(...) | T | main.rs:1188:5:1189:14 | S1 | -| main.rs:1238:49:1238:62 | ...::Ok(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/result.rs:520:1:538:1 | Result | +| main.rs:1238:49:1238:62 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1238:49:1238:62 | ...::Ok(...) | E | main.rs:1188:5:1189:14 | S1 | | main.rs:1238:49:1238:62 | ...::Ok(...) | T | main.rs:1188:5:1189:14 | S1 | | main.rs:1238:60:1238:61 | S1 | | main.rs:1188:5:1189:14 | S1 | -| main.rs:1239:22:1239:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str | -| main.rs:1246:13:1246:13 | x | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1246:22:1246:22 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1247:13:1247:13 | y | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1247:17:1247:17 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1248:13:1248:13 | z | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1248:17:1248:17 | x | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1248:17:1248:21 | ... + ... | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1248:21:1248:21 | y | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1249:13:1249:13 | z | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1249:17:1249:17 | x | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1249:17:1249:23 | x.abs() | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1250:13:1250:13 | c | | file:///BUILTINS/types.rs:6:1:7:16 | char | -| main.rs:1250:17:1250:19 | 'c' | | file:///BUILTINS/types.rs:6:1:7:16 | char | -| main.rs:1251:13:1251:17 | hello | | file:///BUILTINS/types.rs:8:1:8:15 | str | -| main.rs:1251:21:1251:27 | "Hello" | | file:///BUILTINS/types.rs:8:1:8:15 | str | -| main.rs:1252:13:1252:13 | f | | file:///BUILTINS/types.rs:25:1:25:15 | f64 | -| main.rs:1252:17:1252:24 | 123.0f64 | | file:///BUILTINS/types.rs:25:1:25:15 | f64 | -| main.rs:1253:13:1253:13 | t | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1253:17:1253:20 | true | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1254:13:1254:13 | f | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1254:17:1254:21 | false | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1261:13:1261:13 | x | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1261:17:1261:20 | true | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1261:17:1261:29 | ... && ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1261:25:1261:29 | false | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1262:13:1262:13 | y | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1262:17:1262:20 | true | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1262:17:1262:29 | ... \|\| ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1262:25:1262:29 | false | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1264:13:1264:17 | mut a | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1265:13:1265:16 | cond | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1265:20:1265:21 | 34 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1265:20:1265:27 | ... == ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1265:26:1265:27 | 33 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1266:12:1266:15 | cond | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1239:22:1239:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | str | +| main.rs:1246:13:1246:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1246:22:1246:22 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1247:13:1247:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1247:17:1247:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1248:13:1248:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1248:17:1248:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1248:17:1248:21 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:1248:21:1248:21 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1249:13:1249:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1249:17:1249:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1249:17:1249:23 | x.abs() | | {EXTERNAL LOCATION} | i32 | +| main.rs:1250:13:1250:13 | c | | {EXTERNAL LOCATION} | char | +| main.rs:1250:17:1250:19 | 'c' | | {EXTERNAL LOCATION} | char | +| main.rs:1251:13:1251:17 | hello | | {EXTERNAL LOCATION} | str | +| main.rs:1251:21:1251:27 | "Hello" | | {EXTERNAL LOCATION} | str | +| main.rs:1252:13:1252:13 | f | | {EXTERNAL LOCATION} | f64 | +| main.rs:1252:17:1252:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | +| main.rs:1253:13:1253:13 | t | | {EXTERNAL LOCATION} | bool | +| main.rs:1253:17:1253:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1254:13:1254:13 | f | | {EXTERNAL LOCATION} | bool | +| main.rs:1254:17:1254:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1261:13:1261:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:1261:17:1261:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1261:17:1261:29 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1261:25:1261:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1262:13:1262:13 | y | | {EXTERNAL LOCATION} | bool | +| main.rs:1262:17:1262:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1262:17:1262:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1262:25:1262:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1264:13:1264:17 | mut a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1265:13:1265:16 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1265:20:1265:21 | 34 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1265:20:1265:27 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1265:26:1265:27 | 33 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1266:12:1266:15 | cond | | {EXTERNAL LOCATION} | bool | | main.rs:1267:17:1267:17 | z | | file://:0:0:0:0 | () | | main.rs:1267:21:1267:27 | (...) | | file://:0:0:0:0 | () | -| main.rs:1267:22:1267:22 | a | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:1267:22:1267:22 | a | | {EXTERNAL LOCATION} | i32 | | main.rs:1267:22:1267:26 | ... = ... | | file://:0:0:0:0 | () | -| main.rs:1267:26:1267:26 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1269:13:1269:13 | a | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:1267:26:1267:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1269:13:1269:13 | a | | {EXTERNAL LOCATION} | i32 | | main.rs:1269:13:1269:17 | ... = ... | | file://:0:0:0:0 | () | -| main.rs:1269:17:1269:17 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1271:9:1271:9 | a | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | +| main.rs:1269:17:1269:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1271:9:1271:9 | a | | {EXTERNAL LOCATION} | i32 | | main.rs:1288:16:1288:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1288:22:1288:24 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1288:41:1293:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1289:13:1292:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1290:20:1290:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1290:20:1290:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1290:20:1290:33 | ... + ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1290:20:1290:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1290:20:1290:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1290:29:1290:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1290:29:1290:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1290:29:1290:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1291:20:1291:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1291:20:1291:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1291:20:1291:33 | ... + ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1291:20:1291:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1291:20:1291:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1291:29:1291:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1291:29:1291:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1291:29:1291:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1298:23:1298:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1298:23:1298:31 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1298:34:1298:36 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1299:13:1299:16 | self | | file://:0:0:0:0 | & | | main.rs:1299:13:1299:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1299:13:1299:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1299:13:1299:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1299:13:1299:27 | ... += ... | | file://:0:0:0:0 | () | | main.rs:1299:23:1299:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1299:23:1299:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1299:23:1299:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1300:13:1300:16 | self | | file://:0:0:0:0 | & | | main.rs:1300:13:1300:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1300:13:1300:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1300:13:1300:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1300:13:1300:27 | ... += ... | | file://:0:0:0:0 | () | | main.rs:1300:23:1300:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1300:23:1300:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1300:23:1300:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1306:16:1306:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1306:22:1306:24 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1306:41:1311:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1307:13:1310:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1308:20:1308:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1308:20:1308:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1308:20:1308:33 | ... - ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1308:20:1308:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1308:20:1308:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1308:29:1308:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1308:29:1308:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1308:29:1308:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1309:20:1309:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1309:20:1309:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1309:20:1309:33 | ... - ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1309:20:1309:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1309:20:1309:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1309:29:1309:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1309:29:1309:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1309:29:1309:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1316:23:1316:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1316:23:1316:31 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1316:34:1316:36 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1317:13:1317:16 | self | | file://:0:0:0:0 | & | | main.rs:1317:13:1317:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1317:13:1317:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1317:13:1317:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1317:13:1317:27 | ... -= ... | | file://:0:0:0:0 | () | | main.rs:1317:23:1317:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1317:23:1317:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1317:23:1317:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1318:13:1318:16 | self | | file://:0:0:0:0 | & | | main.rs:1318:13:1318:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1318:13:1318:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1318:13:1318:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1318:13:1318:27 | ... -= ... | | file://:0:0:0:0 | () | | main.rs:1318:23:1318:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1318:23:1318:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1318:23:1318:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1324:16:1324:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1324:22:1324:24 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1324:41:1329:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1325:13:1328:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1326:20:1326:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1326:20:1326:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1326:20:1326:33 | ... * ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1326:20:1326:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1326:20:1326:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1326:29:1326:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1326:29:1326:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1326:29:1326:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1327:20:1327:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1327:20:1327:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1327:20:1327:33 | ... * ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1327:20:1327:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1327:20:1327:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1327:29:1327:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1327:29:1327:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1327:29:1327:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1333:23:1333:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1333:23:1333:31 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1333:34:1333:36 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1334:13:1334:16 | self | | file://:0:0:0:0 | & | | main.rs:1334:13:1334:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1334:13:1334:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1334:13:1334:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1334:13:1334:27 | ... *= ... | | file://:0:0:0:0 | () | | main.rs:1334:23:1334:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1334:23:1334:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1334:23:1334:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1335:13:1335:16 | self | | file://:0:0:0:0 | & | | main.rs:1335:13:1335:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1335:13:1335:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1335:13:1335:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1335:13:1335:27 | ... *= ... | | file://:0:0:0:0 | () | | main.rs:1335:23:1335:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1335:23:1335:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1335:23:1335:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1341:16:1341:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1341:22:1341:24 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1341:41:1346:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1342:13:1345:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1343:20:1343:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1343:20:1343:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1343:20:1343:33 | ... / ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1343:20:1343:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1343:20:1343:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1343:29:1343:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1343:29:1343:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1343:29:1343:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1344:20:1344:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1344:20:1344:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1344:20:1344:33 | ... / ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1344:20:1344:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1344:20:1344:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1344:29:1344:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1344:29:1344:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1344:29:1344:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1350:23:1350:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1350:23:1350:31 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1350:34:1350:36 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1351:13:1351:16 | self | | file://:0:0:0:0 | & | | main.rs:1351:13:1351:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1351:13:1351:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1351:13:1351:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1351:13:1351:27 | ... /= ... | | file://:0:0:0:0 | () | | main.rs:1351:23:1351:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1351:23:1351:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1351:23:1351:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1352:13:1352:16 | self | | file://:0:0:0:0 | & | | main.rs:1352:13:1352:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1352:13:1352:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1352:13:1352:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1352:13:1352:27 | ... /= ... | | file://:0:0:0:0 | () | | main.rs:1352:23:1352:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1352:23:1352:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1352:23:1352:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1358:16:1358:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1358:22:1358:24 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1358:41:1363:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1359:13:1362:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1360:20:1360:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1360:20:1360:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1360:20:1360:33 | ... % ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1360:20:1360:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1360:20:1360:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1360:29:1360:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1360:29:1360:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1360:29:1360:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1361:20:1361:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1361:20:1361:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1361:20:1361:33 | ... % ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1361:20:1361:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1361:20:1361:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1361:29:1361:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1361:29:1361:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1361:29:1361:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1367:23:1367:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1367:23:1367:31 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1367:34:1367:36 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1368:13:1368:16 | self | | file://:0:0:0:0 | & | | main.rs:1368:13:1368:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1368:13:1368:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1368:13:1368:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1368:13:1368:27 | ... %= ... | | file://:0:0:0:0 | () | | main.rs:1368:23:1368:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1368:23:1368:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1368:23:1368:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1369:13:1369:16 | self | | file://:0:0:0:0 | & | | main.rs:1369:13:1369:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1369:13:1369:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1369:13:1369:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1369:13:1369:27 | ... %= ... | | file://:0:0:0:0 | () | | main.rs:1369:23:1369:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1369:23:1369:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1369:23:1369:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1375:19:1375:22 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1375:25:1375:27 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1375:44:1380:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1376:13:1379:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1377:20:1377:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1377:20:1377:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1377:20:1377:33 | ... & ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1377:20:1377:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1377:20:1377:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1377:29:1377:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1377:29:1377:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1377:29:1377:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1378:20:1378:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1378:20:1378:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1378:20:1378:33 | ... & ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1378:20:1378:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1378:20:1378:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1378:29:1378:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1378:29:1378:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1378:29:1378:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1384:26:1384:34 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1384:26:1384:34 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1384:37:1384:39 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1385:13:1385:16 | self | | file://:0:0:0:0 | & | | main.rs:1385:13:1385:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1385:13:1385:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1385:13:1385:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1385:13:1385:27 | ... &= ... | | file://:0:0:0:0 | () | | main.rs:1385:23:1385:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1385:23:1385:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1385:23:1385:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1386:13:1386:16 | self | | file://:0:0:0:0 | & | | main.rs:1386:13:1386:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1386:13:1386:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1386:13:1386:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1386:13:1386:27 | ... &= ... | | file://:0:0:0:0 | () | | main.rs:1386:23:1386:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1386:23:1386:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1386:23:1386:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1392:18:1392:21 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1392:24:1392:26 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1392:43:1397:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1393:13:1396:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1394:20:1394:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1394:20:1394:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1394:20:1394:33 | ... \| ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1394:20:1394:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1394:20:1394:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1394:29:1394:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1394:29:1394:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1394:29:1394:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1395:20:1395:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1395:20:1395:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1395:20:1395:33 | ... \| ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1395:20:1395:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1395:20:1395:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1395:29:1395:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1395:29:1395:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1395:29:1395:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1401:25:1401:33 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1401:25:1401:33 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1401:36:1401:38 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1402:13:1402:16 | self | | file://:0:0:0:0 | & | | main.rs:1402:13:1402:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1402:13:1402:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1402:13:1402:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1402:13:1402:27 | ... \|= ... | | file://:0:0:0:0 | () | | main.rs:1402:23:1402:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1402:23:1402:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1402:23:1402:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1403:13:1403:16 | self | | file://:0:0:0:0 | & | | main.rs:1403:13:1403:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1403:13:1403:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1403:13:1403:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1403:13:1403:27 | ... \|= ... | | file://:0:0:0:0 | () | | main.rs:1403:23:1403:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1403:23:1403:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1403:23:1403:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1409:19:1409:22 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1409:25:1409:27 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1409:44:1414:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1410:13:1413:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1411:20:1411:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1411:20:1411:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1411:20:1411:33 | ... ^ ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1411:20:1411:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1411:20:1411:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1411:29:1411:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1411:29:1411:33 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1411:29:1411:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1412:20:1412:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1412:20:1412:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1412:20:1412:33 | ... ^ ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1412:20:1412:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1412:20:1412:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1412:29:1412:31 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1412:29:1412:33 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1412:29:1412:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1418:26:1418:34 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1418:26:1418:34 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1418:37:1418:39 | rhs | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1419:13:1419:16 | self | | file://:0:0:0:0 | & | | main.rs:1419:13:1419:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1419:13:1419:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1419:13:1419:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1419:13:1419:27 | ... ^= ... | | file://:0:0:0:0 | () | | main.rs:1419:23:1419:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1419:23:1419:27 | rhs.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1419:23:1419:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1420:13:1420:16 | self | | file://:0:0:0:0 | & | | main.rs:1420:13:1420:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1420:13:1420:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1420:13:1420:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1420:13:1420:27 | ... ^= ... | | file://:0:0:0:0 | () | | main.rs:1420:23:1420:25 | rhs | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1420:23:1420:27 | rhs.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1420:23:1420:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1426:16:1426:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1426:22:1426:24 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1426:22:1426:24 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1426:40:1431:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1427:13:1430:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1428:20:1428:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1428:20:1428:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1428:20:1428:32 | ... << ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1428:30:1428:32 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1428:20:1428:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1428:20:1428:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1428:30:1428:32 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1429:20:1429:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1429:20:1429:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1429:20:1429:32 | ... << ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1429:30:1429:32 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1429:20:1429:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1429:20:1429:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1429:30:1429:32 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1435:23:1435:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1435:23:1435:31 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1435:34:1435:36 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1435:34:1435:36 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1436:13:1436:16 | self | | file://:0:0:0:0 | & | | main.rs:1436:13:1436:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1436:13:1436:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1436:13:1436:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1436:13:1436:26 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1436:24:1436:26 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1436:24:1436:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1437:13:1437:16 | self | | file://:0:0:0:0 | & | | main.rs:1437:13:1437:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1437:13:1437:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1437:13:1437:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1437:13:1437:26 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1437:24:1437:26 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1437:24:1437:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1443:16:1443:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1443:22:1443:24 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1443:22:1443:24 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1443:40:1448:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1444:13:1447:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1445:20:1445:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1445:20:1445:25 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1445:20:1445:32 | ... >> ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1445:30:1445:32 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1445:20:1445:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1445:20:1445:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1445:30:1445:32 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1446:20:1446:23 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1446:20:1446:25 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1446:20:1446:32 | ... >> ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1446:30:1446:32 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1446:20:1446:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1446:20:1446:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1446:30:1446:32 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1452:23:1452:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1452:23:1452:31 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1452:34:1452:36 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1452:34:1452:36 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1453:13:1453:16 | self | | file://:0:0:0:0 | & | | main.rs:1453:13:1453:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1453:13:1453:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1453:13:1453:18 | self.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1453:13:1453:26 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1453:24:1453:26 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1453:24:1453:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1454:13:1454:16 | self | | file://:0:0:0:0 | & | | main.rs:1454:13:1454:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1454:13:1454:18 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1454:13:1454:18 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1454:13:1454:26 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1454:24:1454:26 | rhs | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1454:24:1454:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1460:16:1460:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1460:30:1465:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1461:13:1464:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1462:20:1462:26 | - ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1462:20:1462:26 | - ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1462:21:1462:24 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1462:21:1462:26 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1463:20:1463:26 | - ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1462:21:1462:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1463:20:1463:26 | - ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1463:21:1463:24 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1463:21:1463:26 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1463:21:1463:26 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1470:16:1470:19 | SelfParam | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1470:30:1475:9 | { ... } | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1471:13:1474:13 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1472:20:1472:26 | ! ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1472:20:1472:26 | ! ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1472:21:1472:24 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1472:21:1472:26 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1473:20:1473:26 | ! ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1472:21:1472:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1473:20:1473:26 | ! ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1473:21:1473:24 | self | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1473:21:1473:26 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1473:21:1473:26 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1479:15:1479:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1479:15:1479:19 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1479:22:1479:26 | other | | file://:0:0:0:0 | & | | main.rs:1479:22:1479:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1479:44:1481:9 | { ... } | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1479:44:1481:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1480:13:1480:16 | self | | file://:0:0:0:0 | & | | main.rs:1480:13:1480:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1480:13:1480:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1480:13:1480:29 | ... == ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1480:13:1480:50 | ... && ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1480:13:1480:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1480:13:1480:29 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1480:13:1480:50 | ... && ... | | {EXTERNAL LOCATION} | bool | | main.rs:1480:23:1480:27 | other | | file://:0:0:0:0 | & | | main.rs:1480:23:1480:27 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1480:23:1480:29 | other.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1480:23:1480:29 | other.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1480:34:1480:37 | self | | file://:0:0:0:0 | & | | main.rs:1480:34:1480:37 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1480:34:1480:39 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1480:34:1480:50 | ... == ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1480:34:1480:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1480:34:1480:50 | ... == ... | | {EXTERNAL LOCATION} | bool | | main.rs:1480:44:1480:48 | other | | file://:0:0:0:0 | & | | main.rs:1480:44:1480:48 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1480:44:1480:50 | other.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1480:44:1480:50 | other.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1483:15:1483:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1483:15:1483:19 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1483:22:1483:26 | other | | file://:0:0:0:0 | & | | main.rs:1483:22:1483:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1483:44:1485:9 | { ... } | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1483:44:1485:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1484:13:1484:16 | self | | file://:0:0:0:0 | & | | main.rs:1484:13:1484:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1484:13:1484:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1484:13:1484:29 | ... != ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1484:13:1484:50 | ... \|\| ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1484:13:1484:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1484:13:1484:29 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1484:13:1484:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | | main.rs:1484:23:1484:27 | other | | file://:0:0:0:0 | & | | main.rs:1484:23:1484:27 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1484:23:1484:29 | other.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1484:23:1484:29 | other.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1484:34:1484:37 | self | | file://:0:0:0:0 | & | | main.rs:1484:34:1484:37 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1484:34:1484:39 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1484:34:1484:50 | ... != ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1484:34:1484:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1484:34:1484:50 | ... != ... | | {EXTERNAL LOCATION} | bool | | main.rs:1484:44:1484:48 | other | | file://:0:0:0:0 | & | | main.rs:1484:44:1484:48 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1484:44:1484:50 | other.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1484:44:1484:50 | other.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1489:24:1489:28 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1489:24:1489:28 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1489:31:1489:35 | other | | file://:0:0:0:0 | & | | main.rs:1489:31:1489:35 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1489:75:1491:9 | { ... } | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:565:1:581:1 | Option | -| main.rs:1489:75:1491:9 | { ... } | T | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/cmp.rs:367:1:397:1 | Ordering | -| main.rs:1490:13:1490:29 | (...) | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1490:13:1490:63 | ... .partial_cmp(...) | | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/option.rs:565:1:581:1 | Option | -| main.rs:1490:13:1490:63 | ... .partial_cmp(...) | T | file:///RUSTUP_HOME/toolchain/lib/rustlib/src/rust/library/core/src/cmp.rs:367:1:397:1 | Ordering | +| main.rs:1489:75:1491:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1489:75:1491:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1490:13:1490:29 | (...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1490:13:1490:63 | ... .partial_cmp(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:1490:13:1490:63 | ... .partial_cmp(...) | T | {EXTERNAL LOCATION} | Ordering | | main.rs:1490:14:1490:17 | self | | file://:0:0:0:0 | & | | main.rs:1490:14:1490:17 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1490:14:1490:19 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1490:14:1490:28 | ... + ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1490:14:1490:19 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1490:14:1490:28 | ... + ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1490:23:1490:26 | self | | file://:0:0:0:0 | & | | main.rs:1490:23:1490:26 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1490:23:1490:28 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1490:23:1490:28 | self.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1490:43:1490:62 | &... | | file://:0:0:0:0 | & | -| main.rs:1490:43:1490:62 | &... | &T | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1490:44:1490:62 | (...) | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1490:43:1490:62 | &... | &T | {EXTERNAL LOCATION} | i64 | +| main.rs:1490:44:1490:62 | (...) | | {EXTERNAL LOCATION} | i64 | | main.rs:1490:45:1490:49 | other | | file://:0:0:0:0 | & | | main.rs:1490:45:1490:49 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1490:45:1490:51 | other.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1490:45:1490:61 | ... + ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1490:45:1490:51 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1490:45:1490:61 | ... + ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1490:55:1490:59 | other | | file://:0:0:0:0 | & | | main.rs:1490:55:1490:59 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1490:55:1490:61 | other.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1490:55:1490:61 | other.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1493:15:1493:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1493:15:1493:19 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1493:22:1493:26 | other | | file://:0:0:0:0 | & | | main.rs:1493:22:1493:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1493:44:1495:9 | { ... } | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1493:44:1495:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1494:13:1494:16 | self | | file://:0:0:0:0 | & | | main.rs:1494:13:1494:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1494:13:1494:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1494:13:1494:28 | ... < ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1494:13:1494:48 | ... && ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1494:13:1494:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1494:13:1494:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:13:1494:48 | ... && ... | | {EXTERNAL LOCATION} | bool | | main.rs:1494:22:1494:26 | other | | file://:0:0:0:0 | & | | main.rs:1494:22:1494:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1494:22:1494:28 | other.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1494:22:1494:28 | other.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1494:33:1494:36 | self | | file://:0:0:0:0 | & | | main.rs:1494:33:1494:36 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1494:33:1494:38 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1494:33:1494:48 | ... < ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1494:33:1494:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1494:33:1494:48 | ... < ... | | {EXTERNAL LOCATION} | bool | | main.rs:1494:42:1494:46 | other | | file://:0:0:0:0 | & | | main.rs:1494:42:1494:46 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1494:42:1494:48 | other.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1494:42:1494:48 | other.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1497:15:1497:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1497:15:1497:19 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1497:22:1497:26 | other | | file://:0:0:0:0 | & | | main.rs:1497:22:1497:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1497:44:1499:9 | { ... } | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1497:44:1499:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1498:13:1498:16 | self | | file://:0:0:0:0 | & | | main.rs:1498:13:1498:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1498:13:1498:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1498:13:1498:29 | ... <= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1498:13:1498:50 | ... && ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1498:13:1498:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1498:13:1498:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1498:13:1498:50 | ... && ... | | {EXTERNAL LOCATION} | bool | | main.rs:1498:23:1498:27 | other | | file://:0:0:0:0 | & | | main.rs:1498:23:1498:27 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1498:23:1498:29 | other.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1498:23:1498:29 | other.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1498:34:1498:37 | self | | file://:0:0:0:0 | & | | main.rs:1498:34:1498:37 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1498:34:1498:39 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1498:34:1498:50 | ... <= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1498:34:1498:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1498:34:1498:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | | main.rs:1498:44:1498:48 | other | | file://:0:0:0:0 | & | | main.rs:1498:44:1498:48 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1498:44:1498:50 | other.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1498:44:1498:50 | other.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1501:15:1501:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1501:15:1501:19 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1501:22:1501:26 | other | | file://:0:0:0:0 | & | | main.rs:1501:22:1501:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1501:44:1503:9 | { ... } | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1501:44:1503:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1502:13:1502:16 | self | | file://:0:0:0:0 | & | | main.rs:1502:13:1502:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1502:13:1502:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1502:13:1502:28 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1502:13:1502:48 | ... && ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1502:13:1502:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1502:13:1502:28 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1502:13:1502:48 | ... && ... | | {EXTERNAL LOCATION} | bool | | main.rs:1502:22:1502:26 | other | | file://:0:0:0:0 | & | | main.rs:1502:22:1502:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1502:22:1502:28 | other.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1502:22:1502:28 | other.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1502:33:1502:36 | self | | file://:0:0:0:0 | & | | main.rs:1502:33:1502:36 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1502:33:1502:38 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1502:33:1502:48 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1502:33:1502:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1502:33:1502:48 | ... > ... | | {EXTERNAL LOCATION} | bool | | main.rs:1502:42:1502:46 | other | | file://:0:0:0:0 | & | | main.rs:1502:42:1502:46 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1502:42:1502:48 | other.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1502:42:1502:48 | other.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1505:15:1505:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1505:15:1505:19 | SelfParam | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1505:22:1505:26 | other | | file://:0:0:0:0 | & | | main.rs:1505:22:1505:26 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1505:44:1507:9 | { ... } | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1505:44:1507:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1506:13:1506:16 | self | | file://:0:0:0:0 | & | | main.rs:1506:13:1506:16 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1506:13:1506:18 | self.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1506:13:1506:29 | ... >= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1506:13:1506:50 | ... && ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1506:13:1506:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1506:13:1506:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1506:13:1506:50 | ... && ... | | {EXTERNAL LOCATION} | bool | | main.rs:1506:23:1506:27 | other | | file://:0:0:0:0 | & | | main.rs:1506:23:1506:27 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1506:23:1506:29 | other.x | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1506:23:1506:29 | other.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1506:34:1506:37 | self | | file://:0:0:0:0 | & | | main.rs:1506:34:1506:37 | self | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1506:34:1506:39 | self.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1506:34:1506:50 | ... >= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1506:34:1506:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1506:34:1506:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | | main.rs:1506:44:1506:48 | other | | file://:0:0:0:0 | & | | main.rs:1506:44:1506:48 | other | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1506:44:1506:50 | other.y | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1513:13:1513:18 | i64_eq | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1513:22:1513:35 | (...) | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1513:23:1513:26 | 1i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1513:23:1513:34 | ... == ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1513:31:1513:34 | 2i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1514:13:1514:18 | i64_ne | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1514:22:1514:35 | (...) | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1514:23:1514:26 | 3i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1514:23:1514:34 | ... != ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1514:31:1514:34 | 4i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1515:13:1515:18 | i64_lt | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1515:22:1515:34 | (...) | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1515:23:1515:26 | 5i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1515:23:1515:33 | ... < ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1515:30:1515:33 | 6i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1516:13:1516:18 | i64_le | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1516:22:1516:35 | (...) | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1516:23:1516:26 | 7i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1516:23:1516:34 | ... <= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1516:31:1516:34 | 8i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1517:13:1517:18 | i64_gt | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1517:22:1517:35 | (...) | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1517:23:1517:26 | 9i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1517:23:1517:34 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1517:30:1517:34 | 10i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1518:13:1518:18 | i64_ge | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1518:22:1518:37 | (...) | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1518:23:1518:27 | 11i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1518:23:1518:36 | ... >= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | -| main.rs:1518:32:1518:36 | 12i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1521:13:1521:19 | i64_add | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1521:23:1521:27 | 13i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1521:23:1521:35 | ... + ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1521:31:1521:35 | 14i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1522:13:1522:19 | i64_sub | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1522:23:1522:27 | 15i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1522:23:1522:35 | ... - ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1522:31:1522:35 | 16i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1523:13:1523:19 | i64_mul | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1523:23:1523:27 | 17i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1523:23:1523:35 | ... * ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1523:31:1523:35 | 18i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1524:13:1524:19 | i64_div | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1524:23:1524:27 | 19i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1524:23:1524:35 | ... / ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1524:31:1524:35 | 20i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1525:13:1525:19 | i64_rem | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1525:23:1525:27 | 21i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1525:23:1525:35 | ... % ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1525:31:1525:35 | 22i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1528:13:1528:30 | mut i64_add_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1528:34:1528:38 | 23i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1529:9:1529:22 | i64_add_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1506:44:1506:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1513:13:1513:18 | i64_eq | | {EXTERNAL LOCATION} | bool | +| main.rs:1513:22:1513:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1513:23:1513:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1513:23:1513:34 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1513:31:1513:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:13:1514:18 | i64_ne | | {EXTERNAL LOCATION} | bool | +| main.rs:1514:22:1514:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1514:23:1514:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1514:23:1514:34 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1514:31:1514:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1515:13:1515:18 | i64_lt | | {EXTERNAL LOCATION} | bool | +| main.rs:1515:22:1515:34 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1515:23:1515:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1515:23:1515:33 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1515:30:1515:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1516:13:1516:18 | i64_le | | {EXTERNAL LOCATION} | bool | +| main.rs:1516:22:1516:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1516:23:1516:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1516:23:1516:34 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1516:31:1516:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1517:13:1517:18 | i64_gt | | {EXTERNAL LOCATION} | bool | +| main.rs:1517:22:1517:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1517:23:1517:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1517:23:1517:34 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1517:30:1517:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1518:13:1518:18 | i64_ge | | {EXTERNAL LOCATION} | bool | +| main.rs:1518:22:1518:37 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1518:23:1518:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1518:23:1518:36 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1518:32:1518:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1521:13:1521:19 | i64_add | | {EXTERNAL LOCATION} | i64 | +| main.rs:1521:23:1521:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1521:23:1521:35 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1521:31:1521:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1522:13:1522:19 | i64_sub | | {EXTERNAL LOCATION} | i64 | +| main.rs:1522:23:1522:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1522:23:1522:35 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1522:31:1522:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1523:13:1523:19 | i64_mul | | {EXTERNAL LOCATION} | i64 | +| main.rs:1523:23:1523:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1523:23:1523:35 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1523:31:1523:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1524:13:1524:19 | i64_div | | {EXTERNAL LOCATION} | i64 | +| main.rs:1524:23:1524:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1524:23:1524:35 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1524:31:1524:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1525:13:1525:19 | i64_rem | | {EXTERNAL LOCATION} | i64 | +| main.rs:1525:23:1525:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1525:23:1525:35 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1525:31:1525:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1528:13:1528:30 | mut i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1528:34:1528:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1529:9:1529:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1529:9:1529:31 | ... += ... | | file://:0:0:0:0 | () | -| main.rs:1529:27:1529:31 | 24i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1531:13:1531:30 | mut i64_sub_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1531:34:1531:38 | 25i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1532:9:1532:22 | i64_sub_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1529:27:1529:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1531:13:1531:30 | mut i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1531:34:1531:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1532:9:1532:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1532:9:1532:31 | ... -= ... | | file://:0:0:0:0 | () | -| main.rs:1532:27:1532:31 | 26i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1534:13:1534:30 | mut i64_mul_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1534:34:1534:38 | 27i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1535:9:1535:22 | i64_mul_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1532:27:1532:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1534:13:1534:30 | mut i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1534:34:1534:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1535:9:1535:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1535:9:1535:31 | ... *= ... | | file://:0:0:0:0 | () | -| main.rs:1535:27:1535:31 | 28i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1537:13:1537:30 | mut i64_div_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1537:34:1537:38 | 29i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1538:9:1538:22 | i64_div_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1535:27:1535:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1537:13:1537:30 | mut i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1537:34:1537:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1538:9:1538:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1538:9:1538:31 | ... /= ... | | file://:0:0:0:0 | () | -| main.rs:1538:27:1538:31 | 30i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1540:13:1540:30 | mut i64_rem_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1540:34:1540:38 | 31i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1541:9:1541:22 | i64_rem_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1538:27:1538:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1540:13:1540:30 | mut i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1540:34:1540:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1541:9:1541:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1541:9:1541:31 | ... %= ... | | file://:0:0:0:0 | () | -| main.rs:1541:27:1541:31 | 32i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1544:13:1544:22 | i64_bitand | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1544:26:1544:30 | 33i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1544:26:1544:38 | ... & ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1544:34:1544:38 | 34i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1545:13:1545:21 | i64_bitor | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1545:25:1545:29 | 35i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1545:25:1545:37 | ... \| ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1545:33:1545:37 | 36i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1546:13:1546:22 | i64_bitxor | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1546:26:1546:30 | 37i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1546:26:1546:38 | ... ^ ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1546:34:1546:38 | 38i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1547:13:1547:19 | i64_shl | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1547:23:1547:27 | 39i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1547:23:1547:36 | ... << ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1547:32:1547:36 | 40i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1548:13:1548:19 | i64_shr | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1548:23:1548:27 | 41i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1548:23:1548:36 | ... >> ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1548:32:1548:36 | 42i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1551:13:1551:33 | mut i64_bitand_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1551:37:1551:41 | 43i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1552:9:1552:25 | i64_bitand_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1541:27:1541:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1544:13:1544:22 | i64_bitand | | {EXTERNAL LOCATION} | i64 | +| main.rs:1544:26:1544:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1544:26:1544:38 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1544:34:1544:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:13:1545:21 | i64_bitor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:25:1545:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:25:1545:37 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:33:1545:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:13:1546:22 | i64_bitxor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:26:1546:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:26:1546:38 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:34:1546:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:13:1547:19 | i64_shl | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:23:1547:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:23:1547:36 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1547:32:1547:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:13:1548:19 | i64_shr | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:23:1548:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:23:1548:36 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1548:32:1548:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1551:13:1551:33 | mut i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1551:37:1551:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1552:9:1552:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1552:9:1552:34 | ... &= ... | | file://:0:0:0:0 | () | -| main.rs:1552:30:1552:34 | 44i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1554:13:1554:32 | mut i64_bitor_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1554:36:1554:40 | 45i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1555:9:1555:24 | i64_bitor_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1552:30:1552:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1554:13:1554:32 | mut i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1554:36:1554:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1555:9:1555:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1555:9:1555:33 | ... \|= ... | | file://:0:0:0:0 | () | -| main.rs:1555:29:1555:33 | 46i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1557:13:1557:33 | mut i64_bitxor_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1557:37:1557:41 | 47i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1558:9:1558:25 | i64_bitxor_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1555:29:1555:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1557:13:1557:33 | mut i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1557:37:1557:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1558:9:1558:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1558:9:1558:34 | ... ^= ... | | file://:0:0:0:0 | () | -| main.rs:1558:30:1558:34 | 48i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1560:13:1560:30 | mut i64_shl_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1560:34:1560:38 | 49i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1561:9:1561:22 | i64_shl_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1558:30:1558:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1560:13:1560:30 | mut i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1560:34:1560:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1561:9:1561:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1561:9:1561:32 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1561:28:1561:32 | 50i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1563:13:1563:30 | mut i64_shr_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1563:34:1563:38 | 51i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1564:9:1564:22 | i64_shr_assign | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1561:28:1561:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1563:13:1563:30 | mut i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1563:34:1563:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1564:9:1564:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | | main.rs:1564:9:1564:32 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1564:28:1564:32 | 52i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1566:13:1566:19 | i64_neg | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1566:23:1566:28 | - ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1566:24:1566:28 | 53i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1567:13:1567:19 | i64_not | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1567:23:1567:28 | ! ... | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1567:24:1567:28 | 54i64 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1564:28:1564:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1566:13:1566:19 | i64_neg | | {EXTERNAL LOCATION} | i64 | +| main.rs:1566:23:1566:28 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1566:24:1566:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1567:13:1567:19 | i64_not | | {EXTERNAL LOCATION} | i64 | +| main.rs:1567:23:1567:28 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1567:24:1567:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | | main.rs:1570:13:1570:14 | v1 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1570:18:1570:36 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1570:28:1570:28 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1570:28:1570:28 | 1 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1570:34:1570:34 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1570:34:1570:34 | 2 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | +| main.rs:1570:28:1570:28 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1570:28:1570:28 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1570:34:1570:34 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1570:34:1570:34 | 2 | | {EXTERNAL LOCATION} | i64 | | main.rs:1571:13:1571:14 | v2 | | file://:0:0:0:0 | & | | main.rs:1571:13:1571:14 | v2 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1571:13:1571:14 | v2 | &T | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1571:18:1571:36 | Vec2 {...} | | file://:0:0:0:0 | & | | main.rs:1571:18:1571:36 | Vec2 {...} | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1571:18:1571:36 | Vec2 {...} | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1571:28:1571:28 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1571:28:1571:28 | 3 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1571:34:1571:34 | 4 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 | -| main.rs:1571:34:1571:34 | 4 | | file:///BUILTINS/types.rs:13:1:13:15 | i64 | -| main.rs:1574:13:1574:19 | vec2_eq | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1571:28:1571:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1571:28:1571:28 | 3 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1571:34:1571:34 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1571:34:1571:34 | 4 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1574:13:1574:19 | vec2_eq | | {EXTERNAL LOCATION} | bool | | main.rs:1574:23:1574:24 | v1 | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1574:23:1574:30 | ... == ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1574:23:1574:30 | ... == ... | | {EXTERNAL LOCATION} | bool | | main.rs:1574:29:1574:30 | v2 | | file://:0:0:0:0 | & | | main.rs:1574:29:1574:30 | v2 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1574:29:1574:30 | v2 | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1575:13:1575:19 | vec2_ne | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1575:13:1575:19 | vec2_ne | | {EXTERNAL LOCATION} | bool | | main.rs:1575:23:1575:24 | v1 | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1575:23:1575:30 | ... != ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1575:23:1575:30 | ... != ... | | {EXTERNAL LOCATION} | bool | | main.rs:1575:29:1575:30 | v2 | | file://:0:0:0:0 | & | | main.rs:1575:29:1575:30 | v2 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1575:29:1575:30 | v2 | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1576:13:1576:19 | vec2_lt | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1576:13:1576:19 | vec2_lt | | {EXTERNAL LOCATION} | bool | | main.rs:1576:23:1576:24 | v1 | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1576:23:1576:29 | ... < ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1576:23:1576:29 | ... < ... | | {EXTERNAL LOCATION} | bool | | main.rs:1576:28:1576:29 | v2 | | file://:0:0:0:0 | & | | main.rs:1576:28:1576:29 | v2 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1576:28:1576:29 | v2 | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1577:13:1577:19 | vec2_le | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1577:13:1577:19 | vec2_le | | {EXTERNAL LOCATION} | bool | | main.rs:1577:23:1577:24 | v1 | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1577:23:1577:30 | ... <= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1577:23:1577:30 | ... <= ... | | {EXTERNAL LOCATION} | bool | | main.rs:1577:29:1577:30 | v2 | | file://:0:0:0:0 | & | | main.rs:1577:29:1577:30 | v2 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1577:29:1577:30 | v2 | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1578:13:1578:19 | vec2_gt | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1578:13:1578:19 | vec2_gt | | {EXTERNAL LOCATION} | bool | | main.rs:1578:23:1578:24 | v1 | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1578:23:1578:29 | ... > ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1578:23:1578:29 | ... > ... | | {EXTERNAL LOCATION} | bool | | main.rs:1578:28:1578:29 | v2 | | file://:0:0:0:0 | & | | main.rs:1578:28:1578:29 | v2 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1578:28:1578:29 | v2 | &T | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1579:13:1579:19 | vec2_ge | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1579:13:1579:19 | vec2_ge | | {EXTERNAL LOCATION} | bool | | main.rs:1579:23:1579:24 | v1 | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1579:23:1579:30 | ... >= ... | | file:///BUILTINS/types.rs:3:1:5:16 | bool | +| main.rs:1579:23:1579:30 | ... >= ... | | {EXTERNAL LOCATION} | bool | | main.rs:1579:29:1579:30 | v2 | | file://:0:0:0:0 | & | | main.rs:1579:29:1579:30 | v2 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1579:29:1579:30 | v2 | &T | main.rs:1278:5:1283:5 | Vec2 | @@ -2333,11 +2332,11 @@ inferType | main.rs:1608:13:1608:20 | vec2_shl | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1608:24:1608:25 | v1 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1608:24:1608:33 | ... << ... | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1608:30:1608:33 | 1u32 | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1608:30:1608:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | | main.rs:1609:13:1609:20 | vec2_shr | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1609:24:1609:25 | v1 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1609:24:1609:33 | ... >> ... | | main.rs:1278:5:1283:5 | Vec2 | -| main.rs:1609:30:1609:33 | 1u32 | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1609:30:1609:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | | main.rs:1612:13:1612:34 | mut vec2_bitand_assign | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1612:38:1612:39 | v1 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1613:9:1613:26 | vec2_bitand_assign | | main.rs:1278:5:1283:5 | Vec2 | @@ -2363,12 +2362,12 @@ inferType | main.rs:1621:35:1621:36 | v1 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1622:9:1622:23 | vec2_shl_assign | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1622:9:1622:32 | ... <<= ... | | file://:0:0:0:0 | () | -| main.rs:1622:29:1622:32 | 1u32 | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1622:29:1622:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | | main.rs:1624:13:1624:31 | mut vec2_shr_assign | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1624:35:1624:36 | v1 | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1625:9:1625:23 | vec2_shr_assign | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1625:9:1625:32 | ... >>= ... | | file://:0:0:0:0 | () | -| main.rs:1625:29:1625:32 | 1u32 | | file:///BUILTINS/types.rs:17:1:17:15 | u32 | +| main.rs:1625:29:1625:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | | main.rs:1628:13:1628:20 | vec2_neg | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1628:24:1628:26 | - ... | | main.rs:1278:5:1283:5 | Vec2 | | main.rs:1628:25:1628:26 | v1 | | main.rs:1278:5:1283:5 | Vec2 | @@ -2379,3 +2378,4 @@ inferType | main.rs:1636:5:1636:60 | ...::g(...) | | main.rs:67:5:67:21 | Foo | | main.rs:1636:20:1636:38 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo | | main.rs:1636:41:1636:59 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo | +testFailures diff --git a/rust/ql/test/library-tests/type-inference/type-inference.ql b/rust/ql/test/library-tests/type-inference/type-inference.ql index cea5839c6ad..e7c11bcaebf 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.ql +++ b/rust/ql/test/library-tests/type-inference/type-inference.ql @@ -3,22 +3,7 @@ import utils.test.InlineExpectationsTest import codeql.rust.internal.TypeInference as TypeInference import TypeInference -final private class TypeFinal = Type; - -class TypeLoc extends TypeFinal { - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - exists(string file | - this.getLocation().hasLocationInfo(file, startline, startcolumn, endline, endcolumn) and - filepath = - file.regexpReplaceAll("^/.*/tools/builtins/", "/BUILTINS/") - .regexpReplaceAll("^/.*/.rustup/toolchains/[^/]+/", "/RUSTUP_HOME/toolchain/") - ) - } -} - -query predicate inferType(AstNode n, TypePath path, TypeLoc t) { +query predicate inferType(AstNode n, TypePath path, Type t) { t = TypeInference::inferType(n, path) and n.fromSource() and not n.isFromMacroExpansion() diff --git a/rust/ql/test/library-tests/type-inference/type-inference.qlref b/rust/ql/test/library-tests/type-inference/type-inference.qlref new file mode 100644 index 00000000000..03d8a9288aa --- /dev/null +++ b/rust/ql/test/library-tests/type-inference/type-inference.qlref @@ -0,0 +1,2 @@ +query: type-inference.ql +postprocess: utils/test/ExternalLocationPostProcessing.ql \ No newline at end of file diff --git a/shared/util/codeql/util/test/ExternalLocationPostProcessing.qll b/shared/util/codeql/util/test/ExternalLocationPostProcessing.qll new file mode 100644 index 00000000000..2ebd2b45282 --- /dev/null +++ b/shared/util/codeql/util/test/ExternalLocationPostProcessing.qll @@ -0,0 +1,30 @@ +/** + * Provides logic for creating a `@kind test-postprocess` query that converts + * external locations to a special `{EXTERNAL LOCATION}` string. + * + * This is useful for writing tests that use real locations when executed in + * VS Code, but prevents the "Location is outside of test directory" warning + * when executed through `codeql test run`. + */ +module; + +external private predicate queryResults(string relation, int row, int column, string data); + +external private predicate queryRelations(string relation); + +private signature string getSourceLocationPrefixSig(); + +module Make { + query predicate results(string relation, int row, int column, string data) { + exists(string s | queryResults(relation, row, column, s) | + if + not s = "file://" + any(string suffix) or + s = "file://:0:0:0:0" or + s = getSourceLocationPrefix() + any(string suffix) + then data = s + else data = "{EXTERNAL LOCATION}" + ) + } + + query predicate resultRelations(string relation) { queryRelations(relation) } +} diff --git a/shared/util/codeql/util/test/InlineExpectationsTest.qll b/shared/util/codeql/util/test/InlineExpectationsTest.qll index 56ac6ea3227..fbbad8f25b7 100644 --- a/shared/util/codeql/util/test/InlineExpectationsTest.qll +++ b/shared/util/codeql/util/test/InlineExpectationsTest.qll @@ -627,11 +627,11 @@ private string mainResultSet() { result = ["#select", "problems"] } * to be matched. */ module TestPostProcessing { - external predicate queryResults(string relation, int row, int column, string data); + external private predicate queryResults(string relation, int row, int column, string data); - external predicate queryRelations(string relation); + external private predicate queryRelations(string relation); - external predicate queryMetadata(string key, string value); + external private predicate queryMetadata(string key, string value); private string getQueryId() { queryMetadata("id", result) }