magiclen / educe

This crate offers procedural macros designed to facilitate the swift implementation of Rust's built-in traits.
MIT License
122 stars 11 forks source link

Handle recursive enum #27

Open tyt2y3 opened 3 months ago

tyt2y3 commented 3 months ago

First of all thank you for such an awesome crate. It's used in sea-query https://github.com/SeaQL/sea-query/blob/f4a5172b9493f355567ee01613e05b2886ed2673/src/value.rs#L132

I discovered upon 0.5.12 the code fails to compile, presumably due to the change introduced in 'ijackson-precise-bounds'.

Here is the testcase https://github.com/magiclen/educe/pull/26

May be recursive types is an undocumented feature that we somehow depended on? Or is this a bug introduced during refactoring?

Would love to hear your suggestions.

Ref: https://github.com/SeaQL/sea-query/issues/781 (to reproduce there do cargo b --features=hashable-value,postgres-array

sfackler commented 2 months ago

This regression appears to be present in 0.6.0 as well.