AFLplusplus / AFLplusplus/LibAFL
Implement TypeNamed to allow for consistent deserialization of metadata
Open
enhancement
- Dominant language
- Rust
- Stars
- 2.6k
- Forks
- 481
- Avg merge
- 2d 30m
- Merged PRs (30d)
- 16
Description
Currently, a rebuild will potentially cause existing metadata naming to become invalid as `type_name` is unstable. This means that, between builds, metadata stored in corpora are not guaranteed to be loaded.
Instead, we should implement a trait, `TypeNamed`, which allows a structure to provide a consistent name. This should be implemented such that generic structures have different type names per monomorphisation by way of invoking `TypeNamed` implementations on its generic parameters. To be performant, this function should accept a `Write` type (e.g. `Vec`) and recursively invoke children.
Contributor guide
Assessment
This issue has not been assessed yet.