11 breaking releases

0.13.0 Mar 26, 2024
0.11.0 Mar 16, 2024
0.2.0 Oct 28, 2023

#2 in #variadic

Download history 4/week @ 2024-01-08 9/week @ 2024-02-12 16/week @ 2024-02-19 178/week @ 2024-02-26 480/week @ 2024-03-04 721/week @ 2024-03-11 125/week @ 2024-03-18 404/week @ 2024-03-25 67/week @ 2024-04-01 3/week @ 2024-04-08 226/week @ 2024-04-15

707 downloads per month
Used in 45 crates (via derive_tools)

MIT license

20KB
320 lines

Module :: variadic_from

experimentalrust-statusdocs.rsOpen in Gitpod discord

Variadic from

Basic use-case.

use variadic_from::exposed::*;

fn main()
{
  #[ derive( Debug, PartialEq, Default, VariadicFrom ) ]
  struct StructNamedFields
  {
    a : i32,
    b : i32,
  }

  let got : StructNamedFields = From::from( ( 13, 14 ) );
  let exp = StructNamedFields{ a : 13, b : 14 };
  assert_eq!( got, exp );

  let got : StructNamedFields = from!( 13, 14 );
  let exp = StructNamedFields{ a : 13, b : 14 };
  assert_eq!( got, exp );

  let got : StructNamedFields = ( 13, 14 ).to();
  let exp = StructNamedFields{ a : 13, b : 14 };
  assert_eq!( got, exp );

}

To add to your project

cargo add variadic_from

Try out from the repository

git clone https://github.com/Wandalen/wTools
cd wTools
cargo run --example variadic_from_trivial

Dependencies

~0.8–1.3MB
~29K SLoC