mirror of
https://github.com/github/codeql.git
synced 2026-02-12 05:01:06 +01:00
Rust: Add type inference tests for closures and function traits
This commit is contained in:
@@ -68,6 +68,80 @@ mod fn_once_trait {
|
||||
}
|
||||
}
|
||||
|
||||
mod fn_mut_trait {
|
||||
fn return_type<F: FnMut(bool) -> i64>(mut f: F) {
|
||||
let _return = f(true); // $ MISSING: type=_return:i64
|
||||
}
|
||||
|
||||
fn return_type_omitted<F: FnMut(bool)>(mut f: F) {
|
||||
let _return = f(true); // $ MISSING: type=_return:()
|
||||
}
|
||||
|
||||
fn argument_type<F: FnMut(bool) -> i64>(mut f: F) {
|
||||
let arg = Default::default(); // $ MISSING: target=default type=arg:bool
|
||||
f(arg);
|
||||
}
|
||||
|
||||
fn apply<A, B, F: FnMut(A) -> B>(mut f: F, a: A) -> B {
|
||||
f(a)
|
||||
}
|
||||
|
||||
fn apply_two(mut f: impl FnMut(i64) -> i64) -> i64 {
|
||||
f(2)
|
||||
}
|
||||
|
||||
fn test() {
|
||||
let f = |x: bool| -> i64 {
|
||||
if x {
|
||||
1
|
||||
} else {
|
||||
0
|
||||
}
|
||||
};
|
||||
let _r = apply(f, true); // $ target=apply MISSING: type=_r:i64
|
||||
|
||||
let f = |x| x + 1; // $ MISSING: type=x:i64 target=add
|
||||
let _r2 = apply_two(f); // $ target=apply_two certainType=_r2:i64
|
||||
}
|
||||
}
|
||||
|
||||
mod fn_trait {
|
||||
fn return_type<F: Fn(bool) -> i64>(f: F) {
|
||||
let _return = f(true); // $ MISSING: type=_return:i64
|
||||
}
|
||||
|
||||
fn return_type_omitted<F: Fn(bool)>(f: F) {
|
||||
let _return = f(true); // $ MISSING: type=_return:()
|
||||
}
|
||||
|
||||
fn argument_type<F: Fn(bool) -> i64>(f: F) {
|
||||
let arg = Default::default(); // $ MISSING: target=default type=arg:bool
|
||||
f(arg);
|
||||
}
|
||||
|
||||
fn apply<A, B, F: Fn(A) -> B>(f: F, a: A) -> B {
|
||||
f(a)
|
||||
}
|
||||
|
||||
fn apply_two(f: impl Fn(i64) -> i64) -> i64 {
|
||||
f(2)
|
||||
}
|
||||
|
||||
fn test() {
|
||||
let f = |x: bool| -> i64 {
|
||||
if x {
|
||||
1
|
||||
} else {
|
||||
0
|
||||
}
|
||||
};
|
||||
let _r = apply(f, true); // $ target=apply MISSING: type=_r:i64
|
||||
|
||||
let f = |x| x + 1; // $ MISSING: type=x:i64 target=add
|
||||
let _r2 = apply_two(f); // $ target=apply_two certainType=_r2:i64
|
||||
}
|
||||
}
|
||||
|
||||
mod dyn_fn_once {
|
||||
fn apply_boxed<A, B, F: FnOnce(A) -> B + ?Sized>(f: Box<F>, arg: A) -> B {
|
||||
f(arg)
|
||||
|
||||
@@ -478,34 +478,84 @@ inferCertainType
|
||||
| closure.rs:64:27:64:30 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:67:13:67:15 | _r2 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:67:19:67:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:72:54:72:54 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:72:54:72:54 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:72:54:72:54 | f | T | closure.rs:72:26:72:51 | F |
|
||||
| closure.rs:72:65:72:67 | arg | | closure.rs:72:20:72:20 | A |
|
||||
| closure.rs:72:78:74:5 | { ... } | | closure.rs:72:23:72:23 | B |
|
||||
| closure.rs:73:9:73:9 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:73:9:73:9 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:73:9:73:9 | f | T | closure.rs:72:26:72:51 | F |
|
||||
| closure.rs:73:11:73:13 | arg | | closure.rs:72:20:72:20 | A |
|
||||
| closure.rs:76:30:76:30 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:76:30:76:30 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:76:30:76:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:76:30:76:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:76:30:76:30 | f | T.dyn(Args).T0 | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:76:30:76:30 | f | T.dyn(Output) | closure.rs:76:27:76:27 | B |
|
||||
| closure.rs:76:58:76:60 | arg | | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:76:66:79:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:77:31:77:31 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:77:31:77:31 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:77:31:77:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:77:31:77:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:77:31:77:31 | f | T.dyn(Args).T0 | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:77:31:77:31 | f | T.dyn(Output) | closure.rs:76:27:76:27 | B |
|
||||
| closure.rs:77:34:77:36 | arg | | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:78:41:78:41 | _ | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:78:49:78:52 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:72:47:72:47 | f | | closure.rs:72:20:72:40 | F |
|
||||
| closure.rs:72:53:74:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:73:23:73:23 | f | | closure.rs:72:20:72:40 | F |
|
||||
| closure.rs:73:25:73:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:76:48:76:48 | f | | closure.rs:76:28:76:41 | F |
|
||||
| closure.rs:76:54:78:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:77:23:77:23 | f | | closure.rs:76:28:76:41 | F |
|
||||
| closure.rs:77:25:77:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:80:49:80:49 | f | | closure.rs:80:22:80:42 | F |
|
||||
| closure.rs:80:55:83:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:82:9:82:9 | f | | closure.rs:80:22:80:42 | F |
|
||||
| closure.rs:85:42:85:42 | f | | closure.rs:85:20:85:35 | F |
|
||||
| closure.rs:85:48:85:48 | a | | closure.rs:85:14:85:14 | A |
|
||||
| closure.rs:85:59:87:5 | { ... } | | closure.rs:85:17:85:17 | B |
|
||||
| closure.rs:86:9:86:9 | f | | closure.rs:85:20:85:35 | F |
|
||||
| closure.rs:86:11:86:11 | a | | closure.rs:85:14:85:14 | A |
|
||||
| closure.rs:89:22:89:22 | f | | closure.rs:89:25:89:46 | impl ... |
|
||||
| closure.rs:89:56:91:5 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:90:9:90:9 | f | | closure.rs:89:25:89:46 | impl ... |
|
||||
| closure.rs:93:15:105:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:94:18:94:18 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:95:16:95:16 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:101:27:101:30 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:104:13:104:15 | _r2 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:104:19:104:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:109:40:109:40 | f | | closure.rs:109:20:109:37 | F |
|
||||
| closure.rs:109:46:111:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:110:23:110:23 | f | | closure.rs:109:20:109:37 | F |
|
||||
| closure.rs:110:25:110:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:113:41:113:41 | f | | closure.rs:113:28:113:38 | F |
|
||||
| closure.rs:113:47:115:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:114:23:114:23 | f | | closure.rs:113:28:113:38 | F |
|
||||
| closure.rs:114:25:114:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:117:42:117:42 | f | | closure.rs:117:22:117:39 | F |
|
||||
| closure.rs:117:48:120:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:119:9:119:9 | f | | closure.rs:117:22:117:39 | F |
|
||||
| closure.rs:122:35:122:35 | f | | closure.rs:122:20:122:32 | F |
|
||||
| closure.rs:122:41:122:41 | a | | closure.rs:122:14:122:14 | A |
|
||||
| closure.rs:122:52:124:5 | { ... } | | closure.rs:122:17:122:17 | B |
|
||||
| closure.rs:123:9:123:9 | f | | closure.rs:122:20:122:32 | F |
|
||||
| closure.rs:123:11:123:11 | a | | closure.rs:122:14:122:14 | A |
|
||||
| closure.rs:126:18:126:18 | f | | closure.rs:126:21:126:39 | impl ... |
|
||||
| closure.rs:126:49:128:5 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:127:9:127:9 | f | | closure.rs:126:21:126:39 | impl ... |
|
||||
| closure.rs:130:15:142:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:131:18:131:18 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:132:16:132:16 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:138:27:138:30 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:141:13:141:15 | _r2 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:141:19:141:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:146:54:146:54 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:146:54:146:54 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:146:54:146:54 | f | T | closure.rs:146:26:146:51 | F |
|
||||
| closure.rs:146:65:146:67 | arg | | closure.rs:146:20:146:20 | A |
|
||||
| closure.rs:146:78:148:5 | { ... } | | closure.rs:146:23:146:23 | B |
|
||||
| closure.rs:147:9:147:9 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:147:9:147:9 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:147:9:147:9 | f | T | closure.rs:146:26:146:51 | F |
|
||||
| closure.rs:147:11:147:13 | arg | | closure.rs:146:20:146:20 | A |
|
||||
| closure.rs:150:30:150:30 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:150:30:150:30 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:150:30:150:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:150:30:150:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:150:30:150:30 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:150:30:150:30 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B |
|
||||
| closure.rs:150:58:150:60 | arg | | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:150:66:153:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:151:31:151:31 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:151:31:151:31 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:151:31:151:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:151:31:151:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:151:31:151:31 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:151:31:151:31 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B |
|
||||
| closure.rs:151:34:151:36 | arg | | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:152:41:152:41 | _ | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:152:49:152:52 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| dereference.rs:13:14:13:18 | SelfParam | | {EXTERNAL LOCATION} | & |
|
||||
| dereference.rs:13:14:13:18 | SelfParam | TRef | dereference.rs:5:1:7:1 | MyIntPointer |
|
||||
| dereference.rs:13:29:15:5 | { ... } | | {EXTERNAL LOCATION} | & |
|
||||
@@ -5546,48 +5596,172 @@ inferType
|
||||
| closure.rs:67:19:67:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:67:29:67:29 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:67:29:67:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:72:54:72:54 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:72:54:72:54 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:72:54:72:54 | f | T | closure.rs:72:26:72:51 | F |
|
||||
| closure.rs:72:65:72:67 | arg | | closure.rs:72:20:72:20 | A |
|
||||
| closure.rs:72:78:74:5 | { ... } | | closure.rs:72:23:72:23 | B |
|
||||
| closure.rs:73:9:73:9 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:73:9:73:9 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:73:9:73:9 | f | T | closure.rs:72:26:72:51 | F |
|
||||
| closure.rs:73:9:73:14 | f(...) | | closure.rs:72:23:72:23 | B |
|
||||
| closure.rs:73:11:73:13 | arg | | closure.rs:72:20:72:20 | A |
|
||||
| closure.rs:76:30:76:30 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:76:30:76:30 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:76:30:76:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:76:30:76:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:76:30:76:30 | f | T.dyn(Args).T0 | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:76:30:76:30 | f | T.dyn(Output) | closure.rs:76:27:76:27 | B |
|
||||
| closure.rs:76:58:76:60 | arg | | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:76:66:79:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:77:13:77:15 | _r1 | | closure.rs:76:27:76:27 | B |
|
||||
| closure.rs:77:19:77:37 | apply_boxed(...) | | closure.rs:76:27:76:27 | B |
|
||||
| closure.rs:77:31:77:31 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:77:31:77:31 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:77:31:77:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:77:31:77:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:77:31:77:31 | f | T.dyn(Args).T0 | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:77:31:77:31 | f | T.dyn(Output) | closure.rs:76:27:76:27 | B |
|
||||
| closure.rs:77:34:77:36 | arg | | closure.rs:76:24:76:24 | A |
|
||||
| closure.rs:78:13:78:15 | _r2 | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:78:19:78:57 | apply_boxed(...) | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | T.dyn(Args).T0 | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:78:31:78:53 | ...::new(...) | T.dyn(Output) | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:78:40:78:52 | \|...\| true | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:78:40:78:52 | \|...\| true | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:78:40:78:52 | \|...\| true | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:78:40:78:52 | \|...\| true | dyn(Output) | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:78:41:78:41 | _ | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:78:49:78:52 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:78:56:78:56 | 3 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:72:47:72:47 | f | | closure.rs:72:20:72:40 | F |
|
||||
| closure.rs:72:53:74:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:73:23:73:23 | f | | closure.rs:72:20:72:40 | F |
|
||||
| closure.rs:73:25:73:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:76:48:76:48 | f | | closure.rs:76:28:76:41 | F |
|
||||
| closure.rs:76:54:78:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:77:23:77:23 | f | | closure.rs:76:28:76:41 | F |
|
||||
| closure.rs:77:25:77:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:80:49:80:49 | f | | closure.rs:80:22:80:42 | F |
|
||||
| closure.rs:80:55:83:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:82:9:82:9 | f | | closure.rs:80:22:80:42 | F |
|
||||
| closure.rs:85:42:85:42 | f | | closure.rs:85:20:85:35 | F |
|
||||
| closure.rs:85:48:85:48 | a | | closure.rs:85:14:85:14 | A |
|
||||
| closure.rs:85:59:87:5 | { ... } | | closure.rs:85:17:85:17 | B |
|
||||
| closure.rs:86:9:86:9 | f | | closure.rs:85:20:85:35 | F |
|
||||
| closure.rs:86:9:86:12 | f(...) | | closure.rs:85:17:85:17 | B |
|
||||
| closure.rs:86:11:86:11 | a | | closure.rs:85:14:85:14 | A |
|
||||
| closure.rs:89:22:89:22 | f | | closure.rs:89:25:89:46 | impl ... |
|
||||
| closure.rs:89:56:91:5 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:90:9:90:9 | f | | closure.rs:89:25:89:46 | impl ... |
|
||||
| closure.rs:90:9:90:12 | f(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:90:11:90:11 | 2 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:93:15:105:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:94:13:94:13 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:94:13:94:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:94:13:94:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:94:13:94:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:94:13:94:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:94:17:100:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:94:17:100:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:94:17:100:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:94:17:100:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:94:17:100:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:94:18:94:18 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:94:34:100:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:94:34:100:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:95:13:99:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:95:13:99:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:95:16:95:16 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:95:18:97:13 | { ... } | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:95:18:97:13 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:96:17:96:17 | 1 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:96:17:96:17 | 1 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:97:20:99:13 | { ... } | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:97:20:99:13 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:98:17:98:17 | 0 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:98:17:98:17 | 0 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:101:24:101:24 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:101:24:101:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:101:24:101:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:101:24:101:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:101:24:101:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:101:27:101:30 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:103:13:103:13 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:103:13:103:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:103:17:103:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:103:17:103:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:103:25:103:25 | 1 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:104:13:104:15 | _r2 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:104:19:104:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:104:29:104:29 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:104:29:104:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:109:40:109:40 | f | | closure.rs:109:20:109:37 | F |
|
||||
| closure.rs:109:46:111:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:110:23:110:23 | f | | closure.rs:109:20:109:37 | F |
|
||||
| closure.rs:110:25:110:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:113:41:113:41 | f | | closure.rs:113:28:113:38 | F |
|
||||
| closure.rs:113:47:115:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:114:23:114:23 | f | | closure.rs:113:28:113:38 | F |
|
||||
| closure.rs:114:25:114:28 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:117:42:117:42 | f | | closure.rs:117:22:117:39 | F |
|
||||
| closure.rs:117:48:120:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:119:9:119:9 | f | | closure.rs:117:22:117:39 | F |
|
||||
| closure.rs:122:35:122:35 | f | | closure.rs:122:20:122:32 | F |
|
||||
| closure.rs:122:41:122:41 | a | | closure.rs:122:14:122:14 | A |
|
||||
| closure.rs:122:52:124:5 | { ... } | | closure.rs:122:17:122:17 | B |
|
||||
| closure.rs:123:9:123:9 | f | | closure.rs:122:20:122:32 | F |
|
||||
| closure.rs:123:9:123:12 | f(...) | | closure.rs:122:17:122:17 | B |
|
||||
| closure.rs:123:11:123:11 | a | | closure.rs:122:14:122:14 | A |
|
||||
| closure.rs:126:18:126:18 | f | | closure.rs:126:21:126:39 | impl ... |
|
||||
| closure.rs:126:49:128:5 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:127:9:127:9 | f | | closure.rs:126:21:126:39 | impl ... |
|
||||
| closure.rs:127:9:127:12 | f(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:127:11:127:11 | 2 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:130:15:142:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:131:13:131:13 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:131:13:131:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:131:13:131:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:131:13:131:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:131:13:131:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:131:17:137:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:131:17:137:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:131:17:137:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:131:17:137:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:131:17:137:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:131:18:131:18 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:131:34:137:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:131:34:137:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:132:13:136:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:132:13:136:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:132:16:132:16 | x | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:132:18:134:13 | { ... } | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:132:18:134:13 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:133:17:133:17 | 1 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:133:17:133:17 | 1 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:134:20:136:13 | { ... } | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:134:20:136:13 | { ... } | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:135:17:135:17 | 0 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:135:17:135:17 | 0 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:138:24:138:24 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:138:24:138:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:138:24:138:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:138:24:138:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:138:24:138:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:138:27:138:30 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:140:13:140:13 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:140:13:140:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:140:17:140:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:140:17:140:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:140:25:140:25 | 1 | | {EXTERNAL LOCATION} | i32 |
|
||||
| closure.rs:141:13:141:15 | _r2 | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:141:19:141:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:141:29:141:29 | f | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:141:29:141:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:146:54:146:54 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:146:54:146:54 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:146:54:146:54 | f | T | closure.rs:146:26:146:51 | F |
|
||||
| closure.rs:146:65:146:67 | arg | | closure.rs:146:20:146:20 | A |
|
||||
| closure.rs:146:78:148:5 | { ... } | | closure.rs:146:23:146:23 | B |
|
||||
| closure.rs:147:9:147:9 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:147:9:147:9 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:147:9:147:9 | f | T | closure.rs:146:26:146:51 | F |
|
||||
| closure.rs:147:9:147:14 | f(...) | | closure.rs:146:23:146:23 | B |
|
||||
| closure.rs:147:11:147:13 | arg | | closure.rs:146:20:146:20 | A |
|
||||
| closure.rs:150:30:150:30 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:150:30:150:30 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:150:30:150:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:150:30:150:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:150:30:150:30 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:150:30:150:30 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B |
|
||||
| closure.rs:150:58:150:60 | arg | | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:150:66:153:5 | { ... } | | {EXTERNAL LOCATION} | () |
|
||||
| closure.rs:151:13:151:15 | _r1 | | closure.rs:150:27:150:27 | B |
|
||||
| closure.rs:151:19:151:37 | apply_boxed(...) | | closure.rs:150:27:150:27 | B |
|
||||
| closure.rs:151:31:151:31 | f | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:151:31:151:31 | f | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:151:31:151:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:151:31:151:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:151:31:151:31 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:151:31:151:31 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B |
|
||||
| closure.rs:151:34:151:36 | arg | | closure.rs:150:24:150:24 | A |
|
||||
| closure.rs:152:13:152:15 | _r2 | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:152:19:152:57 | apply_boxed(...) | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | T | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | T.dyn(Args).T0 | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:152:31:152:53 | ...::new(...) | T.dyn(Output) | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:152:40:152:52 | \|...\| true | | {EXTERNAL LOCATION} | dyn FnOnce |
|
||||
| closure.rs:152:40:152:52 | \|...\| true | dyn(Args) | {EXTERNAL LOCATION} | (T_1) |
|
||||
| closure.rs:152:40:152:52 | \|...\| true | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:152:40:152:52 | \|...\| true | dyn(Output) | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:152:41:152:41 | _ | | {EXTERNAL LOCATION} | i64 |
|
||||
| closure.rs:152:49:152:52 | true | | {EXTERNAL LOCATION} | bool |
|
||||
| closure.rs:152:56:152:56 | 3 | | {EXTERNAL LOCATION} | i32 |
|
||||
| dereference.rs:13:14:13:18 | SelfParam | | {EXTERNAL LOCATION} | & |
|
||||
| dereference.rs:13:14:13:18 | SelfParam | TRef | dereference.rs:5:1:7:1 | MyIntPointer |
|
||||
| dereference.rs:13:29:15:5 | { ... } | | {EXTERNAL LOCATION} | & |
|
||||
|
||||
Reference in New Issue
Block a user