scripts/generate_rust_analyzer.py | 3 --- 1 file changed, 3 deletions(-)
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@onurozkan.dev>
---
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),
--
2.51.2
On Wed, Dec 24, 2025 at 2:54 PM Onur Özkan <work@onurozkan.dev> 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@onurozkan.dev>
Applied to `rust-fixes` -- thanks everyone!
Fixes: fe992163575b ("rust: Support latest version of `rust-analyzer`")
Cc: stable@vger.kernel.org
[ Reworded title. - Miguel ]
Cheers,
Miguel
On Wed, 24 Dec 2025 16:53:43 +0300
Onur Özkan <work@onurozkan.dev> 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@onurozkan.dev>
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@garyguo.net>
> ---
> 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),
© 2016 - 2026 Red Hat, Inc.