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.
This commit is contained in:
Avi Kivity
2021-10-10 16:56:13 +03:00
parent 58a0e80021
commit df73d12272

View File

@@ -2127,9 +2127,6 @@ sstring deserialize_value(const string_type_impl&, View v) {
}
template<typename T>
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));
}