¿Por qué es pasar por valor y pasar por rvalue overload c ++ function call ambiguous?

Si tengo,

void foo(Bar c);
void foo(Bar&& c);

foo(Bar()); 

¿Por qué la llamada a 'foo' es ambigua? ¿No es Bar () en el argumento foo claramente un rValue?