error: unexpected type in map value type
  --> testdata/parser/type/generic.proto:9:17
   |
 9 |     map<string, map<string, test.M>> x4 = 4;
   |                 ^^^^^^^^^^^^^^^^^^^ expected type name

error: generic types other than `map` are not supported
  --> testdata/parser/type/generic.proto:11:5
   |
11 |     list<string> x5 = 5;
   |     ^^^^

error: generic types other than `map` are not supported
  --> testdata/parser/type/generic.proto:12:5
   |
12 |     void<> x6 = 6;
   |     ^^^^

error: generic types other than `map` are not supported
  --> testdata/parser/type/generic.proto:14:5
   |
14 |     my.Map<A, B, C> x7 = 7;
   |     ^^^^^^

error: unexpected type after `optional`
  --> testdata/parser/type/generic.proto:16:14
   |
16 |     optional map<string, string> x8 = 8;
   |              ^^^^^^^^^^^^^^^^^^^ expected type name

error: unexpected type after `repeated`
  --> testdata/parser/type/generic.proto:17:14
   |
17 |     repeated map<string, string> x9 = 9;
   |              ^^^^^^^^^^^^^^^^^^^ expected type name

warning: required fields are deprecated
  --> testdata/parser/type/generic.proto:18:5
   |
18 |     required map<string, string> x10 = 10;
   |     ^^^^^^^^
   = help: do not attempt to change this to `optional` if the field is already
           in-use; doing so is a wire protocol break

error: unexpected type after `required`
  --> testdata/parser/type/generic.proto:18:14
   |
18 |     required map<string, string> x10 = 10;
   |              ^^^^^^^^^^^^^^^^^^^ expected type name

error: unexpected `repeated` in map value type
  --> testdata/parser/type/generic.proto:20:17
   |
20 |     map<string, repeated string> x11 = 11;
   |                 ^^^^^^^^

error: unexpected `required` in map value type
  --> testdata/parser/type/generic.proto:21:27
   |
21 |     map<optional .test.M, required test.M> x12 = 12;
   |                           ^^^^^^^^

error: generic types other than `map` are not supported
  --> testdata/parser/type/generic.proto:23:5
   |
23 |     set<Foo bar> x13 = 13;
   |     ^^^

error: unexpected type name in type parameters
  --> testdata/parser/type/generic.proto:23:13
   |
23 |     set<Foo bar> x13 = 13;
   |             ^^^ expected `,`
   |             - note: assuming a missing `,` here
   |
  help: add a `,` here
   |
23 |     set<Foo, bar> x13 = 13;
   |            +

error: generic types other than `map` are not supported
  --> testdata/parser/type/generic.proto:24:5
   |
24 |     set<optional.Foo> x14 = 14;
   |     ^^^

error: unexpected type in method parameter list
  --> testdata/parser/type/generic.proto:28:12
   |
28 |     rpc X1(map<string, string>) returns (map<string, stream M>) {}
   |            ^^^^^^^^^^^^^^^^^^^ expected message type

error: unexpected type in method return type
  --> testdata/parser/type/generic.proto:28:42
   |
28 |     rpc X1(map<string, string>) returns (map<string, stream M>) {}
   |                                          ^^^^^^^^^^^^^^^^^^^^^
   |                                           |
   |                                           expected message type

error: unexpected type in method parameter list
  --> testdata/parser/type/generic.proto:29:12
   |
29 |     rpc X2(list<test.M>) returns (stream .void<M>) {}
   |            ^^^^^^^^^^^^ expected message type

error: unexpected type in method return type
  --> testdata/parser/type/generic.proto:29:42
   |
29 |     rpc X2(list<test.M>) returns (stream .void<M>) {}
   |                                          ^^^^^^^^ expected message type

error: unexpected type in method parameter list
  --> testdata/parser/type/generic.proto:30:12
   |
30 |     rpc X3(map<string, repeated string>) returns (stream map<string, string>) {}
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected message type

error: unexpected type in method return type
  --> testdata/parser/type/generic.proto:30:58
   |
30 |     rpc X3(map<string, repeated string>) returns (stream map<string, string>) {}
   |                                                          ^^^^^^^^^^^^^^^^^^^
   |                                                           |
   |                                                           expected message type

encountered 18 errors and 1 warning
