Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.
With default value assignments, you get an extra newline if you had a trailing comment in the shape body:
structure A {
a: String = ""
// a
}
becomes:
structure A {
a: String = ""
// a
}
3. Invalid doc comments also aren't fixed if they come after a default value assignment:
structure A {
a: String = "" /// a
}
structure B {
b: String = ""
/// a
}
don't change.
Not sure about 1, but for 2 and 3, it has something to do with the fact that [ValueAssignment](https://smithy.io/2.0/spec/idl.html#grammar-token-smithy-ValueAssignment) contains all whitespace following it (through [BR](https://smithy.io/2.0/spec/idl.html#grammar-token-smithy-BR))
Trailing comments get moved to a weird spot:
becomes
With default value assignments, you get an extra newline if you had a trailing comment in the shape body:
becomes:
}
structure A { a: String = "" /// a }
structure B { b: String = "" /// a }