Kapsamlı eşleştirme
Derleyici özelliği: bir birleşim türü üzerinde eşleştirme yaptığınızda her varyantın açıkça ele alınması gerekir. Rust match, Haskell case, TypeScript’te never hilesi. Yeni bir varyant eklendiğinde her yerin güncellenmesini zorunlu kılar; yani yeniden düzenleme güvenliği.
Rust: match status { Active => ..., Pending => ... } bir varyantı atlarsanız derleme hatası verir. Durum makineleri için klasik kalıp. TypeScript: default dalında never’a atama yapılır; tüm varyantlar ele alındıysa tür never olur, biri eksikse tür denetimi hata verir. function assertNever(x: never): never { throw }. Java 21’den beri: sealed türler + switch’te desen eşleştirme. Klasik Visitor kalıbının modern, nesne yönelimli alternatifi.