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

--- Comment #8 from Alisdair Meredith <public at alisdairm dot net> ---
I agree with Mark's analysis.  I was trying to force use of swap on a local
class, and found a pattern that worked for libc++ but missed that neither
template would be more specialized - my original attempt used friends ands not
valid for other reasons.  The key is that libc++ SFINAEs swap on the type
requirements, while libstdc++ defers the error until swap is instantiated.  I
am still surprised that I get an error for calling the move operations of
'local' though (in the second example) rather than getting an ambiguous lookup.
 I think the first example is unambiguously a user-error (mine) by this
analysis.

Reply via email to