diff options
| author | Mei Boudreau <[email protected]> | 2017-10-12 18:18:31 -0400 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-10-12 15:18:31 -0700 |
| commit | 9b0c053725e04c60eb7ddcfeb847be4189b3dbf6 (patch) | |
| tree | 6e1c2f5a38188f389bc14df7691a39549c9c2128 /src/framework | |
| parent | Optimize Member::roles (diff) | |
| download | serenity-9b0c053725e04c60eb7ddcfeb847be4189b3dbf6.tar.xz serenity-9b0c053725e04c60eb7ddcfeb847be4189b3dbf6.zip | |
Add try_opt macro for substitute
Diffstat (limited to 'src/framework')
| -rw-r--r-- | src/framework/standard/args.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/framework/standard/args.rs b/src/framework/standard/args.rs index 82a9e3f..7e3d579 100644 --- a/src/framework/standard/args.rs +++ b/src/framework/standard/args.rs @@ -18,7 +18,7 @@ impl<E: StdError> From<E> for Error<E> { fn from(e: E) -> Self { Error::Parse(e) } -} +} impl<E: StdError> StdError for Error<E> { fn description(&self) -> &str { @@ -115,10 +115,7 @@ impl Args { let mut vec = Vec::with_capacity(i as usize); for _ in 0..i { - vec.push(match self.delimiter_split.shift() { - Some(x) => x, - None => return None, - }); + vec.push(try_opt!(self.delimiter_split.shift())); } Some(vec) @@ -164,8 +161,8 @@ impl Args { where T::Err: StdError { Iter::<T>::new(&mut self).collect() } - - /// Provides an iterator of items: (`T: FromStr`) `Result<T, T::Err>`. + + /// Provides an iterator of items: (`T: FromStr`) `Result<T, T::Err>`. pub fn iter<T: FromStr>(&mut self) -> Iter<T> where T::Err: StdError { Iter::new(self) } @@ -235,7 +232,7 @@ impl<'a, T: FromStr> Iter<'a, T> where T::Err: StdError { impl<'a, T: FromStr> Iterator for Iter<'a, T> where T::Err: StdError { type Item = Result<T, T::Err>; - + fn next(&mut self) -> Option<Self::Item> { if self.args.is_empty() { None |