vscode-rust
vscode-rust copied to clipboard
`Go to definition` not working for std libraries with RLS mode
Version of VSCode: 1.17.2 Version of the extension: 0.4.2 OS: Mac OS X
Description: When trying to open the rust source for standard libs via cmd + click or f12, it tries to load the file from the current working directory. This is using RLS from rustup, and not having a RUST_SRC_PATH environment variable.
I.e, with a main.rs that looks like:
use std::collections::BTreeMap;
fn main() {
println!("Hello, world!");
}
Highlighting BTreeMap and pressing f12 you get:
No definition found
From a terminal though, racer can find the file just fine:
$ racer find-definition 1 30 src/main.rs
MATCH BTreeMap,135,11,/Users/cetra/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/src/libstd/../liballoc/btree/map.rs,Struct,pub struct BTreeMap<K, V>
END
Output of the "Rust logging" channel:
DEBUG: Rustup: updateToolchains: this.toolchains=[{"channel":"stable","host":"x86_64-apple-darwin","isDefault":false},{"channel":"nightly","host":"x86_64-apple-darwin","isDefault":true}]
DEBUG: activate: processPossibleSetButMissingUserToolchain: toolchainKind=toolchain
DEBUG: activate: processPossibleSetButMissingUserToolchain: user toolchain is installed
DEBUG: Rustup: updateComponents(nightly-x86_64-apple-darwin): components=["cargo-x86_64-apple-darwin (default)","rls-preview-x86_64-apple-darwin (installed)","rust-analysis-x86_64-apple-darwin (installed)","rust-docs-x86_64-apple-darwin (default)","rust-src (installed)","rust-std-aarch64-apple-ios","rust-std-aarch64-linux-android","rust-std-aarch64-unknown-fuchsia","rust-std-aarch64-unknown-linux-gnu","rust-std-aarch64-unknown-linux-musl","rust-std-arm-linux-androideabi","rust-std-arm-unknown-linux-gnueabi","rust-std-arm-unknown-linux-gnueabihf","rust-std-arm-unknown-linux-musleabi","rust-std-arm-unknown-linux-musleabihf","rust-std-armv7-apple-ios","rust-std-armv7-linux-androideabi","rust-std-armv7-unknown-linux-gnueabihf","rust-std-armv7-unknown-linux-musleabihf","rust-std-armv7s-apple-ios","rust-std-asmjs-unknown-emscripten","rust-std-i386-apple-ios","rust-std-i586-pc-windows-msvc","rust-std-i586-unknown-linux-gnu","rust-std-i686-apple-darwin","rust-std-i686-linux-android","rust-std-i686-pc-windows-gnu","rust-std-i686-pc-windows-msvc","rust-std-i686-unknown-freebsd","rust-std-i686-unknown-linux-gnu","rust-std-i686-unknown-linux-musl","rust-std-mips-unknown-linux-gnu","rust-std-mips-unknown-linux-musl","rust-std-mips64-unknown-linux-gnuabi64","rust-std-mips64el-unknown-linux-gnuabi64","rust-std-mipsel-unknown-linux-gnu","rust-std-mipsel-unknown-linux-musl","rust-std-powerpc-unknown-linux-gnu","rust-std-powerpc64-unknown-linux-gnu","rust-std-powerpc64le-unknown-linux-gnu","rust-std-s390x-unknown-linux-gnu","rust-std-sparc64-unknown-linux-gnu","rust-std-sparcv9-sun-solaris","rust-std-wasm32-unknown-emscripten","rust-std-x86_64-apple-darwin (default)","rust-std-x86_64-apple-ios","rust-std-x86_64-linux-android","rust-std-x86_64-pc-windows-gnu","rust-std-x86_64-pc-windows-msvc","rust-std-x86_64-rumprun-netbsd","rust-std-x86_64-sun-solaris","rust-std-x86_64-unknown-freebsd","rust-std-x86_64-unknown-fuchsia","rust-std-x86_64-unknown-linux-gnu","rust-std-x86_64-unknown-linux-gnux32","rust-std-x86_64-unknown-linux-musl","rust-std-x86_64-unknown-netbsd","rust-std-x86_64-unknown-redox","rustc-x86_64-apple-darwin (default)",""]
DEBUG: RlsMode: start: enter
DEBUG: RlsMode: start: no RLS executable
DEBUG: RlsMode: start: processPossibleSetButMissingUserToolchain: toolchainKind=nightly toolchain
DEBUG: RlsMode: start: processPossibleSetButMissingUserToolchain: user nightly toolchain is installed
DEBUG: RlsMode: processPossiblyMissingRlsComponents: RLS is installed
DEBUG: RlsMode: processPossiblyMissingRlsComponents: rust-analysis is installed
DEBUG: RlsMode: start: User decided to use rustfmt
DEBUG: RlsMode: start: rlsPath=rustup
DEBUG: RlsMode: start: env={"RUST_SRC_PATH":"/Users/cetra/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/src"}
DEBUG: RlsMode: start: args=["run","nightly-x86_64-apple-darwin","rls"]
DEBUG: RlsMode: start: revealOutputChannelOn=3
DEBUG: RlsMode: start: Language Client Manager: start
I have fix it using https://github.com/monkeycz/rustlib-analysis-fix
@jimliang Did you make a pull request with your fix? I see the same (Windows 10)