Должны ли неявно сгенерированные операторы присваивания быть & ref-квалифицированными?

Следующий код компилируется без проблем на gcc 4.8.1:

#include 

struct foo
{
};

int main()
{
    foo bar;

    foo() = bar;
    foo() = std::move( bar );
}

Кажется, неявно сгенерированные операторы присваивания дляfoo не& ref-qualified и может быть вызван на rvalues. Это правильно в соответствии со стандартом? Если так, то какая причина дляне требующий неявно сгенерированных операторов присваивания быть& иая квалификация?

Почему нетСтандарт требует, чтобы было сгенерировано следующее?

struct foo
{
  foo & operator=( foo const & ) &;

  foo & operator=( foo && ) &;
};

Ответы на вопрос(2)

Ваш ответ на вопрос