]> git.lizzy.rs Git - rust.git/commitdiff
Use try block instead of closure
authorDavid Cook <divergentdave@gmail.com>
Mon, 7 Sep 2020 20:09:34 +0000 (15:09 -0500)
committerDavid Cook <divergentdave@gmail.com>
Mon, 7 Sep 2020 20:09:34 +0000 (15:09 -0500)
src/helpers.rs
src/lib.rs

index 9e4bc21ab1b382ca1f1c7f6e39e5eadca8980819..5bb620b563d3c425f778ecb61f1c1fbe545c5999 100644 (file)
@@ -530,17 +530,17 @@ fn read_timespec(
         let nanoseconds_scalar = this.read_scalar(nanoseconds_place.into())?;
         let nanoseconds = nanoseconds_scalar.to_machine_isize(this)?;
 
-        Ok((move || {
+        Ok(try {
             // tv_sec must be non-negative.
             let seconds: u64 = seconds.try_into().ok()?;
             // tv_nsec must be non-negative.
             let nanoseconds: u32 = nanoseconds.try_into().ok()?;
             if nanoseconds >= 1_000_000_000 {
                 // tv_nsec must not be greater than 999,999,999.
-                return None;
+                None?
             }
-            Some(Duration::new(seconds, nanoseconds))
-        })())
+            Duration::new(seconds, nanoseconds)
+        })
     }
 }
 
index 1b66d5ff6f31d691d569f97b9d4f804ee6328879..77eac9a6324a4c440b7af866ad52e33d9e7d30e4 100644 (file)
@@ -3,6 +3,7 @@
 #![feature(map_first_last)]
 #![feature(never_type)]
 #![feature(or_patterns)]
+#![feature(try_blocks)]
 
 #![warn(rust_2018_idioms)]
 #![allow(clippy::cast_lossless)]