diff --git a/src/core/include/mp-units/framework/expression_template.h b/src/core/include/mp-units/framework/expression_template.h index b27e6c020..38dd14d3f 100644 --- a/src/core/include/mp-units/framework/expression_template.h +++ b/src/core/include/mp-units/framework/expression_template.h @@ -48,11 +48,8 @@ template concept SymbolicArg = (!std::is_const_v) && (!std::is_reference_v); template -concept SymbolicConstant = SymbolicArg && std::is_empty_v && std::is_trivial_v && -#if !MP_UNITS_COMP_GCC || MP_UNITS_COMP_GCC > 12 - std::semiregular && -#endif - std::is_final_v; +concept SymbolicConstant = SymbolicArg && std::is_empty_v && std::is_final_v && std::is_trivial_v && + std::is_trivially_copy_constructible_v && std::is_trivially_move_constructible_v; /** * @brief Type list type used by the expression template framework