g++ 4.8.2 has the same problem with the even simpler (Live at coliru):
struct A {
auto f() & {}
auto f() && {}
};
int main() {
A{}.f();
A a;
a.f();
}
despite the program obviously being correct. It appears to be a bug in the interaction between ref-qualifiers and return type deduction: presumably the deduction process is stripping the qualifiers from the implicit object argument before handing them off to overload resolution.
I have reported this as GCC bug 60943.