Open CertainLach opened 2 years ago
Thanks. Recursive structure is a known issue. Is changing #[trace(skip)]
to #[ignore_trace]
because limitation of synstructure
? I kind like #[trace(skip)]
because it looks similar to what serde does.
It isn't limitation of synstructure, but easing of implementation, as it is harder to implement parsing of trace(skip)
attribute
Forgot about i changed this while making this PR, will implement original style of this attribute
Well, it was hard to implement prettier syntax using synstructure, and because everyone implements synstructure subset in own crates nowadays, i created this abdomination
To use advantages of new macro implementation i also added with
attribute, which allows to delegate tracing of single field (potentially foreign) to custom function
is_type_tracked causes issue in this case:
Because it expands to
It causes stack overflow
To address this issue, i added additional filter for derive:
ignore_tracking
: