From df73d12272fa8f27041d045cfc583a0f6c98fcd8 Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Sun, 10 Oct 2021 16:56:13 +0300 Subject: [PATCH] types: remove recursive constraint in deserialize_value deserialize_value() has a constraint that depends on another deserialize_value() implementation. Apprently gcc wants to instantiate the deserialize_value() instance we're constraining while evaluating the constraint, leading to a loop. Since this deserialize_value() is just an internal helper, drop the constraint rather than fighting it. --- types.cc | 3 --- 1 file changed, 3 deletions(-) diff --git a/types.cc b/types.cc index d4ac4f5504..bab1622872 100644 --- a/types.cc +++ b/types.cc @@ -2127,9 +2127,6 @@ sstring deserialize_value(const string_type_impl&, View v) { } template -requires requires (const T& t, bytes_view v) { - deserialize_value(t, single_fragmented_view(v)); -} decltype(auto) deserialize_value(const T& t, bytes_view v) { return deserialize_value(t, single_fragmented_view(v)); }