@@ -988,6 +988,7 @@ private predicate sourceFileEdge(SourceFile f, string name, ItemNode item) {
988
988
}
989
989
990
990
/** Holds if `f` is available as `mod name;` inside `folder`. */
991
+ pragma [ nomagic]
991
992
private predicate fileModule ( SourceFile f , string name , Folder folder ) {
992
993
exists ( File file | file = f .getFile ( ) |
993
994
file .getBaseName ( ) = name + ".rs" and
@@ -1002,6 +1003,12 @@ private predicate fileModule(SourceFile f, string name, Folder folder) {
1002
1003
)
1003
1004
}
1004
1005
1006
+ bindingset [ name, folder]
1007
+ pragma [ inline_late]
1008
+ private predicate fileModuleInlineLate ( SourceFile f , string name , Folder folder ) {
1009
+ fileModule ( f , name , folder )
1010
+ }
1011
+
1005
1012
/**
1006
1013
* Gets the `Meta` of the module `m`'s [path attribute][1].
1007
1014
*
@@ -1084,7 +1091,7 @@ pragma[nomagic]
1084
1091
predicate fileImport ( Module m , SourceFile f ) {
1085
1092
exists ( string name , Folder parent |
1086
1093
modImport0 ( m , name , _) and
1087
- fileModule ( f , name , parent )
1094
+ fileModuleInlineLate ( f , name , parent )
1088
1095
|
1089
1096
// `m` is not inside a nested module
1090
1097
modImport0 ( m , name , parent ) and
0 commit comments