Skip to content

Commit d09bc13

Browse files
committed
Rust: More type inference tests
1 parent f2b2198 commit d09bc13

File tree

3 files changed

+314
-0
lines changed

3 files changed

+314
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11
multipleResolvedTargets
22
| main.rs:2720:13:2720:17 | x.f() |
3+
| overloading.rs:197:22:197:30 | x.g(...) |
4+
| overloading.rs:243:9:243:25 | ...::Assoc(...) |
5+
| overloading.rs:244:9:244:26 | ...::Assoc(...) |
6+
| overloading.rs:247:9:247:26 | ...::f(...) |
7+
| overloading.rs:248:9:248:22 | ...::f(...) |

rust/ql/test/library-tests/type-inference/overloading.rs

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,3 +150,140 @@ pub mod impl_overlap {
150150
S5::m(&S5(true)); // $ target=MyTrait1::m
151151
}
152152
}
153+
154+
mod impl_overlap2 {
155+
trait Trait1<T1> {
156+
fn f(self, x: T1) -> T1;
157+
}
158+
159+
impl Trait1<i32> for i32 {
160+
// f1
161+
fn f(self, x: i32) -> i32 {
162+
0
163+
}
164+
}
165+
166+
impl Trait1<i64> for i32 {
167+
// f2
168+
fn f(self, x: i64) -> i64 {
169+
0
170+
}
171+
}
172+
173+
trait Trait2<T1, T2> {
174+
fn g(self, x: T1) -> T2;
175+
}
176+
177+
impl Trait2<i32, i32> for i32 {
178+
// g3
179+
fn g(self, x: i32) -> i32 {
180+
0
181+
}
182+
}
183+
184+
impl Trait2<i32, i64> for i32 {
185+
// g4
186+
fn g(self, x: i32) -> i64 {
187+
0
188+
}
189+
}
190+
191+
fn f() {
192+
let x = 0;
193+
let y = x.f(0i32); // $ target=f1
194+
let z: i32 = x.f(Default::default()); // $ MISSING: target=f1 target=default
195+
let z = x.f(0i64); // $ target=f2
196+
let z: i64 = x.f(Default::default()); // $ MISSING: target=f2 target=default
197+
let z: i64 = x.g(0i32); // $ target=g4 $ SPURIOUS: target=g3
198+
}
199+
}
200+
201+
mod impl_overlap3 {
202+
trait Trait {
203+
type Assoc;
204+
205+
fn Assoc() -> Self::Assoc;
206+
}
207+
208+
struct S<T>(T);
209+
210+
impl Trait for S<i32> {
211+
type Assoc = i32;
212+
213+
// S3i32AssocFunc
214+
fn Assoc() -> Self::Assoc {
215+
0
216+
}
217+
}
218+
219+
impl Trait for S<bool> {
220+
type Assoc = bool;
221+
222+
// S3boolAssocFunc
223+
fn Assoc() -> Self::Assoc {
224+
true
225+
}
226+
}
227+
228+
impl S<i32> {
229+
// S3i32f
230+
fn f(x: i32) -> i32 {
231+
0
232+
}
233+
}
234+
235+
impl S<bool> {
236+
// S3boolf
237+
fn f(x: bool) -> bool {
238+
true
239+
}
240+
}
241+
242+
fn f() {
243+
S::<i32>::Assoc(); // $ target=S3i32AssocFunc $ SPURIOUS: target=S3boolAssocFunc
244+
S::<bool>::Assoc(); // $ target=S3boolAssocFunc $ SPURIOUS: target=S3i32AssocFunc
245+
246+
// `S::f(true)` results in "multiple applicable items in scope", even though the argument is actually enough to disambiguate
247+
S::<bool>::f(true); // $ target=S3boolf $ SPURIOUS: target=S3i32f
248+
S::<i32>::f(0); // $ target=S3i32f $ SPURIOUS: target=S3boolf
249+
}
250+
}
251+
252+
mod default_type_args {
253+
struct S<T = i64>(T);
254+
255+
trait MyTrait {
256+
type AssocType;
257+
258+
fn g(self) -> Self::AssocType;
259+
}
260+
261+
impl S {
262+
fn f(self) -> i64 {
263+
self.0 // $ fieldof=S
264+
}
265+
266+
fn g(self) -> i64 {
267+
self.0 // $ fieldof=S
268+
}
269+
}
270+
271+
impl S<bool> {
272+
fn g(self) -> bool {
273+
self.0 // $ fieldof=S
274+
}
275+
}
276+
277+
impl<T> MyTrait for S<T> {
278+
type AssocType = S;
279+
280+
fn g(self) -> S {
281+
let x = S::f(S(Default::default())); // $ type=x:i64 $ MISSING: target=f target=default
282+
let x = Self::AssocType::f(S(Default::default())); // $ target=f target=default type=x:i64
283+
let x = S::<bool>::g(S(Default::default())); // $ target=g target=default type=x:bool
284+
let x = S::<i64>::g(S(Default::default())); // $ target=g target=default type=x:i64
285+
let x = Self::AssocType::g(S(Default::default())); // $ target=g target=default type=x:i64
286+
S(0)
287+
}
288+
}
289+
}

rust/ql/test/library-tests/type-inference/type-inference.expected

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3845,6 +3845,63 @@ inferCertainType
38453845
| overloading.rs:150:9:150:24 | ...::m(...) | | {EXTERNAL LOCATION} | () |
38463846
| overloading.rs:150:15:150:23 | &... | | {EXTERNAL LOCATION} | & |
38473847
| overloading.rs:150:19:150:22 | true | | {EXTERNAL LOCATION} | bool |
3848+
| overloading.rs:156:14:156:17 | SelfParam | | overloading.rs:155:5:157:5 | Self [trait Trait1] |
3849+
| overloading.rs:156:20:156:20 | x | | overloading.rs:155:18:155:19 | T1 |
3850+
| overloading.rs:161:14:161:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
3851+
| overloading.rs:161:20:161:20 | x | | {EXTERNAL LOCATION} | i32 |
3852+
| overloading.rs:161:35:163:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
3853+
| overloading.rs:168:14:168:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
3854+
| overloading.rs:168:20:168:20 | x | | {EXTERNAL LOCATION} | i64 |
3855+
| overloading.rs:168:35:170:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
3856+
| overloading.rs:174:14:174:17 | SelfParam | | overloading.rs:173:5:175:5 | Self [trait Trait2] |
3857+
| overloading.rs:174:20:174:20 | x | | overloading.rs:173:18:173:19 | T1 |
3858+
| overloading.rs:179:14:179:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
3859+
| overloading.rs:179:20:179:20 | x | | {EXTERNAL LOCATION} | i32 |
3860+
| overloading.rs:179:35:181:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
3861+
| overloading.rs:186:14:186:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
3862+
| overloading.rs:186:20:186:20 | x | | {EXTERNAL LOCATION} | i32 |
3863+
| overloading.rs:186:35:188:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
3864+
| overloading.rs:191:12:198:5 | { ... } | | {EXTERNAL LOCATION} | () |
3865+
| overloading.rs:193:21:193:24 | 0i32 | | {EXTERNAL LOCATION} | i32 |
3866+
| overloading.rs:194:13:194:13 | z | | {EXTERNAL LOCATION} | i32 |
3867+
| overloading.rs:195:21:195:24 | 0i64 | | {EXTERNAL LOCATION} | i64 |
3868+
| overloading.rs:196:13:196:13 | z | | {EXTERNAL LOCATION} | i64 |
3869+
| overloading.rs:197:13:197:13 | z | | {EXTERNAL LOCATION} | i64 |
3870+
| overloading.rs:197:26:197:29 | 0i32 | | {EXTERNAL LOCATION} | i32 |
3871+
| overloading.rs:214:35:216:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
3872+
| overloading.rs:223:35:225:9 | { ... } | | {EXTERNAL LOCATION} | bool |
3873+
| overloading.rs:224:13:224:16 | true | | {EXTERNAL LOCATION} | bool |
3874+
| overloading.rs:230:14:230:14 | x | | {EXTERNAL LOCATION} | i32 |
3875+
| overloading.rs:230:29:232:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
3876+
| overloading.rs:237:14:237:14 | x | | {EXTERNAL LOCATION} | bool |
3877+
| overloading.rs:237:31:239:9 | { ... } | | {EXTERNAL LOCATION} | bool |
3878+
| overloading.rs:238:13:238:16 | true | | {EXTERNAL LOCATION} | bool |
3879+
| overloading.rs:242:12:249:5 | { ... } | | {EXTERNAL LOCATION} | () |
3880+
| overloading.rs:247:22:247:25 | true | | {EXTERNAL LOCATION} | bool |
3881+
| overloading.rs:258:14:258:17 | SelfParam | | overloading.rs:255:5:259:5 | Self [trait MyTrait] |
3882+
| overloading.rs:262:14:262:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
3883+
| overloading.rs:262:14:262:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 |
3884+
| overloading.rs:262:27:264:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
3885+
| overloading.rs:263:13:263:16 | self | | overloading.rs:253:5:253:25 | S |
3886+
| overloading.rs:263:13:263:16 | self | T | {EXTERNAL LOCATION} | i64 |
3887+
| overloading.rs:266:14:266:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
3888+
| overloading.rs:266:14:266:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 |
3889+
| overloading.rs:266:27:268:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
3890+
| overloading.rs:267:13:267:16 | self | | overloading.rs:253:5:253:25 | S |
3891+
| overloading.rs:267:13:267:16 | self | T | {EXTERNAL LOCATION} | i64 |
3892+
| overloading.rs:272:14:272:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
3893+
| overloading.rs:272:14:272:17 | SelfParam | T | {EXTERNAL LOCATION} | bool |
3894+
| overloading.rs:272:28:274:9 | { ... } | | {EXTERNAL LOCATION} | bool |
3895+
| overloading.rs:273:13:273:16 | self | | overloading.rs:253:5:253:25 | S |
3896+
| overloading.rs:273:13:273:16 | self | T | {EXTERNAL LOCATION} | bool |
3897+
| overloading.rs:280:14:280:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
3898+
| overloading.rs:280:14:280:17 | SelfParam | T | overloading.rs:277:10:277:10 | T |
3899+
| overloading.rs:280:25:287:9 | { ... } | | overloading.rs:253:5:253:25 | S |
3900+
| overloading.rs:280:25:287:9 | { ... } | T | {EXTERNAL LOCATION} | i64 |
3901+
| overloading.rs:281:17:281:17 | x | | {EXTERNAL LOCATION} | i64 |
3902+
| overloading.rs:281:21:281:47 | ...::f(...) | | {EXTERNAL LOCATION} | i64 |
3903+
| overloading.rs:282:17:282:17 | x | | {EXTERNAL LOCATION} | i64 |
3904+
| overloading.rs:282:21:282:61 | ...::f(...) | | {EXTERNAL LOCATION} | i64 |
38483905
| pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option |
38493906
| pattern_matching.rs:13:26:133:1 | { ... } | T | {EXTERNAL LOCATION} | () |
38503907
| pattern_matching.rs:15:5:18:5 | if ... {...} | | {EXTERNAL LOCATION} | () |
@@ -12137,6 +12194,121 @@ inferType
1213712194
| overloading.rs:150:16:150:23 | S5(...) | | overloading.rs:111:5:112:22 | S5 |
1213812195
| overloading.rs:150:16:150:23 | S5(...) | T5 | {EXTERNAL LOCATION} | bool |
1213912196
| overloading.rs:150:19:150:22 | true | | {EXTERNAL LOCATION} | bool |
12197+
| overloading.rs:156:14:156:17 | SelfParam | | overloading.rs:155:5:157:5 | Self [trait Trait1] |
12198+
| overloading.rs:156:20:156:20 | x | | overloading.rs:155:18:155:19 | T1 |
12199+
| overloading.rs:161:14:161:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
12200+
| overloading.rs:161:20:161:20 | x | | {EXTERNAL LOCATION} | i32 |
12201+
| overloading.rs:161:35:163:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
12202+
| overloading.rs:162:13:162:13 | 0 | | {EXTERNAL LOCATION} | i32 |
12203+
| overloading.rs:168:14:168:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
12204+
| overloading.rs:168:20:168:20 | x | | {EXTERNAL LOCATION} | i64 |
12205+
| overloading.rs:168:35:170:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
12206+
| overloading.rs:169:13:169:13 | 0 | | {EXTERNAL LOCATION} | i32 |
12207+
| overloading.rs:169:13:169:13 | 0 | | {EXTERNAL LOCATION} | i64 |
12208+
| overloading.rs:174:14:174:17 | SelfParam | | overloading.rs:173:5:175:5 | Self [trait Trait2] |
12209+
| overloading.rs:174:20:174:20 | x | | overloading.rs:173:18:173:19 | T1 |
12210+
| overloading.rs:179:14:179:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
12211+
| overloading.rs:179:20:179:20 | x | | {EXTERNAL LOCATION} | i32 |
12212+
| overloading.rs:179:35:181:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
12213+
| overloading.rs:180:13:180:13 | 0 | | {EXTERNAL LOCATION} | i32 |
12214+
| overloading.rs:186:14:186:17 | SelfParam | | {EXTERNAL LOCATION} | i32 |
12215+
| overloading.rs:186:20:186:20 | x | | {EXTERNAL LOCATION} | i32 |
12216+
| overloading.rs:186:35:188:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
12217+
| overloading.rs:187:13:187:13 | 0 | | {EXTERNAL LOCATION} | i32 |
12218+
| overloading.rs:187:13:187:13 | 0 | | {EXTERNAL LOCATION} | i64 |
12219+
| overloading.rs:191:12:198:5 | { ... } | | {EXTERNAL LOCATION} | () |
12220+
| overloading.rs:192:13:192:13 | x | | {EXTERNAL LOCATION} | i32 |
12221+
| overloading.rs:192:17:192:17 | 0 | | {EXTERNAL LOCATION} | i32 |
12222+
| overloading.rs:193:13:193:13 | y | | {EXTERNAL LOCATION} | i32 |
12223+
| overloading.rs:193:17:193:17 | x | | {EXTERNAL LOCATION} | i32 |
12224+
| overloading.rs:193:17:193:25 | x.f(...) | | {EXTERNAL LOCATION} | i32 |
12225+
| overloading.rs:193:21:193:24 | 0i32 | | {EXTERNAL LOCATION} | i32 |
12226+
| overloading.rs:194:13:194:13 | z | | {EXTERNAL LOCATION} | i32 |
12227+
| overloading.rs:194:22:194:22 | x | | {EXTERNAL LOCATION} | i32 |
12228+
| overloading.rs:194:22:194:44 | x.f(...) | | {EXTERNAL LOCATION} | i32 |
12229+
| overloading.rs:195:13:195:13 | z | | {EXTERNAL LOCATION} | i64 |
12230+
| overloading.rs:195:17:195:17 | x | | {EXTERNAL LOCATION} | i32 |
12231+
| overloading.rs:195:17:195:25 | x.f(...) | | {EXTERNAL LOCATION} | i64 |
12232+
| overloading.rs:195:21:195:24 | 0i64 | | {EXTERNAL LOCATION} | i64 |
12233+
| overloading.rs:196:13:196:13 | z | | {EXTERNAL LOCATION} | i64 |
12234+
| overloading.rs:196:22:196:22 | x | | {EXTERNAL LOCATION} | i32 |
12235+
| overloading.rs:196:22:196:44 | x.f(...) | | {EXTERNAL LOCATION} | i64 |
12236+
| overloading.rs:197:13:197:13 | z | | {EXTERNAL LOCATION} | i64 |
12237+
| overloading.rs:197:22:197:22 | x | | {EXTERNAL LOCATION} | i32 |
12238+
| overloading.rs:197:22:197:30 | x.g(...) | | {EXTERNAL LOCATION} | i32 |
12239+
| overloading.rs:197:22:197:30 | x.g(...) | | {EXTERNAL LOCATION} | i64 |
12240+
| overloading.rs:197:26:197:29 | 0i32 | | {EXTERNAL LOCATION} | i32 |
12241+
| overloading.rs:214:35:216:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
12242+
| overloading.rs:215:13:215:13 | 0 | | {EXTERNAL LOCATION} | i32 |
12243+
| overloading.rs:223:35:225:9 | { ... } | | {EXTERNAL LOCATION} | bool |
12244+
| overloading.rs:224:13:224:16 | true | | {EXTERNAL LOCATION} | bool |
12245+
| overloading.rs:230:14:230:14 | x | | {EXTERNAL LOCATION} | i32 |
12246+
| overloading.rs:230:29:232:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
12247+
| overloading.rs:231:13:231:13 | 0 | | {EXTERNAL LOCATION} | i32 |
12248+
| overloading.rs:237:14:237:14 | x | | {EXTERNAL LOCATION} | bool |
12249+
| overloading.rs:237:31:239:9 | { ... } | | {EXTERNAL LOCATION} | bool |
12250+
| overloading.rs:238:13:238:16 | true | | {EXTERNAL LOCATION} | bool |
12251+
| overloading.rs:242:12:249:5 | { ... } | | {EXTERNAL LOCATION} | () |
12252+
| overloading.rs:243:9:243:25 | ...::Assoc(...) | | {EXTERNAL LOCATION} | bool |
12253+
| overloading.rs:243:9:243:25 | ...::Assoc(...) | | {EXTERNAL LOCATION} | i32 |
12254+
| overloading.rs:244:9:244:26 | ...::Assoc(...) | | {EXTERNAL LOCATION} | bool |
12255+
| overloading.rs:244:9:244:26 | ...::Assoc(...) | | {EXTERNAL LOCATION} | i32 |
12256+
| overloading.rs:247:9:247:26 | ...::f(...) | | {EXTERNAL LOCATION} | bool |
12257+
| overloading.rs:247:9:247:26 | ...::f(...) | | {EXTERNAL LOCATION} | i32 |
12258+
| overloading.rs:247:22:247:25 | true | | {EXTERNAL LOCATION} | bool |
12259+
| overloading.rs:248:9:248:22 | ...::f(...) | | {EXTERNAL LOCATION} | bool |
12260+
| overloading.rs:248:9:248:22 | ...::f(...) | | {EXTERNAL LOCATION} | i32 |
12261+
| overloading.rs:248:21:248:21 | 0 | | {EXTERNAL LOCATION} | i32 |
12262+
| overloading.rs:258:14:258:17 | SelfParam | | overloading.rs:255:5:259:5 | Self [trait MyTrait] |
12263+
| overloading.rs:262:14:262:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
12264+
| overloading.rs:262:14:262:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 |
12265+
| overloading.rs:262:27:264:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
12266+
| overloading.rs:263:13:263:16 | self | | overloading.rs:253:5:253:25 | S |
12267+
| overloading.rs:263:13:263:16 | self | T | {EXTERNAL LOCATION} | i64 |
12268+
| overloading.rs:263:13:263:18 | self.0 | | {EXTERNAL LOCATION} | i64 |
12269+
| overloading.rs:266:14:266:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
12270+
| overloading.rs:266:14:266:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 |
12271+
| overloading.rs:266:27:268:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
12272+
| overloading.rs:267:13:267:16 | self | | overloading.rs:253:5:253:25 | S |
12273+
| overloading.rs:267:13:267:16 | self | T | {EXTERNAL LOCATION} | i64 |
12274+
| overloading.rs:267:13:267:18 | self.0 | | {EXTERNAL LOCATION} | i64 |
12275+
| overloading.rs:272:14:272:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
12276+
| overloading.rs:272:14:272:17 | SelfParam | T | {EXTERNAL LOCATION} | bool |
12277+
| overloading.rs:272:28:274:9 | { ... } | | {EXTERNAL LOCATION} | bool |
12278+
| overloading.rs:273:13:273:16 | self | | overloading.rs:253:5:253:25 | S |
12279+
| overloading.rs:273:13:273:16 | self | T | {EXTERNAL LOCATION} | bool |
12280+
| overloading.rs:273:13:273:18 | self.0 | | {EXTERNAL LOCATION} | bool |
12281+
| overloading.rs:280:14:280:17 | SelfParam | | overloading.rs:253:5:253:25 | S |
12282+
| overloading.rs:280:14:280:17 | SelfParam | T | overloading.rs:277:10:277:10 | T |
12283+
| overloading.rs:280:25:287:9 | { ... } | | overloading.rs:253:5:253:25 | S |
12284+
| overloading.rs:280:25:287:9 | { ... } | T | {EXTERNAL LOCATION} | i64 |
12285+
| overloading.rs:281:17:281:17 | x | | {EXTERNAL LOCATION} | i64 |
12286+
| overloading.rs:281:21:281:47 | ...::f(...) | | {EXTERNAL LOCATION} | i64 |
12287+
| overloading.rs:281:26:281:46 | S(...) | | overloading.rs:253:5:253:25 | S |
12288+
| overloading.rs:282:17:282:17 | x | | {EXTERNAL LOCATION} | i64 |
12289+
| overloading.rs:282:21:282:61 | ...::f(...) | | {EXTERNAL LOCATION} | i64 |
12290+
| overloading.rs:282:40:282:60 | S(...) | | overloading.rs:253:5:253:25 | S |
12291+
| overloading.rs:282:40:282:60 | S(...) | T | {EXTERNAL LOCATION} | i64 |
12292+
| overloading.rs:282:42:282:59 | ...::default(...) | | {EXTERNAL LOCATION} | i64 |
12293+
| overloading.rs:283:17:283:17 | x | | {EXTERNAL LOCATION} | bool |
12294+
| overloading.rs:283:21:283:55 | ...::g(...) | | {EXTERNAL LOCATION} | bool |
12295+
| overloading.rs:283:34:283:54 | S(...) | | overloading.rs:253:5:253:25 | S |
12296+
| overloading.rs:283:34:283:54 | S(...) | T | {EXTERNAL LOCATION} | bool |
12297+
| overloading.rs:283:36:283:53 | ...::default(...) | | {EXTERNAL LOCATION} | bool |
12298+
| overloading.rs:284:17:284:17 | x | | {EXTERNAL LOCATION} | i64 |
12299+
| overloading.rs:284:21:284:54 | ...::g(...) | | {EXTERNAL LOCATION} | i64 |
12300+
| overloading.rs:284:33:284:53 | S(...) | | overloading.rs:253:5:253:25 | S |
12301+
| overloading.rs:284:33:284:53 | S(...) | T | {EXTERNAL LOCATION} | i64 |
12302+
| overloading.rs:284:35:284:52 | ...::default(...) | | {EXTERNAL LOCATION} | i64 |
12303+
| overloading.rs:285:17:285:17 | x | | {EXTERNAL LOCATION} | i64 |
12304+
| overloading.rs:285:21:285:61 | ...::g(...) | | {EXTERNAL LOCATION} | i64 |
12305+
| overloading.rs:285:40:285:60 | S(...) | | overloading.rs:253:5:253:25 | S |
12306+
| overloading.rs:285:40:285:60 | S(...) | T | {EXTERNAL LOCATION} | i64 |
12307+
| overloading.rs:285:42:285:59 | ...::default(...) | | {EXTERNAL LOCATION} | i64 |
12308+
| overloading.rs:286:13:286:16 | S(...) | | overloading.rs:253:5:253:25 | S |
12309+
| overloading.rs:286:13:286:16 | S(...) | T | {EXTERNAL LOCATION} | i32 |
12310+
| overloading.rs:286:13:286:16 | S(...) | T | {EXTERNAL LOCATION} | i64 |
12311+
| overloading.rs:286:15:286:15 | 0 | | {EXTERNAL LOCATION} | i32 |
1214012312
| pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option |
1214112313
| pattern_matching.rs:13:26:133:1 | { ... } | T | {EXTERNAL LOCATION} | () |
1214212314
| pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option |

0 commit comments

Comments
 (0)