aboutsummaryrefslogtreecommitdiff
path: root/vendor/clap/examples/tutorial_builder/04_02_validate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/clap/examples/tutorial_builder/04_02_validate.rs')
-rw-r--r--vendor/clap/examples/tutorial_builder/04_02_validate.rs36
1 files changed, 0 insertions, 36 deletions
diff --git a/vendor/clap/examples/tutorial_builder/04_02_validate.rs b/vendor/clap/examples/tutorial_builder/04_02_validate.rs
deleted file mode 100644
index 0ce53d6..0000000
--- a/vendor/clap/examples/tutorial_builder/04_02_validate.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-use std::ops::RangeInclusive;
-
-use clap::{arg, command};
-
-fn main() {
- let matches = command!() // requires `cargo` feature
- .arg(
- arg!(<PORT>)
- .help("Network port to use")
- .value_parser(port_in_range),
- )
- .get_matches();
-
- // Note, it's safe to call unwrap() because the arg is required
- let port: u16 = *matches
- .get_one::<u16>("PORT")
- .expect("'PORT' is required and parsing will fail if its missing");
- println!("PORT = {port}");
-}
-
-const PORT_RANGE: RangeInclusive<usize> = 1..=65535;
-
-fn port_in_range(s: &str) -> Result<u16, String> {
- let port: usize = s
- .parse()
- .map_err(|_| format!("`{s}` isn't a port number"))?;
- if PORT_RANGE.contains(&port) {
- Ok(port as u16)
- } else {
- Err(format!(
- "port not in range {}-{}",
- PORT_RANGE.start(),
- PORT_RANGE.end()
- ))
- }
-}