Rimozione delle specializzazioni void per std::future e std::promise

Rimozione delle specializzazioni void per std::future e std::promise

Come indicato nel riferimento, ciò sarebbe possibile se void erano un tipo normale.

void get_value() {
    void x;
    return x;
}

Questo è il modo in cui funziona in alcune altre lingue, quindi non è senza precedenti. In altre lingue è chiamato tipo "unità", perché ha esattamente un valore possibile. (Anche altre lingue hanno il tipo "null", che non ha valori possibili, quindi se provi a crearne uno ottieni un errore. Si chiama "null" ma non è correlato ai puntatori null.)