File tree 4 files changed +43
-0
lines changed
4 files changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ pkg_filegroup(
36
36
srcs = [
37
37
":tools-arch" ,
38
38
"//rust/tools" ,
39
+ "//rust/tools/builtins" ,
39
40
],
40
41
prefix = "tools" ,
41
42
)
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ use std::{
17
17
collections:: HashMap ,
18
18
path:: { Path , PathBuf } ,
19
19
} ;
20
+ use std:: { env, fs} ;
20
21
use tracing:: { error, info, warn} ;
21
22
use tracing_subscriber:: layer:: SubscriberExt ;
22
23
use tracing_subscriber:: util:: SubscriberInitExt ;
@@ -276,5 +277,13 @@ fn main() -> anyhow::Result<()> {
276
277
}
277
278
}
278
279
}
280
+ let builtins_dir = env:: var ( "CODEQL_EXTRACTOR_RUST_ROOT" )
281
+ . map ( |path| Path :: new ( & path) . join ( "tools" ) . join ( "builtins" ) ) ?;
282
+ let builtins = fs:: read_dir ( builtins_dir) . context ( "failed to read builtins directory" ) ?;
283
+ for entry in builtins {
284
+ let entry = entry. context ( "failed to read builtins directory" ) ?;
285
+ extractor. extract_without_semantics ( & entry. path ( ) , "builtins" ) ;
286
+ }
287
+
279
288
extractor. emit_extraction_diagnostics ( start, & cfg)
280
289
}
Original file line number Diff line number Diff line change
1
+ load ("//misc/bazel:pkg.bzl" , "codeql_pkg_files" )
2
+
3
+ codeql_pkg_files (
4
+ name = "builtins" ,
5
+ srcs = glob (["*.rs" ]),
6
+ prefix = "builtins" ,
7
+ visibility = ["//rust:__subpackages__" ],
8
+ )
Original file line number Diff line number Diff line change
1
+ // The Language Prelude: https://doc.rust-lang.org/reference/names/preludes.html#language-prelude
2
+
3
+ // Type namespace
4
+ // Boolean type
5
+ pub struct bool ;
6
+ // Textual types
7
+ pub struct char ;
8
+ pub struct str ;
9
+ // Integer types
10
+ pub struct i8 ;
11
+ pub struct i16 ;
12
+ pub struct i32 ;
13
+ pub struct i64 ;
14
+ pub struct i128 ;
15
+ pub struct u8 ;
16
+ pub struct u16 ;
17
+ pub struct u32 ;
18
+ pub struct u64 ;
19
+ pub struct u128 ;
20
+ // Machine-dependent integer types
21
+ pub struct usize ;
22
+ pub struct isize ;
23
+ // floating-point types
24
+ pub struct f32 ;
25
+ pub struct f64 ;
You can’t perform that action at this time.
0 commit comments