aboutsummaryrefslogtreecommitdiff
path: root/src/serialization/debug_archive.h
diff options
context:
space:
mode:
authorjeffro256 <jeffro256@tutanota.com>2023-11-17 02:19:45 -0600
committerjeffro256 <jeffro256@tutanota.com>2024-02-08 13:22:33 -0600
commit33e3f72d246ce58336a52c24d5bbb31fdd02600b (patch)
tree5f33b3b646c79a032e9275fd54fecc3db41c938c /src/serialization/debug_archive.h
parent8eab181fe13536224b569110d8f74bbde0874d3d (diff)
downloadmonzero-core-33e3f72d246ce58336a52c24d5bbb31fdd02600b.tar.gz
monzero-core-33e3f72d246ce58336a52c24d5bbb31fdd02600b.tar.xz
monzero-core-33e3f72d246ce58336a52c24d5bbb31fdd02600b.zip
serialization: fix infinite loops and clean up dispatching
Resolves #8687
Diffstat (limited to 'src/serialization/debug_archive.h')
-rw-r--r--src/serialization/debug_archive.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/serialization/debug_archive.h b/src/serialization/debug_archive.h
index 479ed0cac..b05cd773e 100644
--- a/src/serialization/debug_archive.h
+++ b/src/serialization/debug_archive.h
@@ -42,14 +42,12 @@ struct debug_archive : public json_archive<W> {
};
template <class T>
-struct serializer<debug_archive<true>, T>
+static inline bool do_serialize(debug_archive<true> &ar, T &v)
{
- static void serialize(debug_archive<true> &ar, T &v)
- {
ar.begin_object();
ar.tag(variant_serialization_traits<debug_archive<true>, T>::get_tag());
- serializer<json_archive<true>, T>::serialize(ar, v);
+ do_serialize(static_cast<json_archive<true>&>(ar), v);
ar.end_object();
ar.stream() << std::endl;
- }
-};
+ return true;
+}