Qt: Valor de retorno do sinal funciona, por que o documento oficial está dizendo que é impossível / proibido?

Documentação Qt diz, valores de retorno de sinais não são possíveis:

Os sinais são gerados automaticamente pelo moc e não devem ser implementados no arquivo .cpp. Eles nunca podem ter tipos de retorno (isto é, usar void).

Perguntas SO relacionadas:

Os sinais Qt podem retornar um valor?Qt: significado do valor de retorno do slot?

No entanto, das minhas tentativas (Qt 4.8.1), posso dizer que os valores de retorno funcionam:

Se o sinal / slot estiver no mesmo encadeamento, ConnectionType poderá serQt::AutoConnectionCom sinal / slot em diferentes threads eu preciso usarQt::BlockingQueuedConnection

Então, no meu código eu chamo um sinal de

QString dp = emit WscAircrafts::signalAircraftsJsonArray();

e o sinal moc retorna umQString,

QString _t0;
void *_a[] = { const_cast<void*>(reinterpret_cast<const void*>(&_t0)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
return _t0;

Este aqui é o slot moc onde passa de volta oQString

case 4: { QString _r = _t->slotAircraftJsonArray();
  if (_a[0]) *reinterpret_cast< QString*>(_a[0]) = _r; }  break;

Tudo isso parece ser bastante direto, então por que essa contradição com a documentação? Onde seria o problema usando o valor de retorno? Como dito, no meu código isso parece funcionar.

questionAnswers(1)

yourAnswerToTheQuestion