Opened 12 years ago

Closed 12 years ago

#4407 closed Bugs (fixed)

remove_cv has numerous errors in Visual Studios 2010

Reported by: anonymous Owned by: John Maddock
Milestone: Boost 1.44.0 Component: type_traits
Version: Boost 1.44.0 Severity: Problem
Keywords: Cc:

Description

remove_cv.hpp from the current trunk in Visual Studios 2010 produces all of the errors in the following log:

c:\software\libraries\boost-trunk\trunk\boost\type_traits\remove_cv.hpp(55): error C2872: 'detail' : ambiguous symbol 1> could be 'boost::detail' 1> or 'boost::spirit::classic::detail' 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(80) : see reference to class template instantiation 'boost::remove_cv<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::eol_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(93) : see reference to class template instantiation 'boost::detail::is_pointer_impl<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::eol_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\detail\call_traits.hpp(81) : see reference to class template instantiation 'boost::is_pointer<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::eol_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\composite.hpp(118) : see reference to class template instantiation 'boost::call_traits<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::eol_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\alternative.hpp(50) : see reference to class template instantiation 'boost::spirit::classic::binary<A,B,BaseT>' being compiled 1> with 1> [ 1> A=boost::spirit::classic::eol_parser, 1> B=boost::spirit::classic::end_parser, 1> BaseT=boost::spirit::classic::parser<boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\utility\confix.hpp(76) : see reference to class template instantiation 'boost::spirit::classic::alternative<A,B>' being compiled 1> with 1> [ 1> A=boost::spirit::classic::eol_parser, 1> B=boost::spirit::classic::end_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\property_tree\detail\json_parser_read.hpp(312) : see reference to class template instantiation 'boost::spirit::classic::confix_parser<OpenT,ExprT,CloseT,CategoryT,NestedT,LexemeT>' being compiled 1> with 1> [ 1> OpenT=boost::spirit::classic::impl::string_as_parser::type, 1> ExprT=boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>, 1> CloseT=boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>, 1> CategoryT=boost::spirit::classic::unary_parser_category, 1> NestedT=boost::spirit::classic::non_nested, 1> LexemeT=boost::spirit::classic::is_lexeme 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\property_tree\json_parser.hpp(74) : see reference to function template instantiation 'void boost::property_tree::json_parser::read_json_internal<Ptree>(std::basic_istream<_Elem,_Traits> &,Ptree &,const std::string &)' being compiled 1> with 1> [ 1> Ptree=boost::property_tree::ptree, 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\users\vincent\documents\visual studio 2010\projects\desertedsun\src\level.cpp(9) : see reference to function template instantiation 'void boost::property_tree::json_parser::read_json<boost::property_tree::ptree>(const std::string &,Ptree &,const std::locale &)' being compiled 1> with 1> [ 1> Ptree=boost::property_tree::ptree 1> ] 1>c:\software\libraries\boost-trunk\trunk\boost\type_traits\remove_cv.hpp(55): error C2872: 'detail' : ambiguous symbol 1> could be 'boost::detail' 1> or 'boost::spirit::classic::detail' 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(80) : see reference to class template instantiation 'boost::remove_cv<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::end_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(93) : see reference to class template instantiation 'boost::detail::is_pointer_impl<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::end_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\detail\call_traits.hpp(81) : see reference to class template instantiation 'boost::is_pointer<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::end_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\composite.hpp(120) : see reference to class template instantiation 'boost::call_traits<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::end_parser 1> ] 1>c:\software\libraries\boost-trunk\trunk\boost\type_traits\remove_cv.hpp(55): error C2872: 'detail' : ambiguous symbol 1> could be 'boost::detail' 1> or 'boost::spirit::classic::detail' 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(80) : see reference to class template instantiation 'boost::remove_cv<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::space_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(93) : see reference to class template instantiation 'boost::detail::is_pointer_impl<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::space_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\detail\call_traits.hpp(81) : see reference to class template instantiation 'boost::is_pointer<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::space_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\composite.hpp(118) : see reference to class template instantiation 'boost::call_traits<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::space_parser 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\alternative.hpp(50) : see reference to class template instantiation 'boost::spirit::classic::binary<A,B,BaseT>' being compiled 1> with 1> [ 1> A=boost::spirit::classic::space_parser, 1> B=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>, 1> BaseT=boost::spirit::classic::parser<boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\property_tree\detail\json_parser_read.hpp(312) : see reference to class template instantiation 'boost::spirit::classic::alternative<A,B>' being compiled 1> with 1> [ 1> A=boost::spirit::classic::space_parser, 1> B=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1>c:\software\libraries\boost-trunk\trunk\boost\type_traits\remove_cv.hpp(55): error C2872: 'detail' : ambiguous symbol 1> could be 'boost::detail' 1> or 'boost::spirit::classic::detail' 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(80) : see reference to class template instantiation 'boost::remove_cv<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(93) : see reference to class template instantiation 'boost::detail::is_pointer_impl<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\detail\call_traits.hpp(81) : see reference to class template instantiation 'boost::is_pointer<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\composite.hpp(120) : see reference to class template instantiation 'boost::call_traits<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1>c:\software\libraries\boost-trunk\trunk\boost\type_traits\remove_cv.hpp(55): error C2872: 'detail' : ambiguous symbol 1> could be 'boost::detail' 1> or 'boost::spirit::classic::detail' 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(80) : see reference to class template instantiation 'boost::remove_cv<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(93) : see reference to class template instantiation 'boost::detail::is_pointer_impl<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\detail\call_traits.hpp(81) : see reference to class template instantiation 'boost::is_pointer<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\composite.hpp(118) : see reference to class template instantiation 'boost::call_traits<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\alternative.hpp(50) : see reference to class template instantiation 'boost::spirit::classic::binary<A,B,BaseT>' being compiled 1> with 1> [ 1> A=boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>, 1> B=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>, 1> BaseT=boost::spirit::classic::parser<boost::spirit::classic::alternative<boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\property_tree\detail\json_parser_read.hpp(312) : see reference to class template instantiation 'boost::spirit::classic::alternative<A,B>' being compiled 1> with 1> [ 1> A=boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>, 1> B=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1>c:\software\libraries\boost-trunk\trunk\boost\type_traits\remove_cv.hpp(55): error C2872: 'detail' : ambiguous symbol 1> could be 'boost::detail' 1> or 'boost::spirit::classic::detail' 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(80) : see reference to class template instantiation 'boost::remove_cv<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\type_traits\is_pointer.hpp(93) : see reference to class template instantiation 'boost::detail::is_pointer_impl<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\detail\call_traits.hpp(81) : see reference to class template instantiation 'boost::is_pointer<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ] 1> c:\software\libraries\boost-trunk\trunk\boost\spirit\home\classic\core\composite\composite.hpp(120) : see reference to class template instantiation 'boost::call_traits<T>' being compiled 1> with 1> [ 1> T=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme> 1> ]

Change History (2)

comment:1 by John Maddock, 12 years ago

(In [63738]) Make all references to the detail:: namespace fully qualified so we don't get ambiguities with other libraries. Refs #4407.

comment:2 by John Maddock, 12 years ago

Resolution: fixed
Status: newclosed

(In [63739]) Make all references to the detail:: namespace fully qualified so we don't get ambiguities with other libraries. Fixes #4407.

Note: See TracTickets for help on using tickets.