diff --git a/src/serialize.h b/src/serialize.h index de37fddf292..7e4788a5ca2 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -1161,12 +1161,11 @@ public: template class ParamsWrapper { - static_assert(std::is_lvalue_reference::value, "ParamsWrapper needs an lvalue reference type T"); const Params& m_params; - T m_object; + T& m_object; public: - explicit ParamsWrapper(const Params& params, T obj) : m_params{params}, m_object{obj} {} + explicit ParamsWrapper(const Params& params, T& obj) : m_params{params}, m_object{obj} {} template void Serialize(Stream& s) const @@ -1190,7 +1189,7 @@ public: template static auto WithParams(const Params& params, T&& t) { - return ParamsWrapper{params, t}; + return ParamsWrapper{params, t}; } #endif // BITCOIN_SERIALIZE_H