id summary reporter owner description type status milestone component version severity resolution keywords cc 6977 bug in conversion of mpl iterator category tags Robert Ramey Joel Falcou "MPL documentation indicates that bidirectional_iterator_tag is convertible to random_access_iterator_tag. The following code shows that this is not true. {{{ #include #include #include #include #include using namespace boost::mpl; print< boost::is_convertible< bidirectional_iterator_tag, random_access_iterator_tag >::type > x5; BOOST_MPL_ASSERT(( boost::is_convertible< bidirectional_iterator_tag, random_access_iterator_tag > )); }}} The compile time output from this progam is: {{{ 1>------ Build started: Project: test_interval, Configuration: Debug Win32 ------ 1>Compiling... 1>test_multi_precision.cpp 1>c:\boostrelease\boost\mpl\print.hpp(51) : warning C4308: negative integral constant converted to unsigned type 1> c:\projects\boost projects\mpl\tests\test_multi_precision.cpp(15) : see reference to class template instantiation 'boost::mpl::print' being compiled 1> with 1> [ 1> T=boost::integral_constant::type 1> ] 1>c:\projects\boost projects\mpl\tests\test_multi_precision.cpp(22) : error C2664: 'boost::mpl::assertion_failed' : cannot convert parameter 1 from 'boost::mpl::failed ************boost::is_convertible::* ***********' to 'boost::mpl::assert::type' 1> with 1> [ 1> From=boost::mpl::bidirectional_iterator_tag, 1> To=boost::mpl::random_access_iterator_tag 1> ] 1> No constructor could take the source type, or constructor overload resolution was ambiguous 1>Build log was saved at ""file://c:\Projects\Boost Projects\mpl\tests\vcide\Debug\BuildLog.htm"" 1>test_interval - 1 error(s), 1 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== }}} Robert Ramey" Bugs new To Be Determined mpl Boost 1.49.0 Problem mpl category convert