fuzz, refactor: Remove Serialize overload

Serialization parameters should be embedded into the object being
serialized rather than passed as a separate argument. This works here
because only serialization is performed and no new object needs to be
constructed.

Github-Pull: #35679
Rebased-From: afab8d4225
This commit is contained in:
Hennadii Stepanov
2026-07-16 15:05:52 +01:00
committed by fanquake
parent 504ded6b0e
commit 444f2d7965

View File

@@ -57,14 +57,6 @@ namespace {
struct invalid_fuzzing_input_exception : public std::exception {
};
template <typename T, typename P>
DataStream Serialize(const T& obj, const P& params)
{
DataStream ds{};
ds << params(obj);
return ds;
}
template <typename T, typename P>
T Deserialize(DataStream&& ds, const P& params)
{
@@ -103,7 +95,7 @@ void DeserializeFromFuzzingInput(FuzzBufferType buffer, T&& obj)
template <typename T, typename P>
void AssertEqualAfterSerializeDeserialize(const T& obj, const P& params)
{
assert(Deserialize<T>(Serialize(obj, params), params) == obj);
assert(Deserialize<T>(Serialize(params(obj)), params) == obj);
}
template <typename T>
void AssertEqualAfterSerializeDeserialize(const T& obj)