Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alecmocatta/sum

General-purpose sum types.
https://github.com/alecmocatta/sum

data-structures rust sum-types

Last synced: about 1 month ago
JSON representation

General-purpose sum types.

Awesome Lists containing this project

README

        

# sum

[![Crates.io](https://img.shields.io/crates/v/sum.svg?maxAge=86400)](https://crates.io/crates/sum)
[![MIT / Apache 2.0 licensed](https://img.shields.io/crates/l/sum.svg?maxAge=2592000)](#License)
[![Build Status](https://dev.azure.com/alecmocatta/sum/_apis/build/status/tests?branchName=master)](https://dev.azure.com/alecmocatta/sum/_build?definitionId=12)

[📖 Docs](https://docs.rs/sum/0.1) | [💬 Chat](https://constellation.zulipchat.com/#narrow/stream/213236-subprojects)

General-purpose sum types.

Arbitrarily-sized product types exist in Rust in the form of [tuples](https://doc.rust-lang.org/std/primitive.tuple.html). This is a generalisation of bluss's [Either](https://docs.rs/either/1.5.0/either/enum.Either.html) type to provide **arbitrarily-sized sum types**\*.

\* Over up to 32 types.

## License
Licensed under either of

* Apache License, Version 2.0, ([LICENSE-APACHE.txt](LICENSE-APACHE.txt) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT.txt](LICENSE-MIT.txt) or http://opensource.org/licenses/MIT)

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.