A volte sentiamo "Swift non fa il classico (tracciamento) GC, usa ARC."
Ma non sono sicuro che ci sia qualcosa nella semantica di Swift che richieda il conteggio dei riferimenti. Sembra che si possa costruire il proprio compilatore e runtime Swift per usare GC di traccia.
Quindi, cos'è esattamente "contato come riferimento" su Swift? L'implementazione di Apple o la lingua stessa? Ci sono parti della lingua o della biblioteca che supportano così fortemente ARC che possiamo usare quell'etichetta per la lingua stessa?
deinit
come parola chiave e la sua semantica associata sono davvero le cose che mettono il riferimento contando esattamente nella lingua, piuttosto che nel regno dell'implementazione.