mirror of
https://github.com/openharmony/third_party_rust_which-rs.git
synced 2026-07-01 21:14:07 -04:00
441642368aec001e6d14b99dae9d33d8f3c163f1
lazy_static crate with once_cell
Piggybacking on the [motivation in winit]: `lazy_static!` is a macro whereas `once_cell` achieves the same using generics. Its implementation has also been [proposed for inclusion in `std`], making it easier to switch to a standardized version if/when that happens. The author of that winit PR is making this change to many more crates, slowly turning the scales in favour of `once_cell` in most dependency trees. Furthermore `lazy_static` hasn't published any updates for 3 years. See also [the `once_cell` F.A.Q.]. [motivation in winit]: https://github.com/rust-windowing/winit/pull/2313 [proposed for inclusion in `std`]: https://github.com/rust-lang/rust/issues/74465 [the `once_cell` F.A.Q.]: https://docs.rs/once_cell/latest/once_cell/#faq
which
A Rust equivalent of Unix command "which". Locate installed executable in cross platforms.
Support platforms
- Linux
- Windows
- macOS
Examples
-
To find which rustc executable binary is using.
use which::which; let result = which("rustc").unwrap(); assert_eq!(result, PathBuf::from("/usr/bin/rustc"));
-
After enabling the
regexfeature, find all cargo subcommand executables on the path:use which::which_re; which_re(Regex::new("^cargo-.*").unwrap()).unwrap() .for_each(|pth| println!("{}", pth.to_string_lossy()));
Documentation
The documentation is available online.
Description
提供查找可执行文件或库的路径的支持,可以在程序中查找指定可执行文件或库的路径。 | A Rust library that provides support for finding the path to an executable in the system's PATH.
Languages
Rust
100%