error: unexpected range expression in enum value
  --> testdata/tags/values.proto:36:10
   |
36 |     M3 = 1 to 2;
   |          ^^^^^^

error: unexpected `:` after definition
  --> testdata/tags/values.proto:37:11
   |
37 |     M4 = a: 2;
   |           ^ expected `;`
   |
  help: consider inserting a `;`
   |
37 |     M4 = a;: 2;
   |           +

error: unexpected tokens in enum definition
  --> testdata/tags/values.proto:37:11
   |
37 |     M4 = a: 2;
   |           ^^^ expected identifier, `;`, `.`, `(...)`, or `{...}`

error: encountered more than one message field tag
  --> testdata/tags/values.proto:38:12
   |
38 |     M5 = a = 2;
   |        --- ^^^ help: consider removing this
   |        |
   |        first one is here

error: enum value `2` used more than once
  --> testdata/tags/values.proto:9:10
   |
 8 |     Y = 2;
   |         - previously used here
 9 |     Y2 = 2;
   |          ^ used here

error: literal out of range for `int32`
  --> testdata/tags/values.proto:14:10
   |
14 |     Z4 = 0x80000000;
   |          ^^^^^^^^^^
   = note: the range for `int32` is `-0x80000000 to 0x7fffffff`

error: literal out of range for `int32`
  --> testdata/tags/values.proto:15:10
   |
15 |     Z5 = -0x80000001;
   |          ^^^^^^^^^^^
   = note: the range for `int32` is `-0x80000000 to 0x7fffffff`

error: literal out of range for `int32`
  --> testdata/tags/values.proto:16:10
   |
16 |     Z6 = 0xffffffffffffffffffffffffffffffff;
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: the range for `int32` is `-0x80000000 to 0x7fffffff`

error: mismatched types
  --> testdata/tags/values.proto:18:10
   |
18 |     F1 = 1.0;
   |          ^^^ expected `int32`, found floating-point literal
   |
   = note: expected: scalar type `int32`
              found: floating-point literal

error: mismatched types
  --> testdata/tags/values.proto:19:10
   |
19 |     F2 = -1.0;
   |          ^^^^ expected `int32`, found floating-point literal
   |
   = note: expected: scalar type `int32`
              found: floating-point literal

error: mismatched types
  --> testdata/tags/values.proto:20:10
   |
20 |     F3 = inf;
   |          ^^^ expected `int32`, found floating-point literal
   |
   = note: expected: scalar type `int32`
              found: floating-point literal

error: mismatched types
  --> testdata/tags/values.proto:21:10
   |
21 |     F4 = -inf;
   |          ^^^^ expected `int32`, found floating-point literal
   |
   = note: expected: scalar type `int32`
              found: floating-point literal

error: mismatched types
  --> testdata/tags/values.proto:22:10
   |
22 |     F5 = nan;
   |          ^^^ expected `int32`, found floating-point literal
   |
   = note: expected: scalar type `int32`
              found: floating-point literal

error: mismatched types
  --> testdata/tags/values.proto:23:10
   |
23 |     F6 = -nan;
   |          ^^^^ expected `int32`, found floating-point literal
   |
   = note: expected: scalar type `int32`
              found: floating-point literal

error: mismatched types
  --> testdata/tags/values.proto:25:10
   |
25 |     B1 = false;
   |          ^^^^^ expected `int32`, found `bool`
   |
   = note: expected: scalar type `int32`
              found: scalar type `bool`

error: mismatched types
  --> testdata/tags/values.proto:26:10
   |
26 |     B2 = true;
   |          ^^^^ expected `int32`, found `bool`
   |
   = note: expected: scalar type `int32`
              found: scalar type `bool`

error: `max` outside of range end
  --> testdata/tags/values.proto:27:10
   |
27 |     B3 = max;
   |          ^^^
   = note: the special `max` expression can only be used at the end of a range

error: mismatched types
  --> testdata/tags/values.proto:29:10
   |
29 |     S1 = "";
   |          ^^ expected `int32`, found `string`
   |
   = note: expected: scalar type `int32`
              found: scalar type `string`

error: mismatched types
  --> testdata/tags/values.proto:30:10
   |
30 |     S2 = '';
   |          ^^ expected `int32`, found `string`
   |
   = note: expected: scalar type `int32`
              found: scalar type `string`

error: mismatched types
  --> testdata/tags/values.proto:31:10
   |
31 |     S3 = "abc";
   |          ^^^^^ expected `int32`, found `string`
   |
   = note: expected: scalar type `int32`
              found: scalar type `string`

error: mismatched types
  --> testdata/tags/values.proto:32:10
   |
32 |     S4 = '\xff\xff\xff';
   |          ^^^^^^^^^^^^^^ expected `int32`, found `string`
   |
   = note: expected: scalar type `int32`
              found: scalar type `string`

error: mismatched types
  --> testdata/tags/values.proto:34:10
   |
34 |     M1 = {};
   |          ^^ expected `int32`, found message expression
   |
   = note: expected: scalar type `int32`
              found: message expression

error: mismatched types
  --> testdata/tags/values.proto:35:10
   |
35 |     M2 = [];
   |          ^^ expected `int32`, found array expression
   |
   = note: expected: scalar type `int32`
              found: array expression

error: mismatched types
  --> testdata/tags/values.proto:36:10
   |
36 |     M3 = 1 to 2;
   |          ^^^^^^ expected `int32`, found range expression
   |
   = note: expected: scalar type `int32`
              found: range expression

error: cannot find `a` in this scope
  --> testdata/tags/values.proto:37:10
   |
37 |     M4 = a: 2;
   |          ^ not found in this scope
   |
   = help: the full name of this scope is `test.E`

error: cannot find `a` in this scope
  --> testdata/tags/values.proto:38:10
   |
38 |     M5 = a = 2;
   |          ^ not found in this scope
   |
   = help: the full name of this scope is `test.E`

error: mismatched types
  --> testdata/tags/values.proto:40:10
   |
40 |     E1 = X;
   |          ^ expected `int32`, found `test.E`
   |
   = note: expected: scalar type `int32`
              found: enum type `test.E`

error: mismatched types
  --> testdata/tags/values.proto:41:10
   |
41 |     E2 = -Y;
   |          ^^ expected `int32`, found `test.E`
   |
   = note: expected: scalar type `int32`
              found: enum type `test.E`

encountered 28 errors
