- Fixed: Make result of optional chanining act like range
- Changed: match will work on input ranges
- Changed: compile-time error detection on match
- Fixed: make match take auto ref instead of inout
- Fixed: removed implicit calls to nullable.get
Big changes for version 1.0.0
- Added: dip1000/dip25 conformance
- Added: Can use optionals with @disabled copy types
- Added: Tests for vibe-d integration
- Added: Address sanitization to testing
- Added: frontOr that works on ranges, optionals, and nullables
- Changed: renamed
orElse
toor
- Changed: renamed
dispatch
tooc
- Changed:
or
will return only rhs or lhs, and not front of optional - Changed:
or
now accepts ranges, nullables, and references - Changed:
or
accepts void lambda - Changed:
match
returns void if either lambda returns void - Changed: pointer semantics to be the same as class semantics (i.e.
some!(int*)(null) == none
) - Fixed: Unsafe return values
- Removed: NotNull
- Removed: unwrap
- Changed: make initial Optional!T state all zeros
- Fixed: assert when front called on empty optional
- Changed: make or value lazy
- Added: predicate version of or
- Added: betterC support PR #28 from @skoppe
- Fixed: empty state when assigning another optional
- Changed: pass range as auto ref to opEquals
- Added: Allow optional to be compared with other ranges
- Changed: dispatch does not mutate value types
- Changed: dispatching is automatically flattened
- Added: support for array indexing and slicing
- Added: support for opOpAssign
- Added: safe pure nogc dispatch
- Added: dispatching on non optional nullable types
- Added: covariant assignment to optional
- Changed: Allow qualified optionals be used on free functions
- Fixed: Don't call destroy on reference types when setting to none
- Changed: Make dispatch return optional
- Changed: Undo double optional chaining
- Added: a contruct function for objects that can't copy
- Added: opCall
- Fixed: Return auto ref
- Fixed: Use template this to maintain qualified this
- Fixed: copmile for @disabled copy and nested struct init