Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests fail to compile #286

Closed
yurivict opened this issue Jul 19, 2023 · 6 comments
Closed

Tests fail to compile #286

yurivict opened this issue Jul 19, 2023 · 6 comments
Labels

Comments

@yurivict
Copy link

FAILED: CMakeFiles/outcome-dependency-smoke-test_1.dir/test/tests/core-result.cpp.o 
/usr/local/libexec/ccache/c++  -I/usr/ports/devel/outcome/work/outcome-0bedf67/include -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fexceptions -frtti -fstack-protector-strong -Winvalid-pch -Xclang -include-pch -Xclang /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx -MD -MT CMakeFiles/outcome-dependency-smoke-test_1.dir/test/tests/core-result.cpp.o -MF CMakeFiles/outcome-dependency-smoke-test_1.dir/test/tests/core-result.cpp.o.d -o CMakeFiles/outcome-dependency-smoke-test_1.dir/test/tests/core-result.cpp.o -c /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/core-result.cpp
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1185:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(_value)) _value_type_();  // NOLINT
        ^~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:131:11: note: in instantiation of function template specialization 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::value_storage_nontrivial<std::error_code, true>' requested here
        : _state(o._state)
          ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:456:9: note: in instantiation of function template specialization 'outcome_v2::detail::basic_result_storage<udt5, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<udt5, std::error_code, void>>::basic_result_storage<void, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<void, std::error_code, void>>' requested here
      : base{typename base::compatible_conversion_tag(), o}
        ^
/usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/core-result.cpp:406:18: note: in instantiation of function template specialization 'outcome_v2::basic_result<udt5, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<udt5, std::error_code, void>>::basic_result<void, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<void, std::error_code, void>, true>' requested here
    result<udt5> k7(k6);
                 ^
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1200:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(_value)) _value_type_();  // NOLINT
        ^~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:137:11: note: in instantiation of function template specialization 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::value_storage_nontrivial<std::error_code, true>' requested here
        : _state(static_cast<decltype(o._state) &&>(o._state))
          ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:469:9: note: in instantiation of function template specialization 'outcome_v2::detail::basic_result_storage<udt5, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<udt5, std::error_code, void>>::basic_result_storage<void, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<void, std::error_code, void>>' requested here
      : base{typename base::compatible_conversion_tag(), static_cast<basic_result<T, U, V> &&>(o)}
        ^
/usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/core-result.cpp:407:18: note: in instantiation of function template specialization 'outcome_v2::basic_result<udt5, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<udt5, std::error_code, void>>::basic_result<void, std::error_code, outcome_v2::policy::error_code_throw_as_system_error<void, std::error_code, void>, true>' requested here
    result<udt5> k8(std::move(k6));
                 ^
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1222:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(_value)) _value_type_(o._value);  // NOLINT
        ^~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:131:11: note: in instantiation of function template specialization 'outcome_v2::detail::value_storage_nontrivial<udt5, int>::value_storage_nontrivial<int, true>' requested here
        : _state(o._state)
          ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:456:9: note: in instantiation of function template specialization 'outcome_v2::detail::basic_result_storage<udt5, int, outcome_v2::policy::fail_to_compile_observers>::basic_result_storage<int, void, outcome_v2::policy::terminate>' requested here
      : base{typename base::compatible_conversion_tag(), o}
        ^
/usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/core-result.cpp:410:23: note: in instantiation of function template specialization 'outcome_v2::basic_result<udt5, int, outcome_v2::policy::fail_to_compile_observers>::basic_result<int, void, outcome_v2::policy::terminate, true>' requested here
    result<udt5, int> k10(k9);
                      ^
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1237:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(_value)) _value_type_(static_cast<_value_type_ &&>(o._value));  // NOLINT
        ^~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:137:11: note: in instantiation of function template specialization 'outcome_v2::detail::value_storage_nontrivial<udt5, int>::value_storage_nontrivial<int, true>' requested here
        : _state(static_cast<decltype(o._state) &&>(o._state))
          ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:469:9: note: in instantiation of function template specialization 'outcome_v2::detail::basic_result_storage<udt5, int, outcome_v2::policy::fail_to_compile_observers>::basic_result_storage<int, void, outcome_v2::policy::terminate>' requested here
      : base{typename base::compatible_conversion_tag(), static_cast<basic_result<T, U, V> &&>(o)}
        ^
/usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/core-result.cpp:411:23: note: in instantiation of function template specialization 'outcome_v2::basic_result<udt5, int, outcome_v2::policy::fail_to_compile_observers>::basic_result<int, void, outcome_v2::policy::terminate, true>' requested here
    result<udt5, int> k11(std::move(k9));
                      ^
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1075:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(_value)) _value_type_(o._value);  // NOLINT
        ^~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1462:5: note: in instantiation of member function 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::value_storage_nontrivial' requested here
    value_storage_nontrivial_move_assignment(const value_storage_nontrivial_move_assignment &) = default;
    ^
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1058:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(_value)) _value_type_(static_cast<_value_type_ &&>(o._value));  // NOLINT
        ^~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1463:5: note: in instantiation of member function 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::value_storage_nontrivial' requested here
    value_storage_nontrivial_move_assignment(value_storage_nontrivial_move_assignment &&) = default;  // NOLINT
    ^
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1510:9: error: no matching constructor for initialization of 'move_assign_to_empty<_value_type_>' (aka 'move_assign_to_empty<udt5>')
        move_assign_to_empty<_value_type_>(OUTCOME_ADDRESS_OF(this->_value), OUTCOME_ADDRESS_OF(o._value));
        ^                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1566:111: note: in instantiation of member function 'outcome_v2::detail::value_storage_nontrivial_move_assignment<outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>>::operator=' requested here
    value_storage_nontrivial_copy_assignment &operator=(value_storage_nontrivial_copy_assignment &&o) = default;  // NOLINT
                                                                                                              ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:48:5: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'udt5 *' for 1st argument
    move_assign_to_empty(T *dest, T *o) noexcept(std::is_nothrow_move_constructible<T>::value) { new(dest) T(static_cast<T &&>(*o)); }
    ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:46:29: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
  template <class T> struct move_assign_to_empty<T, true, true>
                            ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:46:29: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1549:9: error: no matching constructor for initialization of 'move_assign_to_empty<_value_type_>' (aka 'move_assign_to_empty<udt5>')
        move_assign_to_empty<_value_type_>(OUTCOME_ADDRESS_OF(this->_value), OUTCOME_ADDRESS_OF(o._value));
        ^                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:48:5: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'udt5 *' for 1st argument
    move_assign_to_empty(T *dest, T *o) noexcept(std::is_nothrow_move_constructible<T>::value) { new(dest) T(static_cast<T &&>(*o)); }
    ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:46:29: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
  template <class T> struct move_assign_to_empty<T, true, true>
                            ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:46:29: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1607:9: error: no matching constructor for initialization of 'copy_assign_to_empty<_value_type_>' (aka 'copy_assign_to_empty<udt5>')
        copy_assign_to_empty<_value_type_>(OUTCOME_ADDRESS_OF(this->_value), OUTCOME_ADDRESS_OF(o._value));
        ^                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:96:75: note: in instantiation of member function 'outcome_v2::detail::value_storage_nontrivial_copy_assignment<outcome_v2::detail::value_storage_nontrivial_move_assignment<outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>>>::operator=' requested here
    basic_result_storage &operator=(const basic_result_storage &) = default;  // NOLINT
                                                                          ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:83:5: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'udt5 *' for 1st argument
    copy_assign_to_empty(T *dest, const T *o) noexcept(std::is_nothrow_copy_constructible<T>::value) { new(dest) T(*o); }
    ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:81:29: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
  template <class T> struct copy_assign_to_empty<T, true, true>
                            ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:81:29: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1642:9: error: no matching constructor for initialization of 'copy_assign_to_empty<_value_type_>' (aka 'copy_assign_to_empty<udt5>')
        copy_assign_to_empty<_value_type_>(OUTCOME_ADDRESS_OF(this->_value), OUTCOME_ADDRESS_OF(o._value));
        ^                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:83:5: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'udt5 *' for 1st argument
    copy_assign_to_empty(T *dest, const T *o) noexcept(std::is_nothrow_copy_constructible<T>::value) { new(dest) T(*o); }
    ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:81:29: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
  template <class T> struct copy_assign_to_empty<T, true, true>
                            ^
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:81:29: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1328:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(o._value)) _value_type_(static_cast<_value_type_ &&>(_value));  // NOLINT
        ^~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:694:18: note: in instantiation of member function 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::swap' requested here
    this->_state.swap(o._state);
                 ^
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1339:9: error: no matching function for call to 'operator new'
        new(OUTCOME_ADDRESS_OF(_value)) _value_type_(static_cast<_value_type_ &&>(o._value));  // NOLINT
        ^~~
/usr/include/c++/v1/new:192:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'const std::nothrow_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
/usr/include/c++/v1/new:208:66: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'std::align_val_t' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:225:70: note: candidate function not viable: cannot convert argument of incomplete type 'void' to 'void *' for 2nd argument
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void* operator new  (std::size_t, void* __p) _NOEXCEPT {return __p;}
                                                                     ^
/usr/include/c++/v1/new:191:66: note: candidate function not viable: requires single argument '__sz', but 2 arguments were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
                                                                 ^
/usr/include/c++/v1/new:209:66: note: candidate function not viable: requires 3 arguments, but 2 were provided
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
                                                                 ^
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1385:31: error: cannot initialize a member subobject of type 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::_value_type_ *' (aka 'udt5 *') with an rvalue of type 'void'
      } _{_status, o._status, OUTCOME_ADDRESS_OF(_value), OUTCOME_ADDRESS_OF(o._value), OUTCOME_ADDRESS_OF(_error), OUTCOME_ADDRESS_OF(o._error)};
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/../config.hpp:178:33: note: expanded from macro 'OUTCOME_ADDRESS_OF'
#define OUTCOME_ADDRESS_OF(...) (&__VA_ARGS__)
                                ^~~~~~~~~~~~~~
In file included from <built-in>:416:
In file included from /usr/ports/devel/outcome/work/.build/CMakeFiles/outcome-dependency-smoke-test_1.dir/cmake_pch.hxx:5:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome.hpp:27:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/iostream_support.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/outcome.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/test/tests/../../include/outcome/result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/std_result.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/basic_result.hpp:29:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/convert.hpp:28:
In file included from /usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/basic_result_storage.hpp:30:
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/policy/../detail/value_storage.hpp:1385:59: error: cannot initialize a member subobject of type 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::_value_type_ *' (aka 'udt5 *') with an rvalue of type 'void'
      } _{_status, o._status, OUTCOME_ADDRESS_OF(_value), OUTCOME_ADDRESS_OF(o._value), OUTCOME_ADDRESS_OF(_error), OUTCOME_ADDRESS_OF(o._error)};
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/ports/devel/outcome/work/outcome-0bedf67/include/outcome/detail/../config.hpp:178:33: note: expanded from macro 'OUTCOME_ADDRESS_OF'
#define OUTCOME_ADDRESS_OF(...) (&__VA_ARGS__)
                                ^~~~~~~~~~~~~~
14 errors generated.

rev. 0bedf67
clang-15
FreeBSD 13.2

@ned14
Copy link
Owner

ned14 commented Jul 20, 2023

Was this not fixed by 0bedf67?

@BurningEnlightenment
Copy link
Collaborator

/…/outcome/policy/../detail/value_storage.hpp:1385:31: error: cannot initialize a member subobject of type 'outcome_v2::detail::value_storage_nontrivial<udt5, std::error_code>::_value_type_ *' (aka 'udt5 *') with an rvalue of type 'void'
      } _{_status, o._status, OUTCOME_ADDRESS_OF(_value), OUTCOME_ADDRESS_OF(o._value), OUTCOME_ADDRESS_OF(_error), OUTCOME_ADDRESS_OF(o._error)};
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
/…/outcome/detail/../config.hpp:178:33: note: expanded from macro 'OUTCOME_ADDRESS_OF'
#define OUTCOME_ADDRESS_OF(...) (&__VA_ARGS__)
                                ^~~~~~~~~~~~~~

smells like some weird preprocessor interaction/bug in clang. Maybe this can be fixed by adding an additional pair of parentheses

#define OUTCOME_ADDRESS_OF(...) (&(__VA_ARGS__))

@ned14
Copy link
Owner

ned14 commented Jul 21, 2023

It compiles fine on clang both here locally and on all the clangs Boost.Outcome is CIed upon.

Could be the FreeBSD clang is weird of course.

@yurivict
Copy link
Author

Why is there no --std=C++xx argument? Compilers might be using different C++ standards.

@ned14
Copy link
Owner

ned14 commented Jul 21, 2023

We tell cmake the targets are C++ 14 or later. Up to cmake what it does with that.

@ned14
Copy link
Owner

ned14 commented Jul 21, 2023

I confirm that Outcome develop branch is compiling just fine on FreeBSD 13, so I'm going to close this. Feel free to reopen if it is untrue.

@ned14 ned14 closed this as completed Jul 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants