Skip to content

Commit 4b3816e

Browse files
committed
Rust: Variants inherit visibility from their parent enum
1 parent f09c3c5 commit 4b3816e

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

rust/ql/lib/codeql/rust/internal/PathResolution.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ private class VariantItemNode extends ItemNode instanceof Variant {
321321
result = super.getEnum().getGenericParamList().getTypeParam(i)
322322
}
323323

324-
override Visibility getVisibility() { result = Variant.super.getVisibility() }
324+
override Visibility getVisibility() { result = super.getEnum().getVisibility() }
325325
}
326326

327327
class FunctionItemNode extends AssocItemNode instanceof Function {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ mod m21 {
514514
};
515515

516516
fn f() {
517-
let _ = MyEnum::A; // $ MISSING: item=I104
517+
let _ = MyEnum::A; // $ item=I104
518518
let _ = MyStruct {}; // $ item=I106
519519
}
520520
}

rust/ql/test/library-tests/path-resolution/path-resolution.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ resolvePath
232232
| main.rs:512:13:512:32 | ...::MyStruct | main.rs:502:9:502:28 | struct MyStruct |
233233
| main.rs:513:13:513:16 | self | main.rs:502:9:502:28 | struct MyStruct |
234234
| main.rs:517:21:517:26 | MyEnum | main.rs:498:9:500:9 | enum MyEnum |
235+
| main.rs:517:21:517:29 | ...::A | main.rs:499:13:499:13 | A |
235236
| main.rs:518:21:518:28 | MyStruct | main.rs:502:9:502:28 | struct MyStruct |
236237
| main.rs:524:5:524:6 | my | main.rs:1:1:1:7 | mod my |
237238
| main.rs:524:5:524:14 | ...::nested | my.rs:1:1:1:15 | mod nested |

0 commit comments

Comments
 (0)