diff --git a/CHANGELOG.md b/CHANGELOG.md index d6d45847..3654430e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ HEAD * Store object members with two slots: one for the key and one for the value * Store 64-bit numbers (`double` and `long long`) in an additional slot * Reduce the slot size (see table below) +* Improve message when user forgets third arg of `serializeJson()` et al. | Architecture | before | after | |--------------|----------|----------| diff --git a/src/ArduinoJson/Json/JsonSerializer.hpp b/src/ArduinoJson/Json/JsonSerializer.hpp index 476142e4..f8cf70c0 100644 --- a/src/ArduinoJson/Json/JsonSerializer.hpp +++ b/src/ArduinoJson/Json/JsonSerializer.hpp @@ -129,7 +129,8 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE // Produces a minified JSON document. // https://arduinojson.org/v7/api/json/serializejson/ template -size_t serializeJson(JsonVariantConst source, TDestination& destination) { +detail::enable_if_t::value, size_t> +serializeJson(JsonVariantConst source, TDestination& destination) { using namespace detail; return serialize(source, destination); } diff --git a/src/ArduinoJson/Json/PrettyJsonSerializer.hpp b/src/ArduinoJson/Json/PrettyJsonSerializer.hpp index b5e9e0f7..9ae03673 100644 --- a/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +++ b/src/ArduinoJson/Json/PrettyJsonSerializer.hpp @@ -84,7 +84,8 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE // Produces JsonDocument to create a prettified JSON document. // https://arduinojson.org/v7/api/json/serializejsonpretty/ template -size_t serializeJsonPretty(JsonVariantConst source, TDestination& destination) { +detail::enable_if_t::value, size_t> +serializeJsonPretty(JsonVariantConst source, TDestination& destination) { using namespace ArduinoJson::detail; return serialize(source, destination); } diff --git a/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp b/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp index b8374c4f..3058ad89 100644 --- a/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +++ b/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp @@ -219,7 +219,8 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE // Produces a MessagePack document. // https://arduinojson.org/v7/api/msgpack/serializemsgpack/ template -inline size_t serializeMsgPack(JsonVariantConst source, TDestination& output) { +detail::enable_if_t::value, size_t> +serializeMsgPack(JsonVariantConst source, TDestination& output) { using namespace ArduinoJson::detail; return serialize(source, output); }