diff --git a/src/lib.rs b/src/lib.rs index 3421a323..dbbe5862 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7868,6 +7868,10 @@ mod tests { ".foo { width: calc(100% - clamp(1.125rem, 1.25vw, 1.2375rem) - clamp(1.125rem, 1.25vw, 1.2375rem)); }", ".foo{width:calc(100% - clamp(1.125rem,1.25vw,1.2375rem) - clamp(1.125rem,1.25vw,1.2375rem))}", ); + minify_test( + ".foo { width: calc(100% - 2 (2 * var(--card-margin))); }", + ".foo{width:calc(100% - 2 (2*var(--card-margin)))}", + ); } #[test] diff --git a/src/values/calc.rs b/src/values/calc.rs index 22610e58..a29ee88d 100644 --- a/src/values/calc.rs +++ b/src/values/calc.rs @@ -926,12 +926,14 @@ impl> + std::convert::From> Calc::Sum(Box::new(Calc::Number(a)), Box::new(Calc::Sum(b, c))) } } - (a @ Calc::Product(..), b) => Calc::Sum(Box::new(a), Box::new(b)), - (a, b @ Calc::Product(..)) => Calc::Sum(Box::new(a), Box::new(b)), - (Calc::Value(a), b) => (a.add(V::from(b))).into(), - (a, Calc::Value(b)) => (V::from(a).add(*b)).into(), + (a @ Calc::Number(_), b) + | (a, b @ Calc::Number(_)) + | (a @ Calc::Product(..), b) + | (a, b @ Calc::Product(..)) => Calc::Sum(Box::new(a), Box::new(b)), (Calc::Function(a), b) => Calc::Sum(Box::new(Calc::Function(a)), Box::new(b)), (a, Calc::Function(b)) => Calc::Sum(Box::new(a), Box::new(Calc::Function(b))), + (Calc::Value(a), b) => (a.add(V::from(b))).into(), + (a, Calc::Value(b)) => (V::from(a).add(*b)).into(), (a @ Calc::Sum(..), b @ Calc::Sum(..)) => V::from(a).add(V::from(b)).into(), } }