Should keep practicing its usage so that this wonderful code multiplies.
Unified · Split
| @@ -137,11 +137,7 @@ fn find_directory_id_in_tree( · 136 unmodified lines | ||
| 137 | 137 | tree_id = tree_iter |
| 138 | 138 | .find_map(|e| { |
| 139 | 139 | let e = e.expect("tree parseable"); |
| 140 | − if e.filename == c { | |
| 141 | − Some(e.oid) | |
| 142 | − } else { | |
| 143 | − None | |
| 144 | − } | |
| 140 | + (e.filename == c).then(|| e.oid) | |
| 145 | 141 | }) |
| 146 | 142 | .map(ToOwned::to_owned); |
| 147 | 143 | if tree_id.is_none() { |
| @@ -45,11 +45,7 @@ impl Store { · 44 unmodified lines | ||
| 45 | 45 | } |
| 46 | 46 | git_hash::ObjectId::null_sha1() |
| 47 | 47 | }); |
| 48 | − if is_valid_path { | |
| 49 | − Some(e) | |
| 50 | − } else { | |
| 51 | − None | |
| 52 | − } | |
| 48 | + is_valid_path.then(|| e) | |
| 53 | 49 | } |
| 54 | 50 | |
| 55 | 51 | /// Return an iterator over all objects contained in the database. |
| @@ -61,13 +61,11 @@ where · 60 unmodified lines | ||
| 61 | 61 | had_error: false, |
| 62 | 62 | kind, |
| 63 | 63 | objects_left: num_objects, |
| 64 | − hash: if mode != input::Mode::AsIs { | |
| 64 | + hash: (mode != input::Mode::AsIs).then(|| { | |
| 65 | 65 | let mut hash = Sha1::default(); |
| 66 | 66 | hash.update(&header_data); |
| 67 | − Some(hash) | |
| 68 | − } else { | |
| 69 | − None | |
| 70 | − }, | |
| 67 | + hash | |
| 68 | + }), | |
| 71 | 69 | mode, |
| 72 | 70 | compressed_buf: None, |
| 73 | 71 | }) |
| @@ -149,11 +149,7 @@ where · 148 unmodified lines | ||
| 149 | 149 | self.inserted_entry_length_at_offset |
| 150 | 150 | .get(maybe_index_of_actual_entry) |
| 151 | 151 | .and_then(|c| { |
| 152 | − if c.pack_offset == base_pack_offset { | |
| 153 | − Some(maybe_index_of_actual_entry) | |
| 154 | − } else { | |
| 155 | − None | |
| 156 | − } | |
| 152 | + (c.pack_offset == base_pack_offset).then(|| maybe_index_of_actual_entry) | |
| 157 | 153 | }) |
| 158 | 154 | .unwrap_or(index) |
| 159 | 155 | }; |
| @@ -411,11 +411,7 @@ mod util { · 410 unmodified lines | ||
| 411 | 411 | break; |
| 412 | 412 | } |
| 413 | 413 | } |
| 414 | − if res.is_empty() { | |
| 415 | − None | |
| 416 | − } else { | |
| 417 | − Some(res) | |
| 418 | − } | |
| 414 | + (!res.is_empty()).then(|| res) | |
| 419 | 415 | } |
| 420 | 416 | } |
| 421 | 417 | } |
| @@ -52,13 +52,7 @@ impl<'a> Iterator for Iter<'a> { · 51 unmodified lines | ||
| 52 | 52 | }, |
| 53 | 53 | }; |
| 54 | 54 | self.cursor = match dir.parent() { |
| 55 | − Some(parent) => { | |
| 56 | − if parent == self.boundary { | |
| 57 | − None | |
| 58 | − } else { | |
| 59 | − Some(parent) | |
| 60 | − } | |
| 61 | − }, | |
| 55 | + Some(parent) => (parent != self.boundary).then(||parent), | |
| 62 | 56 | None => unreachable!("directory {:?} ran out of parents, this really shouldn't happen before hitting the boundary {:?}"), |
| 63 | 57 | }; |
| 64 | 58 | next |