Re: [Boost-bugs] [Boost C++ Libraries] #4530: errors with is_convertible on msvc10

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4530: errors with is_convertible on msvc10
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-08-12 11:11:13


#4530: errors with is_convertible on msvc10
--------------------------------------+-------------------------------------
  Reporter: cschmidt | Owner: johnmaddock
      Type: Bugs | Status: assigned
 Milestone: Boost 1.44.0 | Component: type_traits
   Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords:
--------------------------------------+-------------------------------------
Changes (by johnmaddock):

  * status: new => assigned

Comment:

 Hmmm... I think this is a compiler bug, in trying to work out if test<A>
 is convertible to A the compiler is for some reason trying to instantiate
 test<A>::test<A>(test<A>) which causes a cyclic dependency in
 is_convertible. GCC handles the same code just fine, and switching to
 std::tr1::is_convertible at the top level breaks the cyclic dependency.

 I think I can fix this long term by switching over to using the _
 _is_convertible compiler intrinsic - but this also means switching
 is_convertible over to C++0x behaviour from TR1 behaviour which will be a
 breaking change.... and I'm not sure C++0x behaviour can even be
 implemented in the language yet for compilers that don't have the
 intrinsic!

 Will investigate some more.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4530#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC