I hate both of them. The first one is very clunky with all the "
. The second one is not self-docummenting at all, and it makes some enums impossible.
For example, you can't represent:
enum A {
B(u32)
C(u32)
D
}
It would be
A {
| u32
| u32
| ()
}
Also, the pipe is very awkward to type, specially depending on keyboard layout. Since it's a rare character. If you need to separate between enums and struts and really don't want to use the enum
and struct
keywords, you can use different delimiters, like:
A [
u32,
u32
]
B {
u32,
u32
}