Modifying data
Types that expose a mutable interface, for example via Arc<Mutex<_>>
, can have their fields be assigned and modified from the Interact prompt.
Interact knows the basic types, and is also able to construct values of derived types for which the #[interact(skip)]
attribute was not used for any field.
Assignments
Assignments are done using =
at the prompt.
For example, check cargo run --example large-example
:
>>> complex.tuple
((690498389, VarUnit, (193, 38)), 1262478744)
>>> complex.tuple.0.2
(193, 38)
>>> complex.tuple.0.2 = (1, 1)
>>> complex.tuple
((690498389, VarUnit, (1, 1)), 1262478744)
>>> complex.tuple.0.1 = VarNamed { a: 3, b: 10}
>>> complex.tuple
((690498389, VarNamed { a: 3, b: 10 }, (1, 1)), 1262478744)
Wrapper types
The wrapper types Rc
, RefCell
, Mutex
, Box
are transparent to construction of values, and need not be specified.
>>> complex.boxed = VarNamed { a: 3, b: 10}
>>> complex.boxed
VarNamed { a: 3, b: 10 }