Skip to content

use of overloaded operator '<=>' is ambiguous #4197

Closed as not planned
Closed as not planned
@nlohmann

Description

@nlohmann

Description

I want to prepare the next release, but compiling the example file docs/examples/operator_spaceship__const_reference.c++20.cpp fails.

Reproduction steps

Compile file docs/examples/operator_spaceship__const_reference.c++20.cpp.

  • Delete docs/examples/operator_spaceship__const_reference.c++20.output
  • Call make -Cdocs create_output

Expected vs. actual results

Expected: No error.

Actual: Compilation error.

Minimal code example

#include <compare>
#include <iostream>
#include <nlohmann/json.hpp>

using json = nlohmann::json;

const char* to_string(const std::partial_ordering& po)
{
    if (std::is_lt(po))
    {
        return "less";
    }
    else if (std::is_gt(po))
    {
        return "greater";
    }
    else if (std::is_eq(po))
    {
        return "equivalent";
    }
    return "unordered";
}

int main()
{
    // create several JSON values
    json array_1 = {1, 2, 3};
    json array_2 = {1, 2, 4};
    json object_1 = {{"A", "a"}, {"B", "b"}};
    json object_2 = {{"B", "b"}, {"A", "a"}};
    json number = 17;
    json string = "foo";
    json discarded = json(json::value_t::discarded);

    // output values and comparisons
    std::cout << array_1 << " <=> " << array_2 << " := " << to_string(array_1 <=> array_2) << '\n'; // *NOPAD*
    std::cout << object_1 << " <=> " << object_2 << " := " << to_string(object_1 <=> object_2) << '\n'; // *NOPAD*
    std::cout << string << " <=> " << number << " := " << to_string(string <=> number) << '\n'; // *NOPAD*
    std::cout << string << " <=> " << discarded << " := " << to_string(string <=> discarded) << '\n'; // *NOPAD*
}

Error messages

make create_output
standard
/Library/Developer/CommandLineTools/usr/bin/make examples/operator_spaceship__const_reference.c++20 \
		CPPFLAGS="-I ../single_include -DJSON_USE_GLOBAL_UDLS=0" \
		CXXFLAGS="-std=c++20 -Wno-deprecated-declarations"
c++ -std=c++20 -Wno-deprecated-declarations -I ../single_include -DJSON_USE_GLOBAL_UDLS=0   examples/operator_spaceship__const_reference.c++20.cpp   -o examples/operator_spaceship__const_reference.c++20
examples/operator_spaceship__const_reference.c++20.cpp:36:79: error: use of overloaded operator '<=>' is ambiguous (with operand types 'json' (aka 'basic_json<>') and 'json')
    std::cout << array_1 << " <=> " << array_2 << " := " << to_string(array_1 <=> array_2) << '\n'; // *NOPAD*
                                                                      ~~~~~~~ ^   ~~~~~~~
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(enum nlohmann::detail::value_t, enum nlohmann::detail::value_t)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(float, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(__int128, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:36:79: note: built-in candidate operator<=>(unsigned __int128, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: error: use of overloaded operator '<=>' is ambiguous (with operand types 'json' (aka 'basic_json<>') and 'json')
    std::cout << object_1 << " <=> " << object_2 << " := " << to_string(object_1 <=> object_2) << '\n'; // *NOPAD*
                                                                        ~~~~~~~~ ^   ~~~~~~~~
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(enum nlohmann::detail::value_t, enum nlohmann::detail::value_t)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(float, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(__int128, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:37:82: note: built-in candidate operator<=>(unsigned __int128, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: error: use of overloaded operator '<=>' is ambiguous (with operand types 'json' (aka 'basic_json<>') and 'json')
    std::cout << string << " <=> " << number << " := " << to_string(string <=> number) << '\n'; // *NOPAD*
                                                                    ~~~~~~ ^   ~~~~~~
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(enum nlohmann::detail::value_t, enum nlohmann::detail::value_t)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(float, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(__int128, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:38:76: note: built-in candidate operator<=>(unsigned __int128, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: error: use of overloaded operator '<=>' is ambiguous (with operand types 'json' (aka 'basic_json<>') and 'json')
    std::cout << string << " <=> " << discarded << " := " << to_string(string <=> discarded) << '\n'; // *NOPAD*
                                                                       ~~~~~~ ^   ~~~~~~~~~
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(enum nlohmann::detail::value_t, enum nlohmann::detail::value_t)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(float, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long double, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(__int128, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned int, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned long long, unsigned __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, float)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, long double)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, __int128)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, unsigned int)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, unsigned long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, unsigned long long)
examples/operator_spaceship__const_reference.c++20.cpp:39:79: note: built-in candidate operator<=>(unsigned __int128, unsigned __int128)
4 errors generated.
make[1]: *** [examples/operator_spaceship__const_reference.c++20] Error 1
make: *** [examples/operator_spaceship__const_reference.c++20.output] Error 2

Compiler and operating system

Apple clang version 15.0.0 (clang-1500.0.40.1)

Library version

develop

Validation

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind: bugstate: help neededthe issue needs help to proceedstate: stalethe issue has not been updated in a while and will be closed automatically soon unless it is updated

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions