Skip to content

Commit 10d0f7a

Browse files
committed
rust: update generate_rust_analyzer.py to account for new is_proc_macro field
rust-analyzer now doesn't complain about unresolved imports anymore inside of the rust/macros crate. Upstream PR which added the field: rust-lang/rust-analyzer#9752 Signed-off-by: Boris-Chengbiao Zhou <[email protected]>
1 parent b00d4c3 commit 10d0f7a

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

scripts/generate_rust_analyzer.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ def generate_crates(srctree, objtree, sysroot_src, bindings_file):
2323
crates = []
2424
crates_indexes = {}
2525

26-
def append_crate(display_name, root_module, is_workspace_member, deps, cfg):
26+
def append_crate(display_name, root_module, deps, cfg=[], is_workspace_member=True, is_proc_macro=False):
2727
crates_indexes[display_name] = len(crates)
2828
crates.append({
2929
"display_name": display_name,
3030
"root_module": str(root_module),
3131
"is_workspace_member": is_workspace_member,
32+
"is_proc_macro": is_proc_macro,
3233
"deps": [{"crate": crates_indexes[dep], "name": dep} for dep in deps],
3334
"cfg": cfg,
3435
"edition": "2018",
@@ -41,50 +42,41 @@ def append_crate(display_name, root_module, is_workspace_member, deps, cfg):
4142
append_crate(
4243
"core",
4344
sysroot_src / "core" / "src" / "lib.rs",
44-
False,
45-
[],
4645
[],
46+
is_workspace_member=False,
4747
)
4848

4949
append_crate(
5050
"compiler_builtins",
5151
srctree / "rust" / "compiler_builtins.rs",
52-
True,
53-
[],
5452
[],
5553
)
5654

5755
append_crate(
5856
"alloc",
5957
srctree / "rust" / "alloc" / "lib.rs",
60-
True,
6158
["core", "compiler_builtins"],
62-
[],
6359
)
6460

6561
append_crate(
6662
"macros",
6763
srctree / "rust" / "macros" / "lib.rs",
68-
True,
69-
[],
7064
[],
65+
is_proc_macro=True,
7166
)
7267
crates[-1]["proc_macro_dylib_path"] = "rust/libmacros.so"
7368

7469
append_crate(
7570
"build_error",
7671
srctree / "rust" / "build_error.rs",
77-
True,
7872
["core", "compiler_builtins"],
79-
[],
8073
)
8174

8275
append_crate(
8376
"kernel",
8477
srctree / "rust" / "kernel" / "lib.rs",
85-
True,
8678
["core", "alloc", "macros", "build_error"],
87-
cfg,
79+
cfg=cfg,
8880
)
8981
crates[-1]["env"]["RUST_BINDINGS_FILE"] = str(bindings_file.resolve(True))
9082
crates[-1]["source"] = {
@@ -111,9 +103,8 @@ def append_crate(display_name, root_module, is_workspace_member, deps, cfg):
111103
append_crate(
112104
name,
113105
path,
114-
True,
115106
["core", "alloc", "kernel"],
116-
cfg,
107+
cfg=cfg,
117108
)
118109

119110
return crates

0 commit comments

Comments
 (0)