This PR reworks how we describe types such that we don't need handle types to implement Describe. In doing so, it makes substantial changes to how we describe exported types. The main change is that we now have our own Repr enum and have replaced most usages of schematic::Schema with Repr. At this point Schema is only used to describe by-value types, which can reasonably be expected to only contain types that also implement Describe.
This is the first step towards fully removing the dependency on schematic (tracked in #59).
Closes #57
This PR reworks how we describe types such that we don't need handle types to implement
Describe
. In doing so, it makes substantial changes to how we describe exported types. The main change is that we now have our ownRepr
enum and have replaced most usages ofschematic::Schema
withRepr
. At this pointSchema
is only used to describe by-value types, which can reasonably be expected to only contain types that also implementDescribe
.This is the first step towards fully removing the dependency on schematic (tracked in #59).