Skip to content

Commit 68ec4a8

Browse files
committed
Convert to let-else syntax
Convert to [let else](https://doc.rust-lang.org/rust-by-example/flow_control/let_else.html) where possible. Inspired by coreos/bootupd#723 (comment)
1 parent 870332c commit 68ec4a8

File tree

5 files changed

+8
-22
lines changed

5 files changed

+8
-22
lines changed

src/bios.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,7 @@ impl Component for Bios {
9595
device: &str,
9696
_update_firmware: bool,
9797
) -> Result<InstalledContent> {
98-
let meta = if let Some(meta) = get_component_update(src_root, self)? {
99-
meta
100-
} else {
98+
let Some(meta) = get_component_update(src_root, self)? else {
10199
anyhow::bail!("No update metadata for component {} found", self.name());
102100
};
103101

src/bootupd.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,7 @@ pub(crate) fn adopt_and_update(name: &str) -> Result<ContentMetadata> {
249249

250250
ensure_writable_boot()?;
251251

252-
let update = if let Some(update) = component.query_update(&sysroot)? {
253-
update
254-
} else {
252+
let Some(update) = component.query_update(&sysroot)? else {
255253
anyhow::bail!("Component {} has no available update", name);
256254
};
257255
let mut state_guard =
@@ -270,12 +268,10 @@ pub(crate) fn adopt_and_update(name: &str) -> Result<ContentMetadata> {
270268
pub(crate) fn validate(name: &str) -> Result<ValidationResult> {
271269
let state = SavedState::load_from_disk("/")?.unwrap_or_default();
272270
let component = component::new_from_name(name)?;
273-
let inst = if let Some(inst) = state.installed.get(name) {
274-
inst.clone()
275-
} else {
271+
let Some(inst) = state.installed.get(name) else {
276272
anyhow::bail!("Component {} is not installed", name);
277273
};
278-
component.validate(&inst)
274+
component.validate(inst)
279275
}
280276

281277
pub(crate) fn status() -> Result<Status> {

src/efi.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,9 +283,7 @@ impl Component for Efi {
283283
device: &str,
284284
update_firmware: bool,
285285
) -> Result<InstalledContent> {
286-
let meta = if let Some(meta) = get_component_update(src_root, self)? {
287-
meta
288-
} else {
286+
let Some(meta) = get_component_update(src_root, self)? else {
289287
anyhow::bail!("No update metadata for component {} found", self.name());
290288
};
291289
log::debug!("Found metadata {}", meta.version);

src/filetree.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,7 @@ impl FileTree {
104104
let mut ret = HashMap::new();
105105
for entry in dir.list_dir(".")? {
106106
let entry = entry?;
107-
let name = if let Some(name) = entry.file_name().to_str() {
108-
name
109-
} else {
107+
let Some(name) = entry.file_name().to_str() else {
110108
bail!("Invalid UTF-8 filename: {:?}", entry.file_name())
111109
};
112110
if name.starts_with(TMP_PREFIX) {
@@ -239,9 +237,7 @@ impl FileTree {
239237
fn cleanup_tmp(dir: &openat::Dir) -> Result<()> {
240238
for entry in dir.list_dir(".")? {
241239
let entry = entry?;
242-
let name = if let Some(name) = entry.file_name().to_str() {
243-
name
244-
} else {
240+
let Some(name) = entry.file_name().to_str() else {
245241
// Skip invalid UTF-8 for now, we will barf on it later though.
246242
continue;
247243
};

src/util.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ pub(crate) fn filenames(dir: &openat::Dir) -> Result<HashSet<String>> {
3737
let mut ret = HashSet::new();
3838
for entry in dir.list_dir(".")? {
3939
let entry = entry?;
40-
let name = if let Some(name) = entry.file_name().to_str() {
41-
name
42-
} else {
40+
let Some(name) = entry.file_name().to_str() else {
4341
bail!("Invalid UTF-8 filename: {:?}", entry.file_name())
4442
};
4543
match dir.get_file_type(&entry)? {

0 commit comments

Comments
 (0)