Назначение этого указателя на rvalue ссылку на указатель

Должен ли следующий пример компилироваться?

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 * &&»

похоже, у нас есть ошибка в двух компиляторах.

ОШИБКИ ОБОЛОЧЕНЫ

Ссылка на ошибку MSVC

Ссылка на ошибку GCC

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

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