https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71364
Casey Carter <Casey at Carter dot net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Casey at Carter dot net --- Comment #4 from Casey Carter <Casey at Carter dot net> --- The bug is in range-v3 and the Ranges TS (https://github.com/ericniebler/stl2/issues/172) which was triggered by libc++ tuple changes on April 15 (https://github.com/ericniebler/range-v3/issues/324). Our specification of tagged<Base, ...> - the template wrapper that implements tagged_pair and tagged_tuple - inherits constructors from Base but has no specific constructors that take Base const& or Base&&. Consequently conversions from Base have been using tuple/pair's converting constructor instead of the copy/move constructor. LWG2549 (http://cplusplus.github.io/LWG/lwg-active.html#2549) makes this not work anymore: the converting constructor refuses to accept argument expressions with the tuple's same type that should be using the copy/move constructors. This has been fixed in range-v3, but not yet in the Ranges TS.