A generic library to easily visit elements of a structure and perform an action on each one
Add this to your Cargo.toml
:
toml
[dependencies]
visitor = "*"
and this to your crate root:
rust
extern crate visitor;
```rust
struct Data{
a: u32,
b: u32
}
impl Visit for Data{
fn visit
struct AddVisitor{ value: u32 } impl Visitor for AddVisitor{ type Error = (); fn visit(&mut self, data: u32) -> Result<(), Self::Error>{ self.value += data; Ok(()) } }
fn it_works() { let data = Data{ a: 3, b: 4 }; let mut adder = AddVisitor{ value: 0 };
data.visit(&mut adder).unwrap();
assert_eq!(adder.value, 7);
} ```