From b59e0084f49ab8651288701add284f592a4a4e41 Mon Sep 17 00:00:00 2001 From: Lach Date: Tue, 25 Feb 2025 07:10:01 +0000 Subject: [PATCH] refactor: do not use try_blocks --- --- a/cmds/fleet/src/cmds/build_systems.rs +++ b/cmds/fleet/src/cmds/build_systems.rs @@ -70,6 +70,33 @@ current: bool, datetime: String, } + +fn parse_generation_line(g: &str) -> Option { + let mut parts = g.split_whitespace(); + let id = parts.next()?; + let id: u32 = id.parse().ok()?; + let date = parts.next()?; + let time = parts.next()?; + let current = if let Some(current) = parts.next() { + if current == "(current)" { + Some(true) + } else { + None + } + } else { + Some(false) + }; + let current = current?; + if parts.next().is_some() { + warn!("unexpected text after generation: {g}"); + } + Some(Generation { + id, + current, + datetime: format!("{date} {time}"), + }) +} + async fn get_current_generation(host: &ConfigHost) -> Result { let mut cmd = host.cmd("nix-env").await?; cmd.comparg("--profile", "/nix/var/nix/profiles/system") @@ -81,33 +108,9 @@ .map(|e| e.trim()) .filter(|&l| !l.is_empty()) .filter_map(|g| { - let gen: Option = try { - let mut parts = g.split_whitespace(); - let id = parts.next()?; - let id: u32 = id.parse().ok()?; - let date = parts.next()?; - let time = parts.next()?; - let current = if let Some(current) = parts.next() { - if current == "(current)" { - Some(true) - } else { - None - } - } else { - Some(false) - }; - let current = current?; - if parts.next().is_some() { - warn!("unexpected text after generation: {g}"); - } - Generation { - id, - current, - datetime: format!("{date} {time}"), - } - }; + let gen = parse_generation_line(g); if gen.is_none() { - warn!("bad generation: {g}") + warn!("bad generation: {g}"); } gen }) --- a/cmds/fleet/src/main.rs +++ b/cmds/fleet/src/main.rs @@ -1,5 +1,4 @@ #![recursion_limit = "512"] -#![feature(try_blocks)] pub(crate) mod cmds; // pub(crate) mod command; -- gitstuff