id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 4530,errors with is_convertible on msvc10,Christopher Schmidt,John Maddock," {{{ #include #include #include #include template struct test { template test(A&&, typename boost::enable_if >::type* =0); }; int main() { typedef boost::spirit::qi::literal_char A; boost::is_convertible, A>::value; //std::tr1::is_convertible, A>::value; } }}} This snippet fails on msvc10 with the following errors: {{{ 1>z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(295): error C2039: 'value' : is not a member of 'boost::detail::is_convertible_basic_impl' 1> with 1> [ 1> From=test , 1> To=A 1> ] 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(372) : see reference to class template instantiation 'boost::detail::is_convertible_impl' being compiled 1> with 1> [ 1> From=test , 1> To=A 1> ] 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(418) : see reference to class template instantiation 'boost::detail::is_convertible_impl_dispatch' being compiled 1> with 1> [ 1> From=test , 1> To=A 1> ] 1> z:\dev\projekte\boost\boost-dev\boost\boost\utility\enable_if.hpp(36) : see reference to class template instantiation 'boost::is_convertible' being compiled 1> with 1> [ 1> From=test &, 1> To=A 1> ] 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(263) : see reference to class template instantiation 'boost::enable_if' being compiled 1> with 1> [ 1> Cond=boost::is_convertible &,A>, 1> T=void 1> ] 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(295) : see reference to class template instantiation 'boost::detail::is_convertible_basic_impl' being compiled 1> with 1> [ 1> From=test , 1> To=A 1> ] 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(372) : see reference to class template instantiation 'boost::detail::is_convertible_impl' being compiled 1> with 1> [ 1> From=test, 1> To=A 1> ] 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(418) : see reference to class template instantiation 'boost::detail::is_convertible_impl_dispatch' being compiled 1> with 1> [ 1> From=test, 1> To=A 1> ] 1> z:\dev\projekte\_test\main.cpp(17) : see reference to class template instantiation 'boost::is_convertible' being compiled 1> with 1> [ 1> From=test, 1> To=A 1> ] 1>z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(295): error C2065: 'value' : undeclared identifier 1>z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(295): error C2955: 'boost::type_traits::ice_or' : use of class template requires template argument list 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\detail\ice_or.hpp(21) : see declaration of 'boost::type_traits::ice_or' 1>z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(295): error C2057: expected constant expression 1>z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\is_convertible.hpp(418): error C2975: 'val' : invalid template argument for 'boost::integral_constant', expected compile-time constant expression 1> z:\dev\projekte\boost\boost-dev\boost\boost\type_traits\integral_constant.hpp(18) : see declaration of 'val' }}} Switching to std::tr1::is_convertible makes the code compile fine. ",Bugs,closed,Boost 1.44.0,type_traits,Boost Development Trunk,Problem,fixed,,