All in all this is a bit inane, but the spec requires a zero-sized tuple to provide allocator overloads for constructors, even though they do absolutely nothing (they completely ignore the allocator). Presumably these are also useful for some metaprogrammers I haven't heard of. This takes us one small step further to pass libc++'s testsuite for tuple. Tested on Linux-X64. 2016-06-05 Ville Voutilainen Support allocators in tuples of zero size. * include/std/tuple (tuple<>::tuple(), tuple<>::tuple(allocator_arg_t, const _Alloc&), tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&), tuple<>::tuple(allocator_arg_t, const _Alloc&, tuple&&)): New. * testsuite/20_util/tuple/cons/allocators.cc: Adjust.