id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6961,problem with list_c et.all,Robert Ramey,Aleksey Gurtovoy,"The documentation for list_c states that it is a model of Front Extensible Sequence. But some simple testing suggests otherwise. Here is my test program: {{{ #include ""../include/multi_precision.hpp"" //#include //#include //#include #include #include #include #include #include #include #include namespace boost { namespace mpl { print< list_c > x8; print< front< list_c >::type > x7; print< push_front< list_c, integral_c >::type > x6; }}} which produces the following output on my VC 9.0 compiler {{{ 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(24) : see reference to class template instantiation 'boost::mpl::print' being compiled 1> with 1> [ 1> T=boost::mpl::list_c 1> ] 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(33) : see reference to class template instantiation 'boost::mpl::print' being compiled 1> with 1> [ 1> T=boost::mpl::integral_c 1> ] 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(44) : see reference to class template instantiation 'boost::mpl::print' being compiled 1> with 1> [ 1> T=boost::mpl::l_item,boost::mpl::integral_c,boost::mpl::list2_c> 1> ] }}} What I hope to see for the third test is: {{{ T=boost::mpl::list_c }}} If I use {{{ print< push_front< list_c, 33 >::type > x5; }}} But this fails to compile at all. To me, the list_c implementation is misconceived. Maybe the following should result {{{ print< list_c::type // note the ::type to make it a metafunction > x8; }}} to return {{{ T=boost::mpl::list,boost::mpl::integral_c > }}} Of course the same observations would apply to vector_c, etc. Robert Ramey ",Bugs,new,To Be Determined,mpl,Boost 1.49.0,Problem,,,