This is the proper way to implement Version "5".
In a major break from the past, Cargo Watch now depends directly on Watchexec. It uses the newly-landed (contributed by yours truly) library support in watchexec to directly and statically embed it, parsing our own options and figuring out our own defaults and then running watchexec's main loop with the relevant arguments.
This means that we take advantage of Watchexec's excellent features and fixes in this domain, and can focus entirely on the cargo experience and the specific concerns around it. Notably, this fixes:
You can install as usual with
$ cargo install cargo-watch
And upgrade an existing install with:
$ cargo install --force cargo-watch
If you had previously installed the watchexec binary to make the wrappy version work, and you do not require it anymore, you can safely uninstall it. However, watchexec itself is a great tool and may suit other non-cargo usecases you have well, so consider keeping it.