mirror of
https://github.com/nlohmann/json.git
synced 2025-07-28 12:02:00 +03:00
add noexcept tests
This commit is contained in:
@ -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>
|
|||||||
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 {};
|
|||||||
|
|
||||||
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{})), "");
|
|||||||
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{})), "");
|
||||||
|
Reference in New Issue
Block a user