Zig bekommt Traits – ganz ohne Sprachfeature

We have traits at home

Zig bekommt Traits – ganz ohne Sprachfeature

Zig kennt keine Traits wie Rust oder Typeclasses wie Haskell. Axel Magnus zeigt, wie sich solche Verträge trotzdem in reinem Zig ausdrücken lassen: Ein Trait ist einfach ein Comptime-Struct mit verwandten Funktionen über einen Typ. Statt dynamischem Dispatch übergibt man die nötigen Operationen zur Compile-Zeit, der Compiler monomorphisiert und inlined alles. Das Beispiel einer Möbius-Transformation über Rational- und Complex-Typen macht den Unterschied zu Interfaces und Duck Typing greifbar.

Traits sind einfach Beutel voller Funktionen und Typen, die der empfangenden Funktion sagen, wie sie Teilaufgaben erledigen soll, für deren Definition sie nicht zuständig ist.

Mehr von diesem Tag

2026-10-23