Re: [PATCH v2 2/2] scripts: generate_rust_analyzer.py: reduce cfg plumbing

From: Jesung Yang

Date: Wed Jan 21 2026 - 18:20:50 EST


On Wed Jan 21, 2026 at 11:13 PM KST, Tamir Duberstein wrote:
> On Tue, Jan 20, 2026 at 8:16 PM Jesung Yang <y.j3ms.n@xxxxxxxxx> wrote:
>> On Wed Jan 21, 2026 at 1:10 AM KST, Tamir Duberstein wrote:
>> > Centralize `cfg` lookup in `append_crate` to avoid having to do so for
>> > each crate. Remove hardcoded `cfg`s for `pin-init{,-internal}` now that
>> > these are passed from `rust/Makefile`.
>> >
>> > Signed-off-by: Tamir Duberstein <tamird@xxxxxxxxxx>
>> > ---
>> > scripts/generate_rust_analyzer.py | 13 +++++--------
>> > 1 file changed, 5 insertions(+), 8 deletions(-)
>> >
>> > diff --git a/scripts/generate_rust_analyzer.py b/scripts/generate_rust_analyzer.py
>> > index 147d0cc94068..b96d3cbe3df1 100755
>> > --- a/scripts/generate_rust_analyzer.py
>> > +++ b/scripts/generate_rust_analyzer.py
>> > @@ -35,7 +35,9 @@ def generate_crates(srctree, objtree, sysroot_src, external_src, cfgs, core_edit
>> > crates_indexes = {}
>> > crates_cfgs = args_crates_cfgs(cfgs)
>> >
>> > - def append_crate(display_name, root_module, deps, cfg=[], is_workspace_member=True, is_proc_macro=False, edition="2021"):
>> > + def append_crate(display_name, root_module, deps, cfg=None, is_workspace_member=True, is_proc_macro=False, edition="2021"):
>> > + if cfg is None:
>> > + cfg = crates_cfgs.get(display_name, [])
>>
>> Could we add a brief comment explaining how the behavior of
>> `append_crate` changes according to the `cfg` parameter? Since `None`
>> and an empty list have different effects, documenting that distinction
>> would make the intended behavior clearer.
>
> I don't think this is necessary - it won't age well when we change the
> entire API surface here in the next version of the series[0] that adds
> type annotations.
>
> Link: https://lore.kernel.org/all/20250424-rust-analyzer-host-v6-0-40e67fe5c38a@xxxxxxxxx/
> [0]
>
>> This would also help later when we add proper Python docstrings.
>
> Same as above: a lot of change is coming. Is this worth considering right now?

Fair point, thanks for the context.

Reviewed-by: Jesung Yang <y.j3ms.n@xxxxxxxxx>

By the way, could you share your plan for upcoming major changes? It
would help me prepare and align my series if I know the intended
direction. I currently have these on my radar:

[1] https://lore.kernel.org/all/20250424-rust-analyzer-host-v6-0-40e67fe5c38a@xxxxxxxxx/
[2] https://lore.kernel.org/rust-for-linux/20260109-ra-fix-primitive-v2-0-249852a4145a@xxxxxxxxx/
[3] https://lore.kernel.org/rust-for-linux/20260120-ra-fix-v1-0-829e4e92818c@xxxxxxxxxx/

I assume you would prefer merging [1] first? Please let me know if I'm
missing something.

Thanks!

Best regards,
Jesung