Должен ли следующий образец скомпилировать?
struct B;
struct A
{
  A(B*&&){}
};
struct B : A
{
  B() : A(this){}
};
int main(){}
 На LWS с clang он компилируется, но с gcc я получаю:
нет известного преобразования для аргумента 1 из 'B * const' в 'B * &&'
 и если я добавлю const он скомпилируется.
Я хотел бы также указать, что MSVC тоже ошибается:
не может преобразовать параметр 2 из 'B * const' в 'B * &&'
поэтому похоже, что у нас есть ошибка в двух компиляторах.
ОШИБКИ