error: cannot name extension field using `(...)` in message expression
  --> testdata/options/values/message.proto:25:5
   |
25 |     (buf.test.x) {}
   |     ^^^^^^^^^^^^ expected this to be wrapped in `[...]` instead
   |
  help: replace the `(...)` with `[...]`
   |
25 | -     (buf.test.x) {}
25 | +     [buf.test.x] {}

error: unexpected absolute path in extension name
  --> testdata/options/values/message.proto:27:6
   |
27 |     [.buf.test.x] {}
   |      ^^^^^^^^^^^ expected a path without a leading `.`
   |
  help: remove the leading `.`
   |
27 | -     [.buf.test.x] {}
27 | +     [buf.test.x] {}

error: cannot name extension field using `(...)` in message expression
  --> testdata/options/values/message.proto:41:5
   |
41 |     (Foo.z): 1,
   |     ^^^^^^^ expected this to be wrapped in `[...]` instead
   |
  help: replace the `(...)` with `[...]`
   |
41 | -     (Foo.z): 1,
41 | +     [Foo.z]: 1,

error: unexpected absolute path in extension name
  --> testdata/options/values/message.proto:46:6
   |
46 |     [.buf.test.Foo.z]: 3,
   |      ^^^^^^^^^^^^^^^ expected a path without a leading `.`
   |
  help: remove the leading `.`
   |
46 | -     [.buf.test.Foo.z]: 3,
46 | +     [buf.test.Foo.z]: 3,

error: mismatched types
  --> testdata/options/values/message.proto:23:5
   |
23 |     [x] {}
   |     ^^^
   |     |
   |     expected `buf.test.Foo` field, found `google.protobuf.FileOptions` field
24 |     [buf.test.x] {}
...
59 |     optional Foo x = 1000;
   |     ------------ expected due to this
   |
   = note: expected: `buf.test.Foo` field
              found: `google.protobuf.FileOptions` field

error: mismatched types
  --> testdata/options/values/message.proto:24:5
   |
24 |     [buf.test.x] {}
   |     ^^^^^^^^^^^^
   |      |
   |      expected `buf.test.Foo` field, found `google.protobuf.FileOptions` field
25 |     (buf.test.x) {}
...
59 |     optional Foo x = 1000;
   |     ------------ expected due to this
   |
   = note: expected: `buf.test.Foo` field
              found: `google.protobuf.FileOptions` field

error: mismatched types
  --> testdata/options/values/message.proto:26:5
   |
26 |     "buf.test.x" {}
   |     ^^^^^^^^^^^^
   |      |
   |      expected `buf.test.Foo` field, found `google.protobuf.FileOptions` field
27 |     [.buf.test.x] {}
...
59 |     optional Foo x = 1000;
   |     ------------ expected due to this
   |
   = note: expected: `buf.test.Foo` field
              found: `google.protobuf.FileOptions` field

error: mismatched types
  --> testdata/options/values/message.proto:27:5
   |
27 |     [.buf.test.x] {}
   |     ^^^^^^^^^^^^^
   |      |
   |      expected `buf.test.Foo` field, found `google.protobuf.FileOptions` field
...
59 |     optional Foo x = 1000;
   |     ------------ expected due to this
   |
   = note: expected: `buf.test.Foo` field
              found: `google.protobuf.FileOptions` field

error: message field `buf.test.Foo.y` referenced incorrectly
  --> testdata/options/values/message.proto:29:5
   |
29 |     [y]: 0,
   |     ^^^ referenced here
   |
  help: reference it as `y`
   |
29 | -     [y]: 0,
29 | +     y: 0,
   |
   |
   = note: `[...]` must only be used when referencing extensions or concrete
           `Any` types

error: message field `buf.test.Foo.y` referenced incorrectly
  --> testdata/options/values/message.proto:30:5
   |
30 |     "y": 0,
   |     ^^^ referenced here
   |
  help: reference it as `y`
   |
30 | -     "y": 0,
30 | +     y: 0,
   |
   |
   = note: due to a parser quirk, `.protoc` rejects quoted strings here, even
           though textproto does not

error: message field `buf.test.Foo.y` set multiple times
  --> testdata/options/values/message.proto:30:5
   |
29 |     [y]: 0,
   |     --- first set here...
30 |     "y": 0,
   |     ^^^ ... also set here
31 |     [Foo.y]: 0,
...
50 |     optional int32 y = 1;
   |                    - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message field `buf.test.Foo.y` referenced incorrectly
  --> testdata/options/values/message.proto:31:5
   |
31 |     [Foo.y]: 0,
   |     ^^^^^^^ referenced here
   |
  help: reference it as `y`
   |
31 | -     [Foo.y]: 0,
31 | +     y: 0,
   |
   |
   = note: `[...]` must only be used when referencing extensions or concrete
           `Any` types
   = note: field names must be a single identifier

error: message field `buf.test.Foo.y` set multiple times
  --> testdata/options/values/message.proto:31:5
   |
29 |     [y]: 0,
   |     --- first set here...
30 |     "y": 0,
31 |     [Foo.y]: 0,
   |     ^^^^^^^ ... also set here
32 |     Foo.y: 0,
...
50 |     optional int32 y = 1;
   |                    - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message field `buf.test.Foo.y` referenced incorrectly
  --> testdata/options/values/message.proto:32:5
   |
32 |     Foo.y: 0,
   |     ^^^^^ referenced here
   |
  help: reference it as `y`
   |
32 | -     Foo.y: 0,
32 | +     y: 0,
   |
   |
   = note: field names must be a single identifier

error: message field `buf.test.Foo.y` set multiple times
  --> testdata/options/values/message.proto:32:5
   |
29 |     [y]: 0,
   |     --- first set here...
30 |     "y": 0,
31 |     [Foo.y]: 0,
32 |     Foo.y: 0,
   |     ^^^^^ ... also set here
33 |     ["Foo.y"]: 0,
...
50 |     optional int32 y = 1;
   |                    - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message field `buf.test.Foo.y` referenced incorrectly
  --> testdata/options/values/message.proto:33:5
   |
33 |     ["Foo.y"]: 0,
   |     ^^^^^^^^^ referenced here
   |
  help: reference it as `y`
   |
33 | -     ["Foo.y"]: 0,
33 | +     y: 0,
   |
   |
   = note: `[...]` must only be used when referencing extensions or concrete
           `Any` types
   = note: field names must be a single identifier

error: message field `buf.test.Foo.y` set multiple times
  --> testdata/options/values/message.proto:33:5
   |
29 |     [y]: 0,
   |     --- first set here...
30 |     "y": 0,
31 |     [Foo.y]: 0,
32 |     Foo.y: 0,
33 |     ["Foo.y"]: 0,
   |     ^^^^^^^^^ ... also set here
34 |     "Foo.y": 0,
...
50 |     optional int32 y = 1;
   |                    - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message field `buf.test.Foo.y` referenced incorrectly
  --> testdata/options/values/message.proto:34:5
   |
34 |     "Foo.y": 0,
   |     ^^^^^^^ referenced here
   |
  help: reference it as `y`
   |
34 | -     "Foo.y": 0,
34 | +     y: 0,
   |
   |
   = note: field names must be a single identifier
   = note: due to a parser quirk, `.protoc` rejects quoted strings here, even
           though textproto does not

error: message field `buf.test.Foo.y` set multiple times
  --> testdata/options/values/message.proto:34:5
   |
29 |     [y]: 0,
   |     --- first set here...
30 |     "y": 0,
...
33 |     ["Foo.y"]: 0,
34 |     "Foo.y": 0,
   |     ^^^^^^^ ... also set here
...
50 |     optional int32 y = 1;
   |                    - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message field `buf.test.Foo.y` referenced incorrectly
  --> testdata/options/values/message.proto:36:5
   |
36 |     1: 0,
   |     ^ referenced here
   |
  help: reference it as `y`
   |
36 | -     1: 0,
36 | +     y: 0,
   |
   |
   = note: field names must be a single identifier
   = note: due to a parser quirk, `.protoc` rejects numbers here, even though
           textproto does not

error: message field `buf.test.Foo.y` set multiple times
  --> testdata/options/values/message.proto:36:5
   |
29 |     [y]: 0,
   |     --- first set here...
30 |     "y": 0,
...
36 |     1: 0,
   |     ^ ... also set here
37 |     1000: 1,
...
50 |     optional int32 y = 1;
   |                    - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: cannot resolve message field name for `buf.test.Foo`
  --> testdata/options/values/message.proto:37:5
   |
37 |     1000: 1,
   |     ^^^^^^^ field referenced here
...
59 |     optional Foo x = 1000;
   |     ------------ expected `Foo` field due to this

error: cannot resolve message field name for `buf.test.Foo`
  --> testdata/options/values/message.proto:39:5
   |
39 |     [z]: 0,
   |     ^^^^^^ field referenced here
40 |     [Foo.z]: 1,
...
59 |     optional Foo x = 1000;
   |     ------------ expected `Foo` field due to this

error: message extension `buf.test.Foo.z` referenced incorrectly
  --> testdata/options/values/message.proto:42:5
   |
42 |     ["Foo.z"]: 1,
   |     ^^^^^^^^^ referenced here
   |
  help: reference it as `[buf.test.Foo.z]`
   |
42 | -     ["Foo.z"]: 1,
42 | +     [buf.test.Foo.z]: 1,

error: message extension `buf.test.Foo.z` set multiple times
  --> testdata/options/values/message.proto:42:5
   |
40 |     [Foo.z]: 1,
   |     ------- first set here...
41 |     (Foo.z): 1,
42 |     ["Foo.z"]: 1,
   |     ^^^^^^^^^ ... also set here
43 |     Foo.z: 1,
...
54 |         optional int32 z = 1000;
   |                        - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message extension `buf.test.Foo.z` referenced incorrectly
  --> testdata/options/values/message.proto:43:5
   |
43 |     Foo.z: 1,
   |     ^^^^^ referenced here
   |
  help: reference it as `[buf.test.Foo.z]`
   |
43 | -     Foo.z: 1,
43 | +     [buf.test.Foo.z]: 1,
   |
   |
   = note: extension names must be surrounded by `[...]`

error: message extension `buf.test.Foo.z` set multiple times
  --> testdata/options/values/message.proto:43:5
   |
40 |     [Foo.z]: 1,
   |     ------- first set here...
41 |     (Foo.z): 1,
42 |     ["Foo.z"]: 1,
43 |     Foo.z: 1,
   |     ^^^^^ ... also set here
44 |     "Foo.z": 1,
...
54 |         optional int32 z = 1000;
   |                        - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message extension `buf.test.Foo.z` referenced incorrectly
  --> testdata/options/values/message.proto:44:5
   |
44 |     "Foo.z": 1,
   |     ^^^^^^^ referenced here
   |
  help: reference it as `[buf.test.Foo.z]`
   |
44 | -     "Foo.z": 1,
44 | +     [buf.test.Foo.z]: 1,
   |
   |
   = note: extension names must be surrounded by `[...]`
   = note: due to a parser quirk, `.protoc` rejects quoted strings here, even
           though textproto does not

error: message extension `buf.test.Foo.z` set multiple times
  --> testdata/options/values/message.proto:44:5
   |
40 |     [Foo.z]: 1,
   |     ------- first set here...
41 |     (Foo.z): 1,
42 |     ["Foo.z"]: 1,
43 |     Foo.z: 1,
44 |     "Foo.z": 1,
   |     ^^^^^^^ ... also set here
45 |     [buf.test.Foo.z]: 2,
...
54 |         optional int32 z = 1000;
   |                        - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message extension `buf.test.Foo.z` set multiple times
  --> testdata/options/values/message.proto:45:5
   |
40 |     [Foo.z]: 1,
   |     ------- first set here...
41 |     (Foo.z): 1,
...
44 |     "Foo.z": 1,
45 |     [buf.test.Foo.z]: 2,
   |     ^^^^^^^^^^^^^^^^ ... also set here
46 |     [.buf.test.Foo.z]: 3,
...
54 |         optional int32 z = 1000;
   |                        - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

error: message extension `buf.test.Foo.z` set multiple times
  --> testdata/options/values/message.proto:46:5
   |
40 |     [Foo.z]: 1,
   |     ------- first set here...
41 |     (Foo.z): 1,
...
45 |     [buf.test.Foo.z]: 2,
46 |     [.buf.test.Foo.z]: 3,
   |     ^^^^^^^^^^^^^^^^^ ... also set here
...
54 |         optional int32 z = 1000;
   |                        - not a repeated field
   |
   = note: a non-`repeated` option may be set at most once

encountered 31 errors
