Compile [2024-11-19 02:08:35 UTC]: fail
call "C:\teeks99-09\run\results\boost\bin.v2\standalone\msvc\msvc-14.3\msvc-setup.bat" >nul
cl /Zm800 -nologo "..\libs\safe_numerics\test\test_rational.cpp" -c -Fo"C:\teeks99-09\run\results\boost\bin.v2\libs\safe_numerics\test\test_rational.test\msvc-14.3\dbg\x86_6\dbg-symbl-off\thrd-mlt\test_rational.obj" -TP /wd4675 /EHs /GR /Zc:throwingNew /Od /Ob0 /W4 /MDd /Zc:forScope /Zc:wchar_t /Zc:inline /favor:blend /std:c++latest -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 "-I.." "-IC:\teeks99-09\run\boost_root\libs\assert\include" "-IC:\teeks99-09\run\boost_root\libs\core\include" "-IC:\teeks99-09\run\boost_root\libs\integer\include" "-IC:\teeks99-09\run\boost_root\libs\mp11\include" "-IC:\teeks99-09\run\boost_root\libs\safe_numerics\include" "-IC:\teeks99-09\run\boost_root\libs\throw_exception\include" "-IC:\teeks99-09\run\boost_root\libs\type_traits\include"
test_rational.cpp
C:\teeks99-09\run\boost_root\boost\safe_numerics\safe_base_operations.hpp(371): error C2968: 'legal_overload<boost::safe_numerics::multiplication_operator,boost::rational<boost::safe_numerics::safe_base<int,-2147483648,2147483647,boost::safe_numerics::native,boost::safe_numerics::exception_policy<boost::safe_numerics::throw_exception,boost::safe_numerics::throw_exception,boost::safe_numerics::throw_exception,boost::safe_numerics::ignore_exception> > >,int>': recursive alias declaration
C:\teeks99-09\run\boost_root\boost\safe_numerics\safe_base_operations.hpp(371): note: the template instantiation context (the oldest one first) is
..\libs\safe_numerics\test\test_rational.cpp(68): note: see reference to function template instantiation 'boost::rational<int_type> boost::operator *<T,int_type>(const Arg &,const boost::rational<int_type> &)' being compiled
with
[
T=int,
Arg=int
]
..\boost/rational.hpp(684): note: see reference to function template instantiation 'std::enable_if<legal_overload<boost::safe_numerics::multiplication_operator,T,U>::value,T>::type boost::safe_numerics::operator *=(T &,const U &)' being compiled
C:\teeks99-09\run\boost_root\boost\safe_numerics\safe_base_operations.hpp(727): note: see reference to alias template instantiation 'boost::safe_numerics::`anonymous-namespace'::legal_overload<boost::safe_numerics::multiplication_operator,boost::rational<int_type>,Arg>' being compiled
with
[
Arg=int
]
C:\teeks99-09\run\boost_root\boost\safe_numerics\safe_base_operations.hpp(366): note: see reference to alias template instantiation 'boost::mp11::mp_valid<boost::safe_numerics::multiplication_operator,T,int>' being compiled
with
[
T=boost::rational<int_type>
]
..\boost/mp11/detail/mp_defer.hpp(76): note: see reference to class template instantiation 'boost::mp11::detail::mp_valid_impl<boost::safe_numerics::multiplication_operator,T,int>' being compiled
with
[
T=boost::rational<int_type>
]
..\boost/mp11/detail/mp_defer.hpp(71): note: while compiling class template member function 'boost::mp11::mp_true boost::mp11::detail::mp_valid_impl<boost::safe_numerics::multiplication_operator,T,int>::check(int)'
with
[
T=boost::rational<int_type>
]
..\boost/mp11/detail/mp_defer.hpp(71): note: while processing the default template argument of 'boost::mp11::mp_true boost::mp11::detail::mp_valid_impl<boost::safe_numerics::multiplication_operator,T,int>::check(int)'
with
[
T=boost::rational<int_type>
]
..\boost/mp11/detail/mp_defer.hpp(68): note: see reference to alias template instantiation 'boost::safe_numerics::multiplication_operator<T,int>' being compiled
with
[
T=boost::rational<int_type>
]
C:\teeks99-09\run\boost_root\boost\safe_numerics\safe_base_operations.hpp(723): note: see reference to function template instantiation 'boost::lazy_enable_if_c<legal_overload<boost::safe_numerics::multiplication_operator,T,U>::value,boost::safe_numerics::multiplication_result<T,U>>::type boost::safe_numerics::operator *(const T &,const U &)' being compiled