aboutsummaryrefslogtreecommitdiff
path: root/vendor/clap/examples/tutorial_derive/04_02_validate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/clap/examples/tutorial_derive/04_02_validate.rs')
-rw-r--r--vendor/clap/examples/tutorial_derive/04_02_validate.rs34
1 files changed, 0 insertions, 34 deletions
diff --git a/vendor/clap/examples/tutorial_derive/04_02_validate.rs b/vendor/clap/examples/tutorial_derive/04_02_validate.rs
deleted file mode 100644
index 3391d5b..0000000
--- a/vendor/clap/examples/tutorial_derive/04_02_validate.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-use std::ops::RangeInclusive;
-
-use clap::Parser;
-
-#[derive(Parser)]
-#[command(author, version, about, long_about = None)]
-struct Cli {
- /// Network port to use
- #[arg(value_parser = port_in_range)]
- port: u16,
-}
-
-fn main() {
- let cli = Cli::parse();
-
- println!("PORT = {}", cli.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()
- ))
- }
-}