Test output: teeks99-09-v17dl-64onAMD64 - safe_numerics - test_rational / msvc-14.3
Rev c5239cd4ca1e63a779117b2b48e182fa95c31b54 / Mon, 18 Nov 2024 15:51:42 +0000
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