Use matches.value_of_t

This commit is contained in:
Richard Feldman 2022-05-05 18:00:47 -04:00
parent da3490be8b
commit d337a80ff5
No known key found for this signature in database
GPG Key ID: 7E4127D1E4241798
2 changed files with 11 additions and 13 deletions

View File

@ -669,15 +669,15 @@ impl std::fmt::Display for Target {
}
impl std::str::FromStr for Target {
type Err = ();
type Err = String;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
fn from_str(string: &str) -> Result<Self, Self::Err> {
match string {
"system" => Ok(Target::System),
"linux32" => Ok(Target::Linux32),
"linux64" => Ok(Target::Linux64),
"wasm32" => Ok(Target::Wasm32),
_ => Err(()),
_ => Err(format!("Roc does not know how to compile to {}", string)),
}
}
}

View File

@ -67,14 +67,7 @@ fn main() -> io::Result<()> {
}
}
Some((CMD_BUILD, matches)) => {
use std::str::FromStr;
let target = match matches.value_of(FLAG_TARGET) {
Some(name) => Target::from_str(name).unwrap(),
None => Target::default(),
};
let triple = target.to_triple();
let target: Target = matches.value_of_t(FLAG_TARGET).unwrap_or_default();
let link_type = match (
matches.is_present(FLAG_LIB),
@ -86,7 +79,12 @@ fn main() -> io::Result<()> {
(false, false) => LinkType::Executable,
};
Ok(build(matches, BuildConfig::BuildOnly, triple, link_type)?)
Ok(build(
matches,
BuildConfig::BuildOnly,
target.to_triple(),
link_type,
)?)
}
Some((CMD_CHECK, matches)) => {
let arena = bumpalo::Bump::new();