Handle empty std::env::args() for FreeBSD. (fixes #75)

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-06-24 21:36:38 +00:00
parent 84ce3e0d0e
commit 56d9c9a8b5

View File

@@ -35,21 +35,20 @@ pub(super) fn version(args: TokenStream) -> TokenStream {
return args;
};
let rustc_path = std::env::args()
.next()
.expect("Path to rustc executable");
let version = Command::new(rustc_path)
.args(["-V"])
.output()
.map(|output| {
let rustc_path = std::env::args().next();
let version = rustc_path
.and_then(|rustc_path| {
Command::new(rustc_path)
.args(["-V"])
.output()
.ok()
})
.and_then(|output| {
str::from_utf8(&output.stdout)
.map(str::trim)
.map(String::from)
.ok()
})
.ok()
.flatten()
.unwrap_or_default();
let ret = quote! {