rust-code-analysis icon indicating copy to clipboard operation
rust-code-analysis copied to clipboard

cargo install rust-code-analysis-cli does not compile

Open Jxtopher opened this issue 10 months ago • 3 comments

Hello,

Installation via cargo of rust-code-analysis-cli failed in Linux and Windows with cargo 1.85.0. Log:

cargo install rust-code-analysis-cli
error[E0308]: mismatched types
   --> ~\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\rust-code-analysis-0.0.25\src\macros.rs:42:9
    |
42  |           $name::language()
    |           ^^^^^^^^^^^^^^^^^ expected `tree_sitter::Language`, found a different `tree_sitter::Language`
...
264 |                   fn get_language() -> Language {
    |                                        -------- expected `tree_sitter::Language` because of return type
    |
   ::: ~\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\rust-code-analysis-0.0.25\src\langs.rs:8:1
    |
8   | / mk_langs!(
...   |
117 | | );
    | |_- in this macro invocation
    |
note: two different versions of crate `tree_sitter` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> ~\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tree-sitter-0.20.9\binding_rust\lib.rs:43:1
    |
43  | pub struct Language(*const ffi::TSLanguage);
    | ^^^^^^^^^^^^^^^^^^^ this is the expected type `tree_sitter::Language`
    |
   ::: ~\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tree-sitter-0.25.3\binding_rust\lib.rs:63:1
    |
63  | pub struct Language(*const ffi::TSLanguage);
    | ^^^^^^^^^^^^^^^^^^^ this is the found type `tree_sitter::Language`
    |
   ::: ~\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\rust-code-analysis-0.0.25\src\node.rs:1:5
    |
1   | use tree_sitter::Node as OtherNode;
    |     ----------- one version of crate `tree_sitter` used here, as a direct dependency of the current crate
    |
   ::: ~\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\rust-code-analysis-0.0.25\src\langs.rs:53:9
    |
53  |         tree_sitter_rust,
    |         ---------------- one version of crate `tree_sitter` used here, as a dependency of crate `tree_sitter_rust`
    = help: you can use `cargo tree` to explore your dependency tree
    = note: this error originates in the macro `get_language` which comes from the expansion of the macro `mk_langs` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0308`.
error: could not compile `rust-code-analysis` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `rust-code-analysis-cli v0.0.25`, intermediate artifacts can be found at `~\AppData\Local\Temp\cargo-installNWcqlt`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

Related: https://github.com/mozilla/rust-code-analysis/issues/714

Thanks,

Jxtopher avatar Mar 23 '25 11:03 Jxtopher

Hi, is there any update on this? I am still getting the same error on cargo install.

ShikChen avatar Sep 04 '25 14:09 ShikChen

Try cargo install rust-code-analysis-cli --locked

RafalSumislawski avatar Sep 06 '25 12:09 RafalSumislawski

Thanks, adding --locked works!

ShikChen avatar Sep 06 '25 13:09 ShikChen