unify

Crates.iounify
lib.rsunify
version0.0.3
sourcesrc
created_at2015-01-09 20:59:20.587937
updated_at2015-12-11 23:59:34.806356
descriptionTrait-based equality constraint for Rust
homepage
repositoryhttps://github.com/darinmorrison/unify.rs
max_upload_size
id750
size6,173
(silvanshade)

documentation

http://darinmorrison.github.io/unify.rs/doc/unify/

README

unify.rs

Trait-based type-level equality constraint for Rust

build status

Synopsis

This crate provides a trait-based implementation of equality constraints. It is intended as a stopgap until proper equality predicates are implemented as described in the where-clause RFC.

Because it is a hack, there are some limitations with how it can be used. It is most effective as a helper for encoding additional trait invariants in order to rule out invalid implementations. Previously it was useful as a means to specify Self for static method invocation but this is no longer needed with UFCS.

Documentation

See the API documentation here.

Requirements

  1. Rust
  2. Cargo

You can install both with the following:

$ curl -s https://static.rust-lang.org/rustup.sh | sudo sh

See Installing Rust for further details.

Usage

$ cargo build       ## build library and binary
$ cargo test        ## run tests in ./tests
$ cargo bench       ## run benchmarks in ./benches

Discussion

There is an IRC channel on freenode (chat.freenode.net) at #epsilonz.

Commit count: 0

cargo fmt