Commit b56117b1 authored by Théo DELRIEU's avatar Théo DELRIEU

add noexcept tests

parent af94e712
...@@ -840,7 +840,7 @@ template <typename = void, typename = void> ...@@ -840,7 +840,7 @@ template <typename = void, typename = void>
struct adl_serializer struct adl_serializer
{ {
template <typename Json, typename T> template <typename Json, typename T>
static void from_json(Json&& j, T& val) static void from_json(Json&& j, T& val) noexcept(noexcept(::nlohmann::from_json(std::forward<Json>(j), val)))
{ {
::nlohmann::from_json(std::forward<Json>(j), val); ::nlohmann::from_json(std::forward<Json>(j), val);
} }
......
...@@ -840,7 +840,7 @@ template <typename = void, typename = void> ...@@ -840,7 +840,7 @@ template <typename = void, typename = void>
struct adl_serializer struct adl_serializer
{ {
template <typename Json, typename T> template <typename Json, typename T>
static void from_json(Json&& j, T& val) static void from_json(Json&& j, T& val) noexcept(noexcept(::nlohmann::from_json(std::forward<Json>(j), val)))
{ {
::nlohmann::from_json(std::forward<Json>(j), val); ::nlohmann::from_json(std::forward<Json>(j), val);
} }
......
...@@ -13,6 +13,8 @@ struct pod_bis {}; ...@@ -13,6 +13,8 @@ struct pod_bis {};
void to_json(json &, pod) noexcept; void to_json(json &, pod) noexcept;
void to_json(json &, pod_bis); void to_json(json &, pod_bis);
void from_json(const json&, pod) noexcept;
void from_json(const json&, pod_bis);
static json j; static json j;
static_assert(noexcept(json{}), ""); static_assert(noexcept(json{}), "");
...@@ -25,3 +27,6 @@ static_assert(not noexcept(nlohmann::to_json(j, pod_bis{})), ""); ...@@ -25,3 +27,6 @@ static_assert(not noexcept(nlohmann::to_json(j, pod_bis{})), "");
static_assert(noexcept(json(2)), ""); static_assert(noexcept(json(2)), "");
static_assert(noexcept(json(test{})), ""); static_assert(noexcept(json(test{})), "");
static_assert(noexcept(json(pod{})), ""); static_assert(noexcept(json(pod{})), "");
static_assert(noexcept(j.get<pod>()), "");
static_assert(not noexcept(j.get<pod_bis>()), "");
static_assert(noexcept(json(pod{})), "");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment