[PATCH] [libcxx] Delay evaluation of __make_tuple_types to prevent blowing the max template instantiation depth. Fixes Bug #18345

Arthur O'Dwyer arthur.j.odwyer at gmail.com
Tue Sep 30 21:00:46 PDT 2014


On Tue, Sep 30, 2014 at 6:47 PM, Eric Fiselier <eric at efcs.ca> wrote:
>
> http://reviews.llvm.org/D4467

Incidentally, and sorry if this is a dumb question, but what's the
rationale for libc++ allowing either

    using A = std::array<double,3>;
    A a;
    std::tuple<A> t;
    t = a;

or

    using A = std::array<double,3>;
    A a;
    std::tuple<double,double,double> t;
    t = a;


to compile in the first place?  I don't see any wording in N3797
[tuple.assign] that would permit *either* of those.

–Arthur




More information about the cfe-commits mailing list