Skip to content

Commit 5b7485d

Browse files
committed
Rust: add testcase for impl trait on i32
1 parent 4f1ca21 commit 5b7485d

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

rust/ql/test/extractor-tests/canonical_path/canonical_paths.expected

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ canonicalPath
2727
| regular.rs:57:1:63:1 | fn enum_match | test::regular::enum_match |
2828
| regular.rs:66:5:66:40 | fn is_alphanum | test::regular::is_alphanum |
2929
| regular.rs:69:1:71:1 | fn is_number_or_letter | test::regular::is_number_or_letter |
30+
| regular.rs:73:1:75:1 | trait Abs | test::regular::Abs |
31+
| regular.rs:74:5:74:25 | fn abs | <_ as test::regular::Abs>::abs |
3032
canonicalPaths
3133
| anonymous.rs:1:1:1:26 | use ...::Trait | None | None |
3234
| anonymous.rs:3:1:32:1 | fn canonicals | repo::test | crate::anonymous::canonicals |
@@ -70,6 +72,10 @@ canonicalPaths
7072
| regular.rs:65:1:67:1 | ExternBlock | None | None |
7173
| regular.rs:66:5:66:40 | fn is_alphanum | repo::test | ::is_alphanum |
7274
| regular.rs:69:1:71:1 | fn is_number_or_letter | repo::test | crate::regular::is_number_or_letter |
75+
| regular.rs:73:1:75:1 | trait Abs | repo::test | crate::regular::Abs |
76+
| regular.rs:74:5:74:25 | fn abs | repo::test | crate::regular::Abs::abs |
77+
| regular.rs:77:1:85:1 | impl Abs for i32 { ... } | None | None |
78+
| regular.rs:78:5:84:5 | fn abs | repo::test | <i32 as crate::regular::Abs>::abs |
7379
resolvedPaths
7480
| anonymous.rs:27:17:27:30 | OtherStruct {...} | None | None |
7581
| anonymous.rs:28:9:28:9 | s | None | None |
@@ -103,3 +109,6 @@ resolvedPaths
103109
| regular.rs:61:9:61:31 | ...::Variant3 {...} | repo::test | crate::regular::MyEnum::Variant3 |
104110
| regular.rs:70:14:70:24 | is_alphanum | repo::test | ::is_alphanum |
105111
| regular.rs:70:26:70:28 | chr | None | None |
112+
| regular.rs:79:12:79:15 | self | None | None |
113+
| regular.rs:80:14:80:17 | self | None | None |
114+
| regular.rs:82:13:82:16 | self | None | None |

rust/ql/test/extractor-tests/canonical_path/regular.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,17 @@ extern "C" {
6969
pub fn is_number_or_letter(chr: u8) -> bool {
7070
unsafe { is_alphanum(chr) }
7171
}
72+
73+
trait Abs {
74+
fn abs(self) -> Self;
75+
}
76+
77+
impl Abs for i32 {
78+
fn abs(self) -> Self {
79+
if self < 0 {
80+
-self
81+
} else {
82+
self
83+
}
84+
}
85+
}

0 commit comments

Comments
 (0)