Asignación de este puntero a rvalue referencia a un puntero

¿Debería compilarse la siguiente muestra?

struct B;
struct A
{
  A(B*&&){}
};

struct B : A
{
  B() : A(this){}
};

int main(){}

EnLWS con clang compila, pero con gcc obtengo:

no hay conversión conocida para el argumento 1 de 'B * const' a 'B * &&'

y si agrego unconst se compila.

También me gustaría señalar que MSVC también se equivoca:

no se puede convertir el parámetro 2 de 'B * const' a 'B * &&'

Parece que tenemos un error en dos compiladores.

Errores archivados

Enlace de error MSVC

Enlace de error GCC

Respuestas a la pregunta(2)

Su respuesta a la pregunta