Module :: derive_tools

experimental rust-status docs.rs Open in Gitpod discord

Collection of derives which extend STD.

Sample

```rust

[ cfg( all( feature = "derivefrom", feature = "deriveinto", feature = "derivedisplay", feature = "derivefrom_str" ) ) ]

{ use derive_tools::*;

#[ derive( From, Into, Display, FromStr, PartialEq, Debug ) ] #[ display( "{a}-{b}" ) ] struct Struct1 { a : i32, b : i32, }

// derived Into let src = Struct1 { a : 1, b : 3 }; let got : ( i32, i32 ) = src.into(); let exp = ( 1, 3 ); assert_eq!( got, exp );

// derived Display let src = Struct1 { a : 1, b : 3 }; let got = format!( "{}", src ); let exp = "1-3"; println!( "{}", got ); assert_eq!( got, exp );

// derived FromStr use std::str::FromStr; let src = Struct1::fromstr( "1-3" ); let exp = Ok( Struct1 { a : 1, b : 3 } ); asserteq!( src, exp ); } ```

To add to your project

sh cargo add derive_tools

Try out from the repository

sh git clone https://github.com/Wandalen/wTools cd wTools cd sample/rust/derive_tools_trivial cargo run