Open jamiebrynes7 opened 5 years ago
What's the use case for opting out of the SDK-provided traits for serialization? I get disabling vtable serialization so that they can control when serialization happens, but what value would there be in opting out of the traits entirely?
There's also the question of how this interacts with code generation in dependencies with regards to #56.
Important to note that vtables will be gone as of #146. Custom generated code is still on the table though :)
A feature that has repeatedly come up in PR reviews and discussions has been allowing users to replace the default generated code or opt out entirely and pass in raw Schema objects.
Currently, the implementation assumes that you are using generated code of a specific shape and structure. (i.e. - using the
Component
trait, usinginventory
for auto-registration).We should allow and support for this level of granularity and let users opt in at whichever level they want. From high level to low level:
Using
cargo
feature flags may be an appropriate way of handling this - but some decisions will need to be made around which direction these feature flags go (i.e. - default is the low level, and you opt into higher level features or default is high level, and you opt out of the high level features).This will likely be a big chunk of work to isolate out these parts of the codebase and can likely be done post
v0.1.0
release