Commit 87417cc9 authored by Jesung Yang's avatar Jesung Yang Committed by Miguel Ojeda
Browse files

scripts: generate_rust_analyzer: syn: treat `std` as a dependency



Fix the `generate_rust_analyzer.py` script to ensure that the
`rust-project.json` it produces includes `std` in the `deps` field for
the `syn` crate.

`syn` directly references items from `std`, so rust-analyzer should
treat it as a dependency to provide correct IDE support.

For example, `syn::Punctuated` contains fields of type `Vec<..>` and
`Option<..>`, both of which come from the standard library prelude.
With `std` listed in the `deps` field, rust-analyzer can infer the types
of these fields instead of showing `{unknown}`.

Verified the explicit uses of `std` using:

    grep -rn 'std::' rust/syn/

Fixes: 73740175 ("rust: syn: enable support in kbuild")
Signed-off-by: default avatarJesung Yang <y.j3ms.n@gmail.com>
Reviewed-by: default avatarTamir Duberstein <tamird@gmail.com>
Tested-by: default avatarTamir Duberstein <tamird@gmail.com>
Link: https://patch.msgid.link/6dbdf6e1c1639ae381ca9ab7041f84728ffa2267.1764062688.git.y.j3ms.n@gmail.com


[ Reworded title. - Miguel ]
Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 1b83ef9f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs, core_edit
    append_crate(
        "syn",
        srctree / "rust" / "syn" / "lib.rs",
        ["proc_macro", "proc_macro2", "quote"],
        ["std", "proc_macro", "proc_macro2", "quote"],
        cfg=crates_cfgs["syn"],
    )