Some known issues
No support for generics
No support for supertraits
No support for constrained enum-wrapped associated types (i suppose we could "recursively" generate implementations for the new enums)
Naming several trait fn arguments _
will probably break it
Parsing is probably not resilient enough (trailing commas, etc)
Associated type enum generation probably fails if some types are equal.
Need to use absolute paths (::core::convert::From
) instead of assuming it's in scope (From
)
Failed TryInto conversions for associated type enums could have better errors
No support for renaming crate in Cargo.toml
register
doesn't work with implement_for
. I can't think of a use case though. Should it?
Currently failing on first error. Better to detect all the errors we can and output them all.
register
doesn't validate the trait. Errors only show up when it is implemented.
Need to assert that all enum variant fields are different (at least symbolically) and error otherwise. (Error might be confusing now)