diff --git a/test/unit/zero_cost_square.cpp b/test/unit/zero_cost_square.cpp index 209ae69fe..e76d1f5f9 100644 --- a/test/unit/zero_cost_square.cpp +++ b/test/unit/zero_cost_square.cpp @@ -54,10 +54,16 @@ auto square_scaled_integer(float input) auto square_elastic(float input) { // alias to scaled_integer, -16> - auto fixed = elastic_scaled_integer<15, power<-16>>{input}; + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) + auto fixed = new elastic_scaled_integer<15, power<-16>>{input}; // concise, safe and zero-cost! - auto prod = fixed * fixed; + auto prod = *fixed * *fixed; + + if (input > 42) { + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) + delete fixed; + } return static_cast(prod); }