error: nested array expressions are not allowed
  --> testdata/options/values/bool.proto:41:31
   |
41 |     x: [1, 1.0, inf, nan, {}, [], 0 to 1]
   |        -----------------------^^--------- ...within this array expression
   |                               |
   |                               cannot nest this array expression...

error: unexpected range expression in option setting value
  --> testdata/options/values/bool.proto:41:35
   |
41 |     x: [1, 1.0, inf, nan, {}, [], 0 to 1]
   |                                   ^^^^^^

warning: non-canonical `bool` literal
  --> testdata/options/values/bool.proto:26:8
   |
26 |     x: True
   |        ^^^^
  help: replace with `true`
   |
26 | -     x: True
26 | +     x: true
   |
   = note: within message expressions only, `True` is permitted as a `bool`, but
           should be avoided

warning: non-canonical `bool` literal
  --> testdata/options/values/bool.proto:27:8
   |
27 |     x: False
   |        ^^^^^
  help: replace with `false`
   |
27 | -     x: False
27 | +     x: false
   |
   = note: within message expressions only, `False` is permitted as a `bool`,
           but should be avoided

warning: non-canonical `bool` literal
  --> testdata/options/values/bool.proto:28:8
   |
28 |     x: t
   |        ^
  help: replace with `true`
   |
28 | -     x: t
28 | +     x: true
   |
   = note: within message expressions only, `t` is permitted as a `bool`, but
           should be avoided

warning: non-canonical `bool` literal
  --> testdata/options/values/bool.proto:29:8
   |
29 |     x: f
   |        ^
  help: replace with `false`
   |
29 | -     x: f
29 | +     x: false
   |
   = note: within message expressions only, `f` is permitted as a `bool`, but
           should be avoided

error: cannot find `TRUE` in this scope
  --> testdata/options/values/bool.proto:32:8
   |
32 |     x: TRUE
   |        ^^^^ not found in this scope
   |
   = help: the full name of this scope is `buf.test`

error: cannot find `FALSE` in this scope
  --> testdata/options/values/bool.proto:33:8
   |
33 |     x: FALSE
   |        ^^^^^ not found in this scope
   |
   = help: the full name of this scope is `buf.test`

error: cannot find `T` in this scope
  --> testdata/options/values/bool.proto:34:8
   |
34 |     x: T
   |        ^ not found in this scope
   |
   = help: the full name of this scope is `buf.test`

error: cannot find `F` in this scope
  --> testdata/options/values/bool.proto:35:8
   |
35 |     x: F
   |        ^ not found in this scope
   |
   = help: the full name of this scope is `buf.test`

error: mismatched types
  --> testdata/options/values/bool.proto:37:9
   |
37 |     x: -true
   |        -^^^^ expected number, found `bool`
   |        |
   |        expected due to this
   |
   = note: expected: number
              found: scalar type `bool`

error: mismatched types
  --> testdata/options/values/bool.proto:38:9
   |
38 |     x: -True
   |        -^^^^ expected number, found `bool`
   |        |
   |        expected due to this
   |
   = note: expected: number
              found: scalar type `bool`

warning: non-canonical `bool` literal
  --> testdata/options/values/bool.proto:38:9
   |
38 |     x: -True
   |         ^^^^
  help: replace with `true`
   |
38 | -     x: -True
38 | +     x: -true
   |
   = note: within message expressions only, `True` is permitted as a `bool`, but
           should be avoided

error: mismatched types
  --> testdata/options/values/bool.proto:41:9
   |
41 |     x: [1, 1.0, inf, nan, {}, [], 0 to 1]
   |         ^ expected `bool`, found integer literal
...
53 |     repeated bool x = 1;
   |     ------------- expected due to this
   |
   = note: expected: scalar type `bool`
              found: integer literal

error: mismatched types
  --> testdata/options/values/bool.proto:41:12
   |
41 |     x: [1, 1.0, inf, nan, {}, [], 0 to 1]
   |            ^^^ expected `bool`, found floating-point literal
...
53 |     repeated bool x = 1;
   |     ------------- expected due to this
   |
   = note: expected: scalar type `bool`
              found: floating-point literal

error: mismatched types
  --> testdata/options/values/bool.proto:41:17
   |
41 |     x: [1, 1.0, inf, nan, {}, [], 0 to 1]
   |                 ^^^ expected `bool`, found floating-point literal
...
53 |     repeated bool x = 1;
   |     ------------- expected due to this
   |
   = note: expected: scalar type `bool`
              found: floating-point literal

error: mismatched types
  --> testdata/options/values/bool.proto:41:22
   |
41 |     x: [1, 1.0, inf, nan, {}, [], 0 to 1]
   |                      ^^^ expected `bool`, found floating-point literal
...
53 |     repeated bool x = 1;
   |     ------------- expected due to this
   |
   = note: expected: scalar type `bool`
              found: floating-point literal

error: mismatched types
  --> testdata/options/values/bool.proto:41:27
   |
41 |     x: [1, 1.0, inf, nan, {}, [], 0 to 1]
   |                           ^^ expected `bool`, found message expression
...
53 |     repeated bool x = 1;
   |     ------------- expected due to this
   |
   = note: expected: scalar type `bool`
              found: message expression

error: non-canonical `bool` literal outside of message expression
  --> testdata/options/values/bool.proto:47:14
   |
47 | option (y) = True;
   |              ^^^^
  help: replace with `true`
   |
47 | - option (y) = True;
47 | + option (y) = true;
   |
   = note: within message expressions only, `True` is permitted as a `bool`, but
           should be avoided

error: non-canonical `bool` literal outside of message expression
  --> testdata/options/values/bool.proto:48:14
   |
48 | option (y) = False;
   |              ^^^^^
  help: replace with `false`
   |
48 | - option (y) = False;
48 | + option (y) = false;
   |
   = note: within message expressions only, `False` is permitted as a `bool`,
           but should be avoided

error: non-canonical `bool` literal outside of message expression
  --> testdata/options/values/bool.proto:49:14
   |
49 | option (y) = t;
   |              ^
  help: replace with `true`
   |
49 | - option (y) = t;
49 | + option (y) = true;
   |
   = note: within message expressions only, `t` is permitted as a `bool`, but
           should be avoided

error: non-canonical `bool` literal outside of message expression
  --> testdata/options/values/bool.proto:50:14
   |
50 | option (y) = f;
   |              ^
  help: replace with `false`
   |
50 | - option (y) = f;
50 | + option (y) = false;
   |
   = note: within message expressions only, `f` is permitted as a `bool`, but
           should be avoided

encountered 17 errors and 5 warnings
