Skip to content

Apple aarch64 Compiler Error, unable to compile jluna #64

@Clemapfel

Description

@Clemapfel

On Apple machines with the aarch64 architecture, such as the M1/M2 Macs, compiler errors of the following type may appear when compiling jluna. These is due to integer-sizes of common types such as size_t or uint64_t being unusually redefined on these platforms.

Currently, there is no fix for this, I'm sure it is perfectly fixable I just do not have access to a machine to test and debug for it, and Apple makes it impossible to legally obtain such a platform without spending the money to get a physical device.

In file included from /Users/username/Documents/dev/ExternalThreads/jluna/.test/main.cpp:4:
In file included from /Users/username/Documents/dev/ExternalThreads/jluna/jluna.hpp:23:
In file included from /Users/username/Documents/dev/ExternalThreads/jluna/include/module.hpp:281:
/Users/username/Documents/dev/ExternalThreads/jluna/.src/module.inl:256:32: error: no matching function for call to 'box'
        create_or_assign(name, box<std::tuple<Ts...>>(std::make_tuple(args...)));
                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/username/Documents/dev/ExternalThreads/jluna/.test/main.cpp:542:25: note: in instantiation of function template specialization 'jluna::Module::new_tuple<unsigned long long, std::string, int>' requested here
        auto res = Main.new_tuple("test", std::get<0>(value), std::get<1>(value), std::get<2>(value));
                        ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/symbol.inl:24:27: note: candidate function template not viable: no known conversion from 'tuple<typename __unwrap_ref_decay<unsigned long long &>::type, typename __unwrap_ref_decay<string &>::type, typename __unwrap_ref_decay<int &>::type>' (aka 'tuple<unsigned long long, std::string, int>') to 'const std::string' (aka 'const basic_string<char>') for 1st argument
    inline unsafe::Value* box(const std::string& value)
                          ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:26:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:25:14: note: because 'std::tuple<unsigned long long, std::string, int>' does not satisfy 'is_julia_value_pointer'
    template<is_julia_value_pointer T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:139:9: note: because 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_value_t *>' evaluated to false
        std::is_same_v<T, jl_value_t*> or
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:140:9: note: and 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_module_t *>' evaluated to false
        std::is_same_v<T, jl_module_t*> or
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:141:9: note: and 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_array_t *>' evaluated to false
        std::is_same_v<T, jl_array_t*> or
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:142:9: note: and 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_datatype_t *>' evaluated to false
        std::is_same_v<T, jl_datatype_t*> or
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:143:9: note: and 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_function_t *>' evaluated to false
        std::is_same_v<T, jl_function_t*> or
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:144:9: note: and 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_sym_t *>' evaluated to false
        std::is_same_v<T, jl_sym_t*> or
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:145:9: note: and 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_expr_t *>' evaluated to false
        std::is_same_v<T, jl_expr_t*> or
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:146:9: note: and 'std::is_same_v<std::tuple<unsigned long long, std::string, int>, jl_unionall_t *>' evaluated to false
        std::is_same_v<T, jl_unionall_t*>;
        ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:32:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:31:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, std::nullptr_t>' evaluated to false
    template<is<std::nullptr_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<std::nullptr_t>, is_same_or_const<tuple<unsigned long long, string, int>, std::nullptr_t> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:38:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:37:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, void *>' evaluated to false
    template<is<void*> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<void *>, is_same_or_const<tuple<unsigned long long, string, int>, void *> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:50:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:49:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, _Bool>' evaluated to false
    template<is<bool> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<_Bool>, is_same_or_const<tuple<unsigned long long, string, int>, _Bool> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:56:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:55:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, std::bool_constant<true> >' evaluated to false
    template<is<std::bool_constant<true>> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<integral_constant<_Bool, true> >, is_same_or_const<tuple<unsigned long long, string, int>, integral_constant<_Bool, true> > >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:62:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:61:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, std::bool_constant<false> >' evaluated to false
    template<is<std::bool_constant<false>> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<integral_constant<_Bool, false> >, is_same_or_const<tuple<unsigned long long, string, int>, integral_constant<_Bool, false> > >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:68:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:67:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, char>' evaluated to false
    template<is<char> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<char>, is_same_or_const<tuple<unsigned long long, string, int>, char> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:74:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:73:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, uint8_t>' evaluated to false
    template<is<uint8_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<unsigned char>, is_same_or_const<tuple<unsigned long long, string, int>, unsigned char> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:80:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:79:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, uint16_t>' evaluated to false
    template<is<uint16_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<unsigned short>, is_same_or_const<tuple<unsigned long long, string, int>, unsigned short> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:86:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:85:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, uint32_t>' evaluated to false
    template<is<uint32_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<unsigned int>, is_same_or_const<tuple<unsigned long long, string, int>, unsigned int> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:92:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:91:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, uint64_t>' evaluated to false
    template<is<uint64_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<unsigned long long>, is_same_or_const<tuple<unsigned long long, string, int>, unsigned long long> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:98:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:97:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, int8_t>' evaluated to false
    template<is<int8_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<signed char>, is_same_or_const<tuple<unsigned long long, string, int>, signed char> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:104:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:103:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, int16_t>' evaluated to false
    template<is<int16_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<short>, is_same_or_const<tuple<unsigned long long, string, int>, short> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:110:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:109:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, int32_t>' evaluated to false
    template<is<int32_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<int>, is_same_or_const<tuple<unsigned long long, string, int>, int> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:116:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:115:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, int64_t>' evaluated to false
    template<is<int64_t> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<long long>, is_same_or_const<tuple<unsigned long long, string, int>, long long> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:122:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:121:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, float>' evaluated to false
    template<is<float> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<float>, is_same_or_const<tuple<unsigned long long, string, int>, float> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:128:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:127:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, double>' evaluated to false
    template<is<double> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<double>, is_same_or_const<tuple<unsigned long long, string, int>, double> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:134:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:133:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, std::string>' evaluated to false
    template<is<std::string> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<string>, is_same_or_const<tuple<unsigned long long, string, int>, string> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:144:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:143:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, const char *>' evaluated to false
    template<is<const char*> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<const char *>, is_same_or_const<tuple<unsigned long long, string, int>, const char *> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/module.inl:20:27: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    inline unsafe::Value* box(T value)
                          ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/module.inl:19:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, Module>' evaluated to false
    template<is<Module> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<Module>, is_same_or_const<tuple<unsigned long long, string, int>, Module> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/box.hpp:116:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'key_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(const T& value);
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:155:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'value_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:162:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'value_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(const T& value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:180:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'key_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(const T& value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:196:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'value_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(const T& value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:213:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'first_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(const T& value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/box.hpp:166:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T);
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/box.hpp:165:14: note: because 'std::tuple<unsigned long long, std::string, int>' does not satisfy 'is_usertype'
    template<is_usertype T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:244:27: note: because 'usertype_enabled<tuple<unsigned long long, string, int> >::value' evaluated to false
    concept is_usertype = usertype_enabled<T>::value;
                          ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:44:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:43:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, void>' evaluated to false
    template<is<void> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<void>, is_same_or_const<tuple<unsigned long long, string, int>, void> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:226:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(const T& value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/box.inl:225:14: note: because 'std::tuple<unsigned long long, std::string, int>' does not satisfy 'is_tuple'
    template<is_tuple T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:233:24: note: because substituted constraint expression is ill-formed: no matching function for call to 'is_tuple_aux'
    concept is_tuple = detail::is_tuple_aux<T>(std::make_index_sequence<std::tuple_size<T>::value>());
                       ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/proxy.inl:19:27: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    inline unsafe::Value* box(T value)
                          ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/proxy.inl:18:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, Proxy>' evaluated to false
    template<is<Proxy> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<Proxy>, is_same_or_const<tuple<unsigned long long, string, int>, Proxy> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/mutex.inl:11:20: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    unsafe::Value* box(T in)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/mutex.inl:10:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, jluna::Mutex>' evaluated to false
    template<is<jluna::Mutex> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<Mutex>, is_same_or_const<tuple<unsigned long long, string, int>, Mutex> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/symbol.inl:18:27: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    inline unsafe::Value* box(T value)
                          ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/symbol.inl:17:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, Symbol>' evaluated to false
    template<is<Symbol> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<Symbol>, is_same_or_const<tuple<unsigned long long, string, int>, Symbol> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/type.inl:19:27: note: candidate template ignored: constraints not satisfied [with T = std::tuple<unsigned long long, std::string, int>]
    inline unsafe::Value* box(T value)
                          ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/type.inl:18:14: note: because 'is<std::tuple<unsigned long long, std::string, int>, Type>' evaluated to false
    template<is<Type> T>
             ^
/Users/username/Documents/dev/ExternalThreads/jluna/include/concepts.hpp:39:18: note: because 'std::conditional_t<std::is_void_v<tuple<unsigned long long, string, int> >, std::is_void<Type>, is_same_or_const<tuple<unsigned long long, string, int>, Type> >::value' evaluated to false
    concept is = std::conditional_t<
                 ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/array.inl:15:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'value_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(T value)
                   ^
/Users/username/Documents/dev/ExternalThreads/jluna/.src/array.inl:26:20: note: candidate template ignored: substitution failure [with T = std::tuple<unsigned long long, std::string, int>]: no type named 'value_type' in 'std::tuple<unsigned long long, std::string, int>'
    unsafe::Value* box(T value)

Metadata

Metadata

Assignees

No one assigned

    Labels

    appleissue only appears on applecompiler errorerror on compilationknown issuethe problem is known to the developer

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions