Skip to content

nlohmann::ordered_json: not compatible with NLOHMANN_DEFINE_TYPE_INTRUSIVE #4377

@17steen

Description

@17steen

Description

If a type is defined with NLOHMANN_DEFINE_TYPE_INTRUSIVE, it cannot directly be used with ordered_json.

Reproduction steps

#include <nlohmann/json.hpp>

struct my_type_t {
       std::string key;

       NLOHMANN_DEFINE_TYPE_INTRUSIVE(my_type_t, key)
};

int main()
{
    auto thing = my_type_t{};

    nlohmann::json my_json = thing;
    // doesn't compile
    nlohmann::ordered_json my_ordered_json = thing;

    return 0;
}

Expected vs. actual results

I would expect nlohmann::ordered_json my_ordered_json = custom_type; to compile

Minimal code example

No response

Error messages

No response

Compiler and operating system

gcc 13.1

Library version

trunk on godbolt

Validation

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind: bugsolution: proposed fixa fix for the issue has been proposed and waits for confirmation

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions