Random Musings: types in patterns

There's an old RFC issue about this:

It should be relatively easily implementable and I think we should implement it as an experiment under type_ascription feature (Idea: Change type ascription syntax from `:` to `type` keyword - #4 by petrochenkov).

Also, there's no ambiguity in struct patterns, only confusion.
field in Struct { field } is NOT a pattern, so type ascription is not applicable to it.
The syntax is either Struct { ident: PAT } (in this case there's a pattern and this pattern can use type ascription) or Struct { ident } (in this case there's no pattern syntactically, so there can be no type ascription).