Skip to content

Commit 8de37fe

Browse files
committed
Rust: Add tests with as paths
1 parent 8b03608 commit 8de37fe

File tree

4 files changed

+8525
-8410
lines changed

4 files changed

+8525
-8410
lines changed

rust/ql/test/library-tests/path-resolution/main.rs

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ mod m13 {
305305

306306
mod m15 {
307307
trait Trait1 {
308-
fn f(&self);
308+
fn f(&self); // Trait1::f
309309

310310
fn g(&self); // I80
311311
} // I79
@@ -317,7 +317,7 @@ mod m15 {
317317
println!("m15::Trait2::f"); // $ item=println
318318
Self::g(self); // $ item=I80
319319
self.g(); // $ item=I80
320-
}
320+
} // Trait2::f
321321
} // I82
322322

323323
#[rustfmt::skip]
@@ -379,10 +379,11 @@ mod m16 {
379379
trait Trait1<
380380
T // I84
381381
> {
382-
fn f(&self) -> T; // $ item=I84
382+
fn f(&self) -> T // $ item=I84
383+
; // Trait1::f
383384

384385
fn g(&self) -> T {// $ item=I84
385-
self.f() // $ item=f
386+
self.f() // $ item=Trait1::f
386387
} // I85
387388

388389
fn h(&self) -> T { // $ item=I84
@@ -406,7 +407,7 @@ mod m16 {
406407
Self::g(self); // $ item=I85
407408
self.g(); // $ item=I85
408409
Self::c // $ item=I94
409-
}
410+
} // Trait2::f
410411
} // I89
411412

412413
struct S; // I90
@@ -940,6 +941,16 @@ mod associated_types_subtrait {
940941
self.0
941942
}
942943
}
944+
945+
#[rustfmt::skip]
946+
impl S<bool> { // $ item=S item=bool
947+
fn _test() {
948+
let _c: <S<i32> as Super>::Out = 'a'; // $ item=S item=i32 item=Super MISSING: item=SuperAssoc
949+
let _i: <S<bool> as Super>::Out = 1; // $ item=S item=bool item=Super MISSING: item=SuperAssoc
950+
951+
let _b: <S<bool> as SuperAlt>::Out = true; // $ item=S item=bool item=SuperAlt MISSING: item=SuperAltAssoc
952+
}
953+
}
943954
}
944955

945956
use std::{self as ztd}; // $ item=std

0 commit comments

Comments
 (0)