o Basic builder of a struct.
o Owned builder.
o Immutable builder.
o skip setters
o skip all setters; enable particular setters.
o custom setters.
o custom all setters; enable particular setters.
o Override setter visibility
o Override builder visibility
o Rename builder.
o Setter prefix
o Setter renaming
o Into setters (field or struct)
o Strip_option setters
o Fallible setters
o Default values
o rename or skip build function
o pre-build validation
o Replace Error type
o Override field type.
o Override field builder.
o Perhaps, tolerate the possibility that Option, Result, String, etc might not be in scope.
- Set more attributes on builder.
o Copy attributes from fields.
o Pass-through attributes
o Documentation (generated)
o Documentation (internal)
o Rename setter(default)
o Subbuilders
==============================
- Support tuple and unit structs.
==============================
Derive deftly:
o Simpler way to make "default" settings for tmeta. #40
o Document that ${define A {B C D}} needs those inner braces.
- Fresh unused/hygienic identifier??
- Builtin stringify (not just ${ as str})
- derive_deftly(A::Foo) should work, and apparently does. Document this?
- comments: inner vs outer?
o "User-derived expansion/condition not found?" SAY WHICH. #41
- Documentation templating.
o Look for a better way to avoid this:
${if foo {${define BAR { ... } }} else { ${define BAR {...}}}}
#42