https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63437
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- in C++14 (a) means the same as static_cast<typeof(a) &>(a). So it is a reference at this point which means const & is better than &&. Or at least that is how I understand this. Does clang implement the C++11 () rule correctly?