Skip to content

Commit a9a9d82

Browse files
committed
Made the logic of resolving derived peripheral merging easier
1 parent e2e3ab4 commit a9a9d82

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

src/lib.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -180,15 +180,9 @@ pub struct Peripheral {
180180
impl Peripheral {
181181
pub fn derive_from(&self, other: &Peripheral) -> Peripheral {
182182
let mut derived = self.clone();
183-
if derived.group_name.is_none() && other.group_name.is_some() {
184-
derived.group_name = other.group_name.clone();
185-
}
186-
if derived.description.is_none() && other.description.is_some() {
187-
derived.description = other.description.clone();
188-
}
189-
if derived.registers.is_none() && other.registers.is_some() {
190-
derived.registers = other.registers.clone();
191-
}
183+
derived.group_name = derived.group_name.or(other.group_name.clone());
184+
derived.description = derived.description.or(other.description.clone());
185+
derived.registers = derived.registers.or(other.registers.clone());
192186
if derived.interrupt.is_empty() {
193187
derived.interrupt = other.interrupt.clone();
194188
}

0 commit comments

Comments
 (0)