I assumed this applies to every instance of a type alias, but it's not. For example, type aliases are not allowed to have no type specified when declared as a top level item, but it is when as an associated type in a trait.
This is mentioned in the later paragraphs, however:
A type alias, when not used as an associated type, must include a Type and may not include TypeParamBounds.
This is confusing for me. I think it would be better if there was a syntax box like the one mentioned above for each case where a type alias can be found. So for example, these would be the syntax boxes for each:
At the top, the grammar is written as:
I assumed this applies to every instance of a type alias, but it's not. For example, type aliases are not allowed to have no type specified when declared as a top level item, but it is when as an associated type in a trait.
This is mentioned in the later paragraphs, however:
This is confusing for me. I think it would be better if there was a syntax box like the one mentioned above for each case where a type alias can be found. So for example, these would be the syntax boxes for each: