fromsoftware_shared/researching.rs
1use std::fmt::Debug;
2
3/// A trait that's intended to be applied to a type using a derive macro when
4/// actively trying to research the behavior and meaning of that type's fields.
5///
6/// This should never be used in checked-in code. It exists only as a
7/// convenience during active reverse-engineering.
8pub trait Researching {
9 /// Returns a list of all unknown field names and references to their values.
10 ///
11 /// When `#[derive(Researching)]` is used, it treats and field whose name
12 /// begins with `_unk` or `unk` as unknown.
13 fn unknown_fields(&self) -> Vec<(&str, &dyn Debug)>;
14}