Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Expose
_CurrencyImplementation
as CurrencyProtocol
Motivation: Working with currencies in generic cases aren't always practical with the type-erased `AnyCurrency` protocol, as repeated type constraints are added to access `Comparable` and `Hashable` conformances. The `_CurrencyImplementation` doesn't need to be private, as anyone could conform to the protocol to gain much of the flexibility of `AnyCurrency` while also working in hashing contexts such as `Set`. Modifications: - Rename `_CurrencyImplementation` to `CurrencyProtocol` and make public - Remove `CurrencyMetadata` superset requirements from `CurrencyProtocol` Result: Developers should have more flexibility with the Currency module types to work in existential or generic contexts
- Loading branch information