In void* a, adideklarasikan sebagai pointer bukan ke voidtipe tapi ke tipe "any" (kasus khusus). Sebuah alamat (posisi dalam memori) ditetapkan ke a, seperti variabel lain yang dideklarasikan, tentu saja.
Setelah itu, ekspresi &adievaluasi untuk menginisialisasi variabel (juga a, tapi ini tidak relevan) baru saja dideklarasikan. Jenisnya &aadalah "penunjuk ke penunjuk ke jenis apa pun", yang merupakan kasus khusus "penunjuk ke jenis apa pun", sepenuhnya kompatibel dengan jenis a. Ergo, tidak ada pesan penyusun.
Akibat wajar: jangan gunakan void*jika Anda ingin pemeriksaan tipe yang kuat. Apa pun dapat diubah menjadi itu. Justru sebaliknya dalam arah sebaliknya, kecuali untuk void*dirinya sendiri (itu akan menjadi pengecualian yang tidak perlu bahwa suatu tipe tidak kompatibel dengan dirinya sendiri).
Juga, AFAIR ini benar-benar berasal dari C.