This diff does two main things.
- Allows the more condense config type definition syntax anywhere where
resolve_to_config_type is called. This includes the arguments to
Field(), where previously one had to use the proper Dict type. The goal
is here is so that end users really never have to use Dict and we can
rename that to Shape and divorce ourselves from the runtime names
- Simplify error handling there. This is both an improvement and a
regression. This gets rid of the some of the context-specific error messages.
There is instead a generic error path for all config type conversions.
This now includes a stack of where you are in the config spec.
Removing the context-specific error messaging simplifies the code quite
a bit. I think that error message in combination with the stack trace
is sufficient to debug cases, but I could be persuaded that is wrong.