http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53648
--- Comment #4 from chesstr at hotmail dot com 2012-06-12 18:03:56 UTC --- (In reply to comment #3) > There are other cases involving non-empty tuples that will still result in an > ambiguity e.g. > > struct A { }; > auto d = tuple<tuple<tuple<A, A>, A>, A>{}; > > My solution avoids using the EBO for some condition I don't remember (the > code's on another machine) but it handles all the cases I tested. > > I also preserve the property that sizeof(tuple<char, tuple<>>)==1, which I > think your suggestion loses. You are right, the suggestion does not solve the real problem at all. Nice example.