error: message set type `google.protobuf.test.M1` declares no extension ranges
  --> testdata/extend/message_set.proto:9:12
   |
 8 | message M1 {
   | ----------
 9 |     option message_set_wire_format = true;
   |            ^^^^^^^^^^^^^^^^^^^^^^^ declared as message set here

error: message set type `google.protobuf.test.M2` declares no extension ranges
  --> testdata/extend/message_set.proto:13:12
   |
12 | message M2 {
   | ----------
13 |     option (MessageOptions.message_set_wire_format) = true;
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |             |
   |             declared as message set here

warning: redundant custom option setting syntax
   --> testdata/extend/message_set.proto:13:12
    |
 13 |     option (MessageOptions.message_set_wire_format) = true;
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |             |
    |             this field is not a message extension
    |
   ::: <built-in>/google/protobuf/descriptor.proto:606:17
    |
606 |   optional bool message_set_wire_format = 1 [default = false];
    |                 -----------------------
    |                  |
    |                  field declared inside of `google.protobuf.MessageOptions` here
    |
   ::: testdata/extend/message_set.proto:13:12
   help: replace `(...)` with a field name
    |
 13 | -     option (MessageOptions.message_set_wire_format) = true;
 13 | +     option message_set_wire_format = true;
    |
    |
    = help: custom option setting syntax should only be used with message
            extensions

error: field declared in message set type `google.protobuf.test.M2`
  --> testdata/extend/message_set.proto:14:5
   |
14 |     optional int32 x = 1;
   |     ^^^^^^^^^^^^^^^^^^^^^
  ::: testdata/extend/message_set.proto:12:1
   |
12 | message M2 {
   | ----------
13 |     option (MessageOptions.message_set_wire_format) = true;
   |            ----------------------------------------
   |             |
   |             declared as message set here
   |
   = help: message set types may only declare extension ranges

warning: message set types are deprecated
  --> testdata/extend/message_set.proto:18:12
   |
17 | message M3 {
   | ----------
18 |     option (protobuf.MessageOptions.message_set_wire_format) = true;
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |             |
   |             declared as message set here
   |
   = help: message set types are not implemented correctly in most Protobuf
           implementations

warning: redundant custom option setting syntax
   --> testdata/extend/message_set.proto:18:12
    |
 18 |     option (protobuf.MessageOptions.message_set_wire_format) = true;
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |             |
    |             this field is not a message extension
    |
   ::: <built-in>/google/protobuf/descriptor.proto:606:17
    |
606 |   optional bool message_set_wire_format = 1 [default = false];
    |                 -----------------------
    |                  |
    |                  field declared inside of `google.protobuf.MessageOptions` here
    |
   ::: testdata/extend/message_set.proto:18:12
   help: replace `(...)` with a field name
    |
 18 | -     option (protobuf.MessageOptions.message_set_wire_format) = true;
 18 | +     option message_set_wire_format = true;
    |
    |
    = help: custom option setting syntax should only be used with message
            extensions

error: literal out of range for message set extension number
  --> testdata/extend/message_set.proto:20:16
   |
20 |     extensions 0x7fffffff;
   |                ^^^^^^^^^^
   = note: the range for message set extension number is `0x0 to 0x7ffffffe`

error: repeated message set extension
  --> testdata/extend/message_set.proto:25:5
   |
25 |     repeated M2 m2 = 2;
   |     ^^^^^^^^
  ::: testdata/extend/message_set.proto:18:12
   |
17 | message M3 {
   | ----------
18 |     option (protobuf.MessageOptions.message_set_wire_format) = true;
   |            -------------------------------------------------
   |             |
   |             declared as message set here
   |
   = help: message set extensions must be singular message fields

error: non-message message set extension
  --> testdata/extend/message_set.proto:26:14
   |
26 |     optional int32 m3 = 3;
   |              ^^^^^
  ::: testdata/extend/message_set.proto:18:12
   |
17 | message M3 {
   | ----------
18 |     option (protobuf.MessageOptions.message_set_wire_format) = true;
   |            -------------------------------------------------
   |             |
   |             declared as message set here
   |
   = help: message set extensions must be singular message fields

error: unsupported map-typed extension
  --> testdata/extend/message_set.proto:28:5
   |
28 |     map<string, string> m4 = 4;
   |     ^^^^^^^^^^^^^^^^^^^ declared here
   |
   = help: extensions cannot be map-typed; instead, define a message type with a
           map-typed field

error: literal out of range for message set extension number
  --> testdata/extend/message_set.proto:30:22
   |
30 |     optional M3 m5 = 0x7fffffff;
   |                      ^^^^^^^^^^
   = note: the range for message set extension number is `0x0 to 0x7ffffffe`

error: literal out of range for message set extension number
  --> testdata/extend/message_set.proto:31:22
   |
31 |     optional M3 m6 = 0xffffffff;
   |                      ^^^^^^^^^^
   = note: the range for message set extension number is `0x0 to 0x7ffffffe`

encountered 9 errors and 3 warnings
