glitchup_derive
A group of procedural macros to assist in the use of glitchup
. Check any updates on the changelog.
#[derive(MutConfig)]
This derivation macro is used to derive MutConfig
for any compatible struct. For a struct to be compatible, the following must apply:
Config
.isize
String
bool
Vec<{Supported Primitive}>
Option<{Supported Primitive}>
These specific primitives were selected due to the MutOptionVal
using said values.
The MutConfig
trait implements a to_hashmap
function, where the fields of the struct are converted into a HashMap<String, MutOptionVal>
to be used by a Mutation
.
```rust
struct MainConfig {
mutation : MutationConfig,
mutations : Vec
struct MutationConfig {
min : Option
In MainConfig
above, mutations
would fail. However, as an example, we need it in order for our application to work. We know that no Mutation
will use it, so what we can do is add the #[ignore]
attribute:
```rust
struct MainConfig {
mutation : MutationConfig,
#[ignore]
mutations : Vec
Any field tagged with #[ignore]
will not be included in to_hashmap(...)
.