Swift Nonempty Versions Save

🎁 A compile-time guarantee that a collection contains a value.

0.5.0

2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/pointfreeco/swift-nonempty/compare/0.4.0...0.5.0

0.4.0

2 years ago
  • Bug fixed: NonEmpty now manages its own synthesized iterator in order to avoid potential stack overflows when calling to APIs on the iterator of the collection it wraps.
  • Changed: NonEmpty no longer conditionally conforms to StringProtocol. Apple documents against this conformance, and though engineers say there should be no issue with doing so, ABI-wise, we encountered a compiler crash when fixing the bug in the previous bullet point.

0.3.1

3 years ago
  • Fixed: + operator between two NonEmptys was ambiguous (thanks @buscarini).

0.3.0

3 years ago
  • Changed: NonEmpty now wraps a base collection rather than a single element and collection as separate fields. This improves the performance and reliability of working with NonEmpty collections. This does unfortunately mean that invariants can compile and make their way into the system at run time, but we do our best to ensure they cannot be constructed.
  • Changed: the SPM package name has been changed from NonEmpty to swift-nonempty (thanks @maximkrouk).
  • Fixed: range subscripts no longer cause runtime stack overflows (thanks @clang13).
  • Removed: CocoaPods and Carthage support has been deprecated in favor of SPM.

0.2.2

4 years ago
  • NonEmpty now correctly encodes and decodes structures as their more primitive collection types (#14)

0.2.1

4 years ago

What's fixed:

  • Fix compiler error (#22)
  • Application extension support (#16, #18)

0.2.0

5 years ago

This release brings Swift 5 support, including an optimization around the mutation of non-empty collections!

0.1.2

5 years ago

Swift 4.2 on Linux has a regression that prevents NonEmpty from conditionally conforming to RandomAccessCollection. We're temporarily removing support for the sake of compatibility.

0.1.1

5 years ago

This release updates NonEmpty to be compatible with Swift 4.2's randomness APIs.

0.1.0

5 years ago

This preliminary release has the basic NonEmpty type implemented with a few starting conformances to common Swift protocols.