Re: [PATCH] remove sysroot assertion in generate_rust_analyzer.py
From: Gary Guo
Date: Mon Jan 05 2026 - 10:16:24 EST
On Wed, 24 Dec 2025 16:53:43 +0300
Onur Özkan <work@xxxxxxxxxxxxx> wrote:
> With nixpkgs's rustc, rust-src component is not bundled
> with the compiler by default and is instead provided from
> a separate store path, so this assumption does not hold.
>
> The assertion assumes these paths are in the same location
> which causes `make LLVM=1 rust-analyzer` to fail on NixOS.
>
> Link: https://rust-for-linux.zulipchat.com/#narrow/stream/x/topic/x/near/565284250
> Signed-off-by: Onur Özkan <work@xxxxxxxxxxxxx>
I can confirm that the assertion will indeed fail when using nixpkgs's
provided rust-src (although rust-overlay is fine).
Reviewed-by: Gary Guo <gary@xxxxxxxxxxx>
> ---
> scripts/generate_rust_analyzer.py | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/scripts/generate_rust_analyzer.py b/scripts/generate_rust_analyzer.py
> index 147d0cc94068..e69fa5e0a9b9 100755
> --- a/scripts/generate_rust_analyzer.py
> +++ b/scripts/generate_rust_analyzer.py
> @@ -213,9 +213,6 @@ def main():
> level=logging.INFO if args.verbose else logging.WARNING
> )
>
> - # Making sure that the `sysroot` and `sysroot_src` belong to the same toolchain.
> - assert args.sysroot in args.sysroot_src.parents
> -
> rust_project = {
> "crates": generate_crates(args.srctree, args.objtree, args.sysroot_src, args.exttree, args.cfgs, args.core_edition),
> "sysroot": str(args.sysroot),