cargo-check VS cargo-watch

Compare cargo-check vs cargo-watch and see what are their differences.

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
cargo-check cargo-watch
0 7
101 1,731
- 2.8%
0.0 7.8
over 5 years ago 4 months ago
Rust Rust
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

cargo-check

Posts with mentions or reviews of cargo-check. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning cargo-check yet.
Tracking mentions began in Dec 2020.

cargo-watch

Posts with mentions or reviews of cargo-watch. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-15.
  • Fast+iterative rust dev with Jupyterlab?
    1 project | reddit.com/r/rust | 11 Apr 2022
    There’s cargo-watch to automatically recompile the project when a source file change happens. I don’t know about integrating with other applications for the rest, though. Our project was a web server, which made that trivial.
  • Rust Survey 2021 Results
    3 projects | news.ycombinator.com | 15 Feb 2022
    I have some time between contracts and I've found myself learning rust.

    Pros:

    - Sum types. I am an OO apologist, but trying to use classes in C++ is an exercise in frustration. Sum types map very well to union types and are a better fit for systems programming.

    - Unit tests built right into the language - it seems like a small thing but it's a hassle in most languages to choose a library, set it up etc.

    - The above, combined with cargo-watch [0]. With the right flags, you hit save, and your tests all run. It's a god-send.

    - Ecosystem is pretty big. I can find most things I need.

    - Discord channel is nice. I was put off a bit by the Rust Evangelism Strikeforce back in the day, but so far everyone is pretty chill.

    - Options & Results in the standard library. All languages should have this

    Cons:

    - I find it hard to transfer knowledge of C to rust, because they use different terminology.

    - Docs can be confusing to read because every method on collections like `map` or `filter` returns its own Trait. People have explained why this is to me a couple of times but I still haven't gotten it through my head.

    - You still have to think about memory and pointers. Not always a bad thing, but it is an extra dimension when solving a problem.

    Overall I'm powering through. I'm hoping to get to a point where Rust is an obvious choice for anything that involves finer control of memory.

    [0] https://github.com/watchexec/cargo-watch

  • My Ideal Rust Workflow
    3 projects | news.ycombinator.com | 27 Oct 2021
  • Rust's Most Unrecognized Contributor
    4 projects | news.ycombinator.com | 3 May 2021
    It caches things between builds, and if you use dev builds (the default) it doesn't take as long as production. For ergonomics you can install cargo-watch (https://crates.io/crates/cargo-watch) which helps a bit.

    An important thing though, if you aren't doing this already, is to not wait for a full build to know if your types check out. You can use cargo-check if you prefer (https://doc.rust-lang.org/cargo/commands/cargo-check.html), but really I recommend using an IDE with responsive feedback if at all possible. rust-analyzer is one of the best, and should be supported even if you're on Vim or something.

    Using Rust without snappy editor hints is fairly miserable because of how interactive the error feedback loop tends to be. If you don't rely on a full build for errors - just for actual testing - I find the build times to be perfectly fine (at least in the smallish projects I've done).

  • Rust is a hard way to make a web API
    11 projects | news.ycombinator.com | 15 Jan 2021
    A few points:

    > Once your code is compiled, everything’s amazing! But in my case, this basic API - which wasn’t even feature-complete and was by no means a complex system - took more than ten minutes to compile...Caching helps as long as you don’t have to rebuild cached dependencies.

    The author glossed over that last part, but at least from a workflow perspective, it makes a huge difference. In my experiments writing a web server in Rust, I used cargo-watch (https://github.com/passcod/cargo-watch) to automatically rebuild each time I made a change. The turnaround time was usually 1-2 seconds - nearly as fast as restarting a Node server, and about the same amount of time it takes me to alt-tab and test the change. I was using Serde, a high-level HTTP framework, and several other crates. It didn't matter, because they never had to be rebuilt.

    > Rust makes you think about dimensions of your code that matter tremendously for systems programming...It makes you think about real but unlikely corner cases and make sure that they’re handled...These are all valid concerns. But for most web applications, they’re not the most important concerns.

    I disagree strongly (at least about corner cases). Maybe you don't want to bother with this stuff when you're still in the prototyping phase, but once a service is fairly well established, it's definitely beneficial to be forced to think about corner-cases (both in libraries/IO, and in your own business logic that you've hopefully modeled with Rust's powerful type system). This IMO is one of Rust's main benefits; it's been called "the practical Haskell" before, and while its ecosystem isn't yet the most practical one for web servers, it is much more so than Haskell's.

    > The Rust ecosystem is not web-centric

    This is the strongest point, in my opinion. Rust's web ecosystem is definitely still in the early days, and this is partly because Rust's benefits aren't nearly as extreme in this usecase as they are in other usecases. There is for sure a chicken-and-egg problem as not enough companies are using Rust for web servers, which means not as much time is getting invested in the relevant libraries. I hope this changes; I don't know for sure that it will. It feels like it is, but very slowly. That said:

    > Unfortunately, a lot of the incredibly exciting work in the Rust ecosystem has nothing to do with web application servers. There are some promising web frameworks - even a somewhat higher-level framework - but they’re undoubtedly in a niche. Even Actix, the main web framework, has a very top-heavy set of contributors.

    The author failed to mention or wasn't aware of Rocket (https://rocket.rs/), an up-and-coming Rust web framework that's extremely exciting and provides a programming model that's strikingly similar to Flask or Express. It's still in 0.X releases, the current release doesn't build on stable rustc (though the master branch does!), you're still going to have a hard time finding SDKs for auth and payment and cloud, etc.

    But the important thing is that it shows what's possible. Web servers can be ergonomic to write in Rust, benefiting from its wonderful type system and performance, with very few sacrifices. Hopefully enough companies will start catching on to that, and the ecosystem will flesh out.

  • Passcod/cargo-watch Watches over your Cargo project's source
    1 project | news.ycombinator.com | 10 Jan 2021
  • 📽 2 videos about rust code coverage in VSCode
    2 projects | dev.to | 11 Oct 2020
    cargo watch: run =cargo tarpaulin= every time we save the file

What are some alternatives?

When comparing cargo-check and cargo-watch you can also consider the following projects:

cargo-outdated - A cargo subcommand for displaying when Rust dependencies are out of date

Cargo - The Rust package manager

cargo-multi - Extends cargo to execute the given command on multiple crates - upstream is at

tarpaulin - A code coverage tool for Rust projects

rust-calculator - Simple command-line calculator in Rust.

cargo-script - Cargo script subcommand

cargo-edit - A utility for managing cargo dependencies from the command line.

cargo-do - allows you to run multiple cargo commands in a row

cargo-count - a cargo subcommand for counting lines of code in Rust projects

cargo-graph