trait_derive is a small crate that will generate a trait based on the impl blocks of your structs. This will save repitition in cases where you want to generate a trait for testing purposes, or you want to turn exsisting code into a trait for decoupling purposes.
To add it to your project, add the following line to your Cargo.toml
trait_derive = "0.1.0"
Currently, trait_derive requires you to be running nightly Rust. This will hopefully change in the future, once proc macros are stable.
Examples
Using this crate looks something like this:
extern crate trait_derive;
use make_trait;
;
// This will generate a trait named 'TraitA' by default.
// This will generate a trait named 'Database'