From 3e4cd71073fb3b30792aaf1443261e966cbbcf4b Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 14 May 2018 16:00:51 -0400 Subject: use impl Trait to avoid some allocations --- src/power.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/power.rs b/src/power.rs index 6bb90ca..6ae762c 100644 --- a/src/power.rs +++ b/src/power.rs @@ -99,21 +99,19 @@ impl PowerInfo { } pub fn has_batteries(&self) -> bool { - !self.batteries().is_empty() + self.batteries().count() > 0 } - fn batteries(&self) -> Vec<&PowerSupplyInfo> { + fn batteries(&self) -> impl Iterator { self.power_supplies .iter() .filter(|p| p.ty == PowerSupplyType::Battery) - .collect() } - fn mains(&self) -> Vec<&PowerSupplyInfo> { + fn mains(&self) -> impl Iterator { self.power_supplies .iter() .filter(|p| p.ty == PowerSupplyType::AC) - .collect() } } -- cgit v1.2.3-54-g00ecf