1 unstable release

0.1.0 Jan 5, 2019

#2206 in Rust patterns

Apache-2.0/MIT

4KB

as_tuple

View any struct as a tuple! ✨

crates.io badge docs.rs badge Travis badge

[dependencies]
as_tuple = "0.1"
use as_tuple::AsTuple;

#[derive(AsTuple, Debug)]
struct Position {
    x: f32,
    y: f32,
}

let mut position = Position { x: 6.2, y: 4.3 };
let (x, y) = position.as_tuple_mut();
*x -= 1.0;
*y += 1.0;
println!("{:#?}", position);

(You can try it with cargo run --example position)


lib.rs:

View any struct as a tuple! ✨

See [AsTuple] for usage info.

Dependencies

~1.5MB
~42K SLoC