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 with Boost fail to build: error: call to function 'operator<<' that is neither visible in the template definition nor found by argument-dependent lookup #645

Closed
yurivict opened this issue Sep 26, 2021 · 1 comment · Fixed by #646

Comments

@yurivict
Copy link

[ 10% 14/48] /usr/bin/c++ -DCLI11_BOOST_OPTIONAL -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -isystem /usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/OptionalTest.dir/OptionalTest.cpp.o -MF tests/CMakeFiles/OptionalTest.dir/OptionalTest.cpp.o.d -o tests/CMakeFiles/OptionalTest.dir/OptionalTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/OptionalTest.cpp
FAILED: tests/CMakeFiles/OptionalTest.dir/OptionalTest.cpp.o 
/usr/bin/c++ -DCLI11_BOOST_OPTIONAL -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -isystem /usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/OptionalTest.dir/OptionalTest.cpp.o -MF tests/CMakeFiles/OptionalTest.dir/OptionalTest.cpp.o.d -o tests/CMakeFiles/OptionalTest.dir/OptionalTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/OptionalTest.cpp
In file included from /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/OptionalTest.cpp:52:
/usr/local/include/boost/optional/optional_io.hpp:47:21: error: call to function 'operator<<' that is neither visible in the template definition nor found by argument-dependent lookup
    else out << ' ' << *v ;
                    ^
tests/catch.hpp:1449:20: note: in instantiation of function template specialization 'boost::operator<<<char, std::__1::char_traits<char>, eval>' requested here
            *m_oss << value;
                   ^
tests/catch.hpp:1621:21: note: in instantiation of function template specialization 'Catch::ReusableStringStream::operator<<<boost::optional<eval>>' requested here
                rss.operator<<(value);
                    ^
tests/catch.hpp:1643:114: note: in instantiation of function template specialization 'Catch::StringMaker<boost::optional<eval>, void>::convert<boost::optional<eval>>' requested here
            return ::Catch::StringMaker<typename std::remove_cv<typename std::remove_reference<T>::type>::type>::convert(e);
                                                                                                                 ^
tests/catch.hpp:2302:34: note: in instantiation of function template specialization 'Catch::Detail::stringify<boost::optional<eval>>' requested here
            os << Catch::Detail::stringify( m_lhs );
                                 ^
tests/catch.hpp:2566:30: note: in instantiation of member function 'Catch::UnaryExpr<const boost::optional<eval> &>::streamReconstructedExpression' requested here
            handleExpr( expr.makeUnaryExpr() );
                             ^
/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/OptionalTest.cpp:246:5: note: in instantiation of function template specialization 'Catch::AssertionHandler::handleExpr<const boost::optional<eval> &>' requested here
    CHECK(opt);
    ^
tests/catch.hpp:17648:22: note: expanded from macro 'CHECK'
#define CHECK( ... ) INTERNAL_CATCH_TEST( "CHECK", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
                     ^
tests/catch.hpp:2708:35: note: expanded from macro 'INTERNAL_CATCH_TEST'
            catchAssertionHandler.handleExpr( Catch::Decomposer() <= __VA_ARGS__ ); \
                                  ^
/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include/CLI/StringTools.hpp:30:15: note: 'operator<<' should be declared prior to the call site or in namespace '(anonymous)'
std::ostream &operator<<(std::ostream &in, const T &item) {
              ^
In file included from /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/OptionalTest.cpp:52:
/usr/local/include/boost/optional/optional_io.hpp:47:21: error: invalid operands to binary expression ('basic_ostream<char, std::__1::char_traits<char>>' and 'const std::__1::vector<int, std::__1::allocator<int>>')
    else out << ' ' << *v ;
         ~~~~~~~~~~ ^  ~~
tests/catch.hpp:1449:20: note: in instantiation of function template specialization 'boost::operator<<<char, std::__1::char_traits<char>, std::__1::vector<int, std::__1::allocator<int>>>' requested here
            *m_oss << value;
                   ^
tests/catch.hpp:1621:21: note: in instantiation of function template specialization 'Catch::ReusableStringStream::operator<<<boost::optional<std::__1::vector<int, std::__1::allocator<int>>>>' requested here
                rss.operator<<(value);
                    ^
tests/catch.hpp:1643:114: note: in instantiation of function template specialization 'Catch::StringMaker<boost::optional<std::__1::vector<int, std::__1::allocator<int>>>, void>::convert<boost::optional<std::__1::vector<int, std::__1::allocator<int>>>>' requested here
            return ::Catch::StringMaker<typename std::remove_cv<typename std::remove_reference<T>::type>::type>::convert(e);
                                                                                                                 ^
tests/catch.hpp:2302:34: note: in instantiation of function template specialization 'Catch::Detail::stringify<boost::optional<std::__1::vector<int, std::__1::allocator<int>>>>' requested here
            os << Catch::Detail::stringify( m_lhs );
                                 ^
tests/catch.hpp:2566:30: note: in instantiation of member function 'Catch::UnaryExpr<const boost::optional<std::__1::vector<int, std::__1::allocator<int>>> &>::streamReconstructedExpression' requested here
            handleExpr( expr.makeUnaryExpr() );
                             ^
/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/OptionalTest.cpp:265:5: note: in instantiation of function template specialization 'Catch::AssertionHandler::handleExpr<const boost::optional<std::__1::vector<int, std::__1::allocator<int>>> &>' requested here
    CHECK(opt);
    ^
tests/catch.hpp:17648:22: note: expanded from macro 'CHECK'
#define CHECK( ... ) INTERNAL_CATCH_TEST( "CHECK", Catch::ResultDisposition::ContinueOnFailure, __VA_ARGS__ )
                     ^
tests/catch.hpp:2708:35: note: expanded from macro 'INTERNAL_CATCH_TEST'
            catchAssertionHandler.handleExpr( Catch::Decomposer() <= __VA_ARGS__ ); \
                                  ^
/usr/include/c++/v1/ostream:760:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'char' for 2nd argument
operator<<(basic_ostream<_CharT, _Traits>& __os, char __cn)
^
/usr/include/c++/v1/ostream:793:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'char' for 2nd argument
operator<<(basic_ostream<char, _Traits>& __os, char __c)
^
/usr/include/c++/v1/ostream:800:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'signed char' for 2nd argument
operator<<(basic_ostream<char, _Traits>& __os, signed char __c)
^
/usr/include/c++/v1/ostream:807:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'unsigned char' for 2nd argument
operator<<(basic_ostream<char, _Traits>& __os, unsigned char __c)
^
/usr/include/c++/v1/ostream:821:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const char *' for 2nd argument
operator<<(basic_ostream<_CharT, _Traits>& __os, const char* __strn)
^
/usr/include/c++/v1/ostream:867:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const char *' for 2nd argument
operator<<(basic_ostream<char, _Traits>& __os, const char* __str)
^
/usr/include/c++/v1/ostream:874:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const signed char *' for 2nd argument
operator<<(basic_ostream<char, _Traits>& __os, const signed char* __str)
^
/usr/include/c++/v1/ostream:882:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const unsigned char *' for 2nd argument
operator<<(basic_ostream<char, _Traits>& __os, const unsigned char* __str)
^
/usr/include/c++/v1/ostream:1066:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const std::__1::error_code' for 2nd argument
operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __ec)
^
/usr/include/c++/v1/random:3895:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const std::__1::bernoulli_distribution' for 2nd argument
operator<<(basic_ostream<_CharT, _Traits>& __os, const bernoulli_distribution& __x)
^
/usr/local/include/boost/optional/optional.hpp:1589:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const optional_detail::optional_tag' for 2nd argument
operator<<(std::basic_ostream<CharType, CharTrait>& os, optional_detail::optional_tag const&)
^
/usr/local/include/boost/optional/optional_io.hpp:28:1: note: candidate function template not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'boost::none_t' for 2nd argument
operator<<(std::basic_ostream<CharType, CharTrait>& out, none_t)
^
/usr/include/c++/v1/ostream:753:1: note: candidate template ignored: deduced conflicting types for parameter '_CharT' ('char' vs. 'std::__1::vector<int, std::__1::allocator<int>>')
operator<<(basic_ostream<_CharT, _Traits>& __os, _CharT __c)
^
/usr/include/c++/v1/ostream:814:1: note: candidate template ignored: could not match 'const _CharT *' against 'std::__1::vector<int, std::__1::allocator<int>>'
operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __str)
^
/usr/include/c++/v1/ostream:1049:1: note: candidate template ignored: could not match 'basic_string' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/ostream:1057:1: note: candidate template ignored: could not match 'basic_string_view' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/ostream:1074:1: note: candidate template ignored: could not match 'shared_ptr' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p)
^
/usr/include/c++/v1/ostream:1093:1: note: candidate template ignored: could not match 'bitset' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os, const bitset<_Size>& __x)
^
/usr/local/include/boost/optional/optional_io.hpp:41:1: note: candidate template ignored: could not match 'optional' against 'vector'
operator<<(std::basic_ostream<CharType, CharTrait>& out, optional<T> const& v)
^
/usr/include/c++/v1/ostream:1039:1: note: candidate template ignored: requirement '!is_lvalue_reference<std::__1::basic_ostream<char, std::__1::char_traits<char>> &>::value' was not satisfied [with _Stream = std::__1::basic_ostream<char> &, _Tp = std::__1::vector<int, std::__1::allocator<int>>]
operator<<(_Stream&& __os, const _Tp& __x)
^
/usr/include/c++/v1/ostream:1086:1: note: candidate template ignored: could not match 'unique_ptr' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os, unique_ptr<_Yp, _Dp> const& __p)
^
/usr/include/c++/v1/complex:1443:1: note: candidate template ignored: could not match 'complex' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x)
^
/usr/include/c++/v1/iomanip:362:1: note: candidate template ignored: could not match '__iom_t8' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_MoneyT>& __x)
^
/usr/include/c++/v1/iomanip:482:1: note: candidate template ignored: could not match '__iom_t10' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t10<_CharT>& __x)
^
/usr/include/c++/v1/iomanip:572:33: note: candidate template ignored: could not match '__quoted_output_proxy' against 'vector'
basic_ostream<_CharT, _Traits>& operator<<(
                                ^
/usr/include/c++/v1/iomanip:592:33: note: candidate template ignored: could not match '__quoted_proxy' against 'vector'
basic_ostream<_CharT, _Traits>& operator<<(
                                ^
/usr/include/c++/v1/random:1981:1: note: candidate template ignored: could not match 'linear_congruential_engine' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:2451:1: note: candidate template ignored: could not match 'mersenne_twister_engine' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:2772:1: note: candidate template ignored: could not match 'subtract_with_carry_engine' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:2954:1: note: candidate template ignored: could not match 'discard_block_engine' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:3207:1: note: candidate template ignored: could not match 'independent_bits_engine' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:3439:1: note: candidate template ignored: could not match 'shuffle_order_engine' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:3662:1: note: candidate template ignored: could not match 'uniform_int_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:3783:1: note: candidate template ignored: could not match 'uniform_real_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:4078:1: note: candidate template ignored: could not match 'binomial_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:4196:1: note: candidate template ignored: could not match 'exponential_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:4350:1: note: candidate template ignored: could not match 'normal_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:4500:1: note: candidate template ignored: could not match 'lognormal_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:4724:1: note: candidate template ignored: could not match 'poisson_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:4835:1: note: candidate template ignored: could not match 'weibull_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:4954:1: note: candidate template ignored: could not match 'extreme_value_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:5126:1: note: candidate template ignored: could not match 'gamma_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:5262:1: note: candidate template ignored: could not match 'negative_binomial_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:5368:1: note: candidate template ignored: could not match 'geometric_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:5472:1: note: candidate template ignored: could not match 'chi_squared_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:5592:1: note: candidate template ignored: could not match 'cauchy_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:5714:1: note: candidate template ignored: could not match 'fisher_f_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:5830:1: note: candidate template ignored: could not match 'student_t_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:6053:1: note: candidate template ignored: could not match 'discrete_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:6355:1: note: candidate template ignored: could not match 'piecewise_constant_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/random:6695:1: note: candidate template ignored: could not match 'piecewise_linear_distribution' against 'vector'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^
/usr/include/c++/v1/ostream:195:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'std::__1::basic_ostream<char> &(*)(std::__1::basic_ostream<char> &)' for 1st argument
    basic_ostream& operator<<(basic_ostream& (*__pf)(basic_ostream&))
                   ^
/usr/include/c++/v1/ostream:199:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'basic_ios<std::__1::basic_ostream<char, std::__1::char_traits<char>>::char_type, std::__1::basic_ostream<char, std::__1::char_traits<char>>::traits_type> &(*)(basic_ios<std::__1::basic_ostream<char, std::__1::char_traits<char>>::char_type, std::__1::basic_ostream<char, std::__1::char_traits<char>>::traits_type> &)' (aka 'basic_ios<char, std::__1::char_traits<char>> &(*)(basic_ios<char, std::__1::char_traits<char>> &)') for 1st argument
    basic_ostream& operator<<(basic_ios<char_type, traits_type>&
                   ^
/usr/include/c++/v1/ostream:204:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'std::__1::ios_base &(*)(std::__1::ios_base &)' for 1st argument
    basic_ostream& operator<<(ios_base& (*__pf)(ios_base&))
                   ^
/usr/include/c++/v1/ostream:207:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'bool' for 1st argument
    basic_ostream& operator<<(bool __n);
                   ^
/usr/include/c++/v1/ostream:208:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'short' for 1st argument
    basic_ostream& operator<<(short __n);
                   ^
/usr/include/c++/v1/ostream:209:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'unsigned short' for 1st argument
    basic_ostream& operator<<(unsigned short __n);
                   ^
/usr/include/c++/v1/ostream:210:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'int' for 1st argument
    basic_ostream& operator<<(int __n);
                   ^
/usr/include/c++/v1/ostream:211:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'unsigned int' for 1st argument
    basic_ostream& operator<<(unsigned int __n);
                   ^
/usr/include/c++/v1/ostream:212:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'long' for 1st argument
    basic_ostream& operator<<(long __n);
                   ^
/usr/include/c++/v1/ostream:213:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'unsigned long' for 1st argument
    basic_ostream& operator<<(unsigned long __n);
                   ^
/usr/include/c++/v1/ostream:214:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'long long' for 1st argument
    basic_ostream& operator<<(long long __n);
                   ^
/usr/include/c++/v1/ostream:215:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'unsigned long long' for 1st argument
    basic_ostream& operator<<(unsigned long long __n);
                   ^
/usr/include/c++/v1/ostream:216:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'float' for 1st argument
    basic_ostream& operator<<(float __f);
                   ^
/usr/include/c++/v1/ostream:217:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'double' for 1st argument
    basic_ostream& operator<<(double __f);
                   ^
/usr/include/c++/v1/ostream:218:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'long double' for 1st argument
    basic_ostream& operator<<(long double __f);
                   ^
/usr/include/c++/v1/ostream:219:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'const void *' for 1st argument; take the address of the argument with &
    basic_ostream& operator<<(const void* __p);
                   ^
/usr/include/c++/v1/ostream:220:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'basic_streambuf<std::__1::basic_ostream<char, std::__1::char_traits<char>>::char_type, std::__1::basic_ostream<char, std::__1::char_traits<char>>::traits_type> *' (aka 'basic_streambuf<char, std::__1::char_traits<char>> *') for 1st argument
    basic_ostream& operator<<(basic_streambuf<char_type, traits_type>* __sb);
                   ^
/usr/include/c++/v1/ostream:223:20: note: candidate function not viable: no known conversion from 'const std::__1::vector<int, std::__1::allocator<int>>' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
    basic_ostream& operator<<(nullptr_t)
                   ^
2 errors generated.
[ 12% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/SimpleTest.dir/SimpleTest.cpp.o -MF tests/CMakeFiles/SimpleTest.dir/SimpleTest.cpp.o.d -o tests/CMakeFiles/SimpleTest.dir/SimpleTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/SimpleTest.cpp
[ 14% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/FormatterTest.dir/FormatterTest.cpp.o -MF tests/CMakeFiles/FormatterTest.dir/FormatterTest.cpp.o.d -o tests/CMakeFiles/FormatterTest.dir/FormatterTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/FormatterTest.cpp
[ 16% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/ComplexTypeTest.dir/ComplexTypeTest.cpp.o -MF tests/CMakeFiles/ComplexTypeTest.dir/ComplexTypeTest.cpp.o.d -o tests/CMakeFiles/ComplexTypeTest.dir/ComplexTypeTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/ComplexTypeTest.cpp
[ 18% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/OptionGroupTest.dir/OptionGroupTest.cpp.o -MF tests/CMakeFiles/OptionGroupTest.dir/OptionGroupTest.cpp.o.d -o tests/CMakeFiles/OptionGroupTest.dir/OptionGroupTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/OptionGroupTest.cpp
[ 20% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/NewParseTest.dir/NewParseTest.cpp.o -MF tests/CMakeFiles/NewParseTest.dir/NewParseTest.cpp.o.d -o tests/CMakeFiles/NewParseTest.dir/NewParseTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/NewParseTest.cpp
[ 22% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/StringParseTest.dir/StringParseTest.cpp.o -MF tests/CMakeFiles/StringParseTest.dir/StringParseTest.cpp.o.d -o tests/CMakeFiles/StringParseTest.dir/StringParseTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/StringParseTest.cpp
[ 25% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -isystem /usr/local/include -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/BoostOptionTypeTest.dir/BoostOptionTypeTest.cpp.o -MF tests/CMakeFiles/BoostOptionTypeTest.dir/BoostOptionTypeTest.cpp.o.d -o tests/CMakeFiles/BoostOptionTypeTest.dir/BoostOptionTypeTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/BoostOptionTypeTest.cpp
[ 27% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/HelpTest.dir/HelpTest.cpp.o -MF tests/CMakeFiles/HelpTest.dir/HelpTest.cpp.o.d -o tests/CMakeFiles/HelpTest.dir/HelpTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/HelpTest.cpp
[ 29% 14/48] /usr/bin/c++  -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/include -I/disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests -Itests -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -fno-strict-aliasing -fno-omit-frame-pointer -Wall -Wextra -pedantic -Wshadow -Wsign-conversion -Wswitch-enum -std=c++11 -MD -MT tests/CMakeFiles/AppTest.dir/AppTest.cpp.o -MF tests/CMakeFiles/AppTest.dir/AppTest.cpp.o.d -o tests/CMakeFiles/AppTest.dir/AppTest.cpp.o -c /disk-samsung/freebsd-ports/devel/cli11/work/CLI11-2.1.0/tests/AppTest.cpp
ninja: build stopped: subcommand failed.
*** Error code 1

Version: 2.1.0
boost-libs-1.72.0_5
clang-11
FreeBSD 13

@henryiii
Copy link
Collaborator

Thanks! The problem was that when we moved to Catch2 from GoogleTest, it was injecting printouts of the values in the Catch2 macros, and by default there's no ostream operator for these. Manually splitting the bool checks into two lines fixed it. We used to have Boost tests, but they were lost some time ago with GHA/Azure dropped Boost by default. I've readded a simple Boost job.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants