Rust-Analyzer runs a slow cargo check every time I save, which takes about half a minute to complete.
This prevents me from running cargo run/build, as the lock file is being used. Additionally, because I'm using some macros, it forces my project to recompile every crate I'm using, making my workflow a horrible experience. When I want to change a single character, I have to wait up to 2 minutes to see the changes. This is just a testing file and not even the project itself, which will be much larger and I cannot imagine how this issue will scale.
What can I do to workaround this, my current setup deactivates cargo check on save, removing some ""quality of life"" that I had on other projects, nevertheless, this is almost the only way to do something, that or removing the extension.
Note
I tried using rust_analyzer (Pre-Release) to fix the issue, but it didn't help. I also tried other relevant solutions, but they didn't change the behavior.
$ rustc -V
rustc 1.76.0 (07dca489a 2024-02-04)
VSCode's about:
```txt
Version: 1.90.2
Commit: 5437499feb04f7a586f677b155b039bc2b3669eb
Date: 2024-06-18T22:33:48.698Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Linux x64 6.8.9-zen1-2-zen
```
Rust Analyzer
```txt
Name: rust-analyzer
Id: rust-lang.rust-analyzer
Description: Rust language support for Visual Studio Code
Version: 0.3.2002
Publisher: The Rust Programming Language
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer
```
My PC's specs
```txt
OS: Arch Linux x86_64
Host: B560M DS3H AC
Kernel: Linux 6.8.9-zen1-2-zen
Packages: 1603 (pacman), 34 (nix-user)
Shell: zsh 5.9
Display (S24D300): 1920x1080 @ 60Hz [External]
WM: Hyprland (Wayland)
CPU: Intel(R) Core(TM) i5-10400 (12) @ 4.30 GHz
GPU: NVIDIA Geforce RTX 3050 [Discrete]
Memory: 15.49 GiB
```
Similar to this case.
Rust-Analyzer runs a slow cargo check every time I save, which takes about half a minute to complete.
This prevents me from running cargo run/build, as the lock file is being used. Additionally, because I'm using some macros, it forces my project to recompile every crate I'm using, making my workflow a horrible experience. When I want to change a single character, I have to wait up to 2 minutes to see the changes. This is just a testing file and not even the project itself, which will be much larger and I cannot imagine how this issue will scale.
What can I do to workaround this, my current setup deactivates
cargo check on save
, removing some ""quality of life"" that I had on other projects, nevertheless, this is almost the only way to do something, that or removing the extension.Note
I tried using rust_analyzer (Pre-Release) to fix the issue, but it didn't help. I also tried other relevant solutions, but they didn't change the behavior.
$ rustc -V
rustc 1.76.0 (07dca489a 2024-02-04)
VSCode's about:
```txt Version: 1.90.2 Commit: 5437499feb04f7a586f677b155b039bc2b3669eb Date: 2024-06-18T22:33:48.698Z Electron: 29.4.0 ElectronBuildId: 9728852 Chromium: 122.0.6261.156 Node.js: 20.9.0 V8: 12.2.281.27-electron.0 OS: Linux x64 6.8.9-zen1-2-zen ```Rust Analyzer
```txt Name: rust-analyzer Id: rust-lang.rust-analyzer Description: Rust language support for Visual Studio Code Version: 0.3.2002 Publisher: The Rust Programming Language VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer ```My PC's specs
```txt OS: Arch Linux x86_64 Host: B560M DS3H AC Kernel: Linux 6.8.9-zen1-2-zen Packages: 1603 (pacman), 34 (nix-user) Shell: zsh 5.9 Display (S24D300): 1920x1080 @ 60Hz [External] WM: Hyprland (Wayland) CPU: Intel(R) Core(TM) i5-10400 (12) @ 4.30 GHz GPU: NVIDIA Geforce RTX 3050 [Discrete] Memory: 15.49 GiB ```No environment variable for rust, but:
used for my gtk4 project.
Links to the libraries I'm using:
Code that I'm testing with:
```rust use gtk::prelude::*; use gtk4_layer_shell::{Edge, Layer, LayerShell}; // Import the additional types use relm4::prelude::*; use std::convert::identity; struct NavBar; #[relm4::component] impl SimpleComponent for NavBar { type Init = (); type Input = (); type Output = (); view! { gtk::Window { init_layer_shell: (), // Do gtk4_layer_shell stuff here set_layer: Layer::Overlay, auto_exclusive_zone_enable: (), set_margin: (Edge::Left, 10), set_margin: (Edge::Right, 10), set_anchor: (Edge::Top, true), set_anchor: (Edge::Right, true), set_anchor: (Edge::Left, true), set_title: Some("Master-Bar"), set_default_size: (300, 100), gtk::Box { gtk::Label{ set_label: "Hello navbar here!!" } } } } // Initialize the component. fn init( _counter: Self::Init, root: Self::Root, _sender: ComponentSenderCargo Toml
```toml [package] name = "relm4-layer" version = "0.1.0" edition = "2021" [dependencies] gtk4-layer-shell = "0.3.0" mpris = "2.0.1" relm4 = "0.8.1" relm4-components = "0.8.1" tokio = { version = "1.38.0", features = ["full"] } ```