diff --git a/src/olympic/keel/include/keel/typeconv.hpp b/src/olympic/keel/include/keel/typeconv.hpp index e9f2c2cc..c86fb850 100644 --- a/src/olympic/keel/include/keel/typeconv.hpp +++ b/src/olympic/keel/include/keel/typeconv.hpp @@ -129,7 +129,7 @@ class BaseConverter { template -class ConverterFunc: public BaseConverter { +class ConverterFunc final: public BaseConverter { private: template struct ParamPack { @@ -200,14 +200,14 @@ class Converter { BaseConverter *m_conv{}; public: template - static Converter make() { + static Converter make() noexcept { Converter out; static_assert(sizeof(ConverterFunc) <= sizeof(out.m_buff)); out.m_conv = new (out.m_buff.data()) ConverterFunc{}; return out; } constexpr Converter() {} - Converter(Converter const &other): + Converter(Converter const &other) noexcept: m_buff{other.m_buff}, m_conv{m_buff.data()} {} [[nodiscard]]