http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49274

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org
          Component|libstdc++                   |c++
      Known to work|                            |4.4.5, 4.5.0
            Summary|Regression: unique_ptr      |[4.6/4.7 Regression]
                   |needs full definition of    |unique_ptr needs full
                   |map type                    |definition of map type

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-06-03 
11:19:59 UTC ---
reduced, with no library or c++0x dependencies:

struct incomplete;

template<typename T>
struct cont
{
  T t;
};

template<typename> struct complete { };


int main()
{
  complete<cont<incomplete>> c;
  c = c;
}

which works prior to 4.6, and with EDG and clang

with 4.6 and later the assignment requires cont<incomplete> to be complete,
even though it is unused in complete.

In the original testcase that causes is_assignable to instantiate
map<int,int,CMP>

Jason, could you take a look?
Possibly the same issue as PR 49107

Reply via email to