diff --git a/src/ast/vm.rs b/src/ast/vm.rs index d8d9478..471d8b0 100644 --- a/src/ast/vm.rs +++ b/src/ast/vm.rs @@ -681,15 +681,13 @@ impl VM { BoundKind::Tuple { elements } => { // If the current value at offset is a Tuple or Record, we dive into it. // Otherwise, we assume the sequence was already flattened (e.g. by Specializer). - if let Some(val) = values.get(*offset) { - if let Some(sub_values) = val.as_slice() { - *offset += 1; - let mut sub_offset = 0; - for el in elements { - self.unpack(el, sub_values, &mut sub_offset)?; - } - return Ok(()); + if let Some(sub_values) = values.get(*offset).and_then(|v| v.as_slice()) { + *offset += 1; + let mut sub_offset = 0; + for el in elements { + self.unpack(el, sub_values, &mut sub_offset)?; } + return Ok(()); } for el in elements { diff --git a/src/utils/tester.rs b/src/utils/tester.rs index 9e9f2bd..b500ce5 100644 --- a/src/utils/tester.rs +++ b/src/utils/tester.rs @@ -72,7 +72,7 @@ pub fn run_benchmarks(update: bool) -> Vec { for entry in entries.filter_map(|e| e.ok()) { let path = entry.path(); - if !path.extension().is_some_and(|ext| ext == "myc") { + if path.extension().is_none_or(|ext| ext != "myc") { continue; } @@ -143,7 +143,7 @@ pub fn run_benchmarks(update: bool) -> Vec { } } } - if results.last().map_or(false, |r| r.name == name) { + if results.last().is_some_and(|r| r.name == name) { continue; } }