rovv
rovv
is a crate to provide anonymous row type, which fields can be access by lens-rs
Example
A row with field a: String
!
let foo = Foo ;
let bar = Bar ;
assert_eq!;
assert_eq!;
A row may have field Some: String
row!
dyn_row! // dynamic version of row!
A row have multiple fields _mapped: String
row!
dyn_row!
A row with a mutable or immutable field:
row!
dyn_row!
A row bound by lifetimes 'a
row!
dyn_row!
In fact,
row! { <'a> ref a: A, mut b: B, c: C, .. }
isimpl LensRef<Optic![a], Image = A> + LensMut<Optic![b], Image = B> + Lens<Optic![c], Image = C> + 'a
dyn_row! { <'a> ref a: A, mut b: B, c: C, .. }
isdyn LensRef<Optic![a], Image = A> + LensMut<Optic![b], Image = B> + Lens<Optic![c], Image = C> + 'a
There are some magic in dyn_row!
, so please don't forget
[]
= true
in Cargo.toml