@@ -4414,21 +4414,21 @@ fn parse_attr_list(
4416 // ...$name spread — expand define/attribute bundle
4416 // ...$name spread — expand define/attribute bundle
4417− if let Some(name) = part.strip_prefix("...$") {
4417+ if let Some(name) = part.strip_prefix("...$")
4418− if let Some(define_attrs) = ctx.defines.get(name) {
4418+ && let Some(define_attrs) = ctx.defines.get(name)
4419− ctx.used_defines.insert(name.to_string());
4420+ ctx.used_defines.insert(name.to_string());
4420− attrs.extend(define_attrs.clone());
4421+ attrs.extend(define_attrs.clone());
4421− continue;
4422+ continue;
4425 // $define reference — expand attribute bundle
4425 // $define reference — expand attribute bundle
4426− if let Some(name) = part.strip_prefix('$') {
4426+ if let Some(name) = part.strip_prefix('$')
4427− if let Some(define_attrs) = ctx.defines.get(name) {
4427+ && let Some(define_attrs) = ctx.defines.get(name)
4428− ctx.used_defines.insert(name.to_string());
4429+ ctx.used_defines.insert(name.to_string());
4429− attrs.extend(define_attrs.clone());
4430+ attrs.extend(define_attrs.clone());
4430− continue;
4431+ continue;
4434 // Substitute variables in value
4434 // Substitute variables in value
@@ -4837,13 +4837,7 @@ fn evaluate_arithmetic(input: &str) -> String {
4837 '+' => l + r,
4837 '+' => l + r,
4838 '-' => l - r,
4838 '-' => l - r,
4839 '*' => l * r,
4839 '*' => l * r,
4841− if r != 0.0 {
4840+ '/' if r != 0.0 => l / r,
4844− return input.to_string();
4847 _ => return input.to_string(),
4841 _ => return input.to_string(),
4849 if result == result.floor() && result.abs() < i64::MAX as f64 {
4843 if result == result.floor() && result.abs() < i64::MAX as f64 {