diff options
| author | Teddy Wing | 2018-10-23 15:40:38 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2018-10-23 15:40:38 +0200 | 
| commit | b419ee9c6809d1e4081c885380fbf8c8103dad49 (patch) | |
| tree | 48ced8f26949f93645281d95dca22c710f965e11 /src | |
| parent | 8369a753e24e1e2d986e9988793655f8923e182c (diff) | |
| download | dome-key-map-b419ee9c6809d1e4081c885380fbf8c8103dad49.tar.bz2 | |
do_trial(): Fix unreachable `DurationError` patterns
I was getting these warnings:
    warning: unreachable pattern
      --> src/trial.rs:41:17
       |
    40 |                 DurationError => return trial_expired(),
       |                 ------------- matches any value
    41 |                 e => {
       |                 ^ unreachable pattern
    warning: unreachable pattern
      --> src/trial.rs:55:9
       |
    54 |         DurationError => trial_expired(),
       |         ------------- matches any value
    55 |         Err(e) => (),
       |         ^^^^^^ unreachable pattern
Wasn't correctly matching the `DurationError`s.
Add an 'error-chain' `ErrorKind` for `DurationError` to make it the same
type as the others matched in the first `match` pattern.
Diffstat (limited to 'src')
| -rw-r--r-- | src/errors.rs | 1 | ||||
| -rw-r--r-- | src/trial.rs | 9 | 
2 files changed, 7 insertions, 3 deletions
| diff --git a/src/errors.rs b/src/errors.rs index f84bb2e..75079e3 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -8,6 +8,7 @@ error_chain! {          Io(::std::io::Error);          DateCrypt(DateCryptError); +        Duration(DurationError);      }  } diff --git a/src/trial.rs b/src/trial.rs index 2b535a7..38c8a82 100644 --- a/src/trial.rs +++ b/src/trial.rs @@ -31,7 +31,7 @@ fn do_trial() {                              ::std::process::exit(exitcode::IOERR);                          },                      }, -                DurationError => return trial_expired(), +                ErrorKind::Duration(_) => return trial_expired(),                  e => {                      eprintln!("{}", e);                      ::std::process::exit(exitcode::SOFTWARE); @@ -45,8 +45,11 @@ fn do_trial() {      match days_remaining_from_now(date) {          Ok(remaining) => print_trial_days(remaining), -        DurationError => trial_expired(), -        Err(e) => (), +        Err(e) => { +            match e { +                DurationError::NegativeDuration(_) => trial_expired(), +            } +        },      }  } | 
