sumtype 0.5.0

Paul Backus snarwin at gmail.com
Wed Aug 8 20:54:13 UTC 2018


SumType is a generic sum type for modern D. It is meant as an 
alternative to `std.variant.Algebraic`.

Features:
   - Pattern matching, including support for structural matching 
(*)
   - Self-referential types, using `This`
   - Works with `pure`, `@safe`, `@nogc`, and `immutable` (*)
   - Zero runtime overhead compared to hand-written C
     - No heap allocation
     - Does not rely on runtime type information (`TypeInfo`) (*)

Starred features (*) are those that are missing from `Algebraic`.

Code examples are available in the documentation (linked below).

New since the last announced version, 0.3.0:
   - Types with destructors and postblits are now handled 
correctly.
   - Unreachable handlers in `match` calls are now a compile-time 
error.
   - `match` handlers can now operate on the stored value by 
reference.
   - A new method, `tryMatch`, allows for non-exhaustive pattern 
matching.
   - Various small improvements to the documentation.

Documentation: https://pbackus.github.io/sumtype/sumtype.html
DUB: https://code.dlang.org/packages/sumtype
Github: https://github.com/pbackus/sumtype


More information about the Digitalmars-d-announce mailing list