remove sysroot assertion in generate_rust_analyzer.py
Subsystems (2)
Onur Özkan
reviewerPATCH 1/1 remove sysroot assertion in generate_rust_analyzer.py
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.
--- scripts/generate_rust_analyzer.py | 3 --- 1 file changed, 3 deletions(-)
scripts/generate_rust_analyzer.py +0 -3
@@ -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),
Signature · 1 line
2.51.2
Quoted 9 lines · On Wed, 24 Dec 2025 16:53:43 +0300 Onur Özkan <[email protected]> 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-analyzerto fail on NixOS.
I can confirm that the assertion will indeed fail when using nixpkgs's provided rust-src (although rust-overlay is fine).
Quoted 18 lines
--- scripts/generate_rust_analyzer.py | 3 --- 1 file changed, 3 deletions(-)scripts/generate_rust_analyzer.py +0
-3@@ -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),
Miguel Ojeda
AppliedQuoted 10 lines · Onur Özkan
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-analyzerto fail on NixOS.
Applied to rust-fixes -- thanks everyone!
[ Reworded title. - Miguel ]
Cheers,
Miguel