error: expected one of `:`, `@`, or `|`, found `bar`
  --> $DIR/inverted-parameters.rs:4:24
   |
LL |     fn foo(&self, &str bar) {}
   |                   -----^^^
   |                   |    |
   |                   |    expected one of `:`, `@`, or `|`
   |                   help: declare the type after the parameter binding: `<identifier>: <type>`

error: expected one of `:`, `@`, or `|`, found `quux`
  --> $DIR/inverted-parameters.rs:10:10
   |
LL | fn baz(S quux, xyzzy: i32) {}
   |        --^^^^
   |        | |
   |        | expected one of `:`, `@`, or `|`
   |        help: declare the type after the parameter binding: `<identifier>: <type>`

error: expected one of `:`, `@`, or `|`, found `a`
  --> $DIR/inverted-parameters.rs:15:12
   |
LL | fn one(i32 a b) {}
   |            ^ expected one of `:`, `@`, or `|`

error: expected one of `:` or `|`, found `(`
  --> $DIR/inverted-parameters.rs:18:23
   |
LL | fn pattern((i32, i32) (a, b)) {}
   |                       ^ expected one of `:` or `|`

error: expected one of `:`, `@`, or `|`, found `)`
  --> $DIR/inverted-parameters.rs:21:12
   |
LL | fn fizz(i32) {}
   |            ^ expected one of `:`, `@`, or `|`
   |
   = note: anonymous parameters are removed in the 2018 edition (see RFC 1685)
help: if this is a `self` type, give it a parameter name
   |
LL | fn fizz(self: i32) {}
   |         ^^^^^^^^^
help: if this was a parameter name, give it a type
   |
LL | fn fizz(i32: TypeName) {}
   |         ^^^^^^^^^^^^^
help: if this is a type, explicitly ignore the parameter name
   |
LL | fn fizz(_: i32) {}
   |         ^^^^^^

error: expected one of `:`, `@`, or `|`, found `S`
  --> $DIR/inverted-parameters.rs:27:23
   |
LL | fn missing_colon(quux S) {}
   |                  -----^
   |                  |    |
   |                  |    expected one of `:`, `@`, or `|`
   |                  help: declare the type after the parameter binding: `<identifier>: <type>`

error: aborting due to 6 previous errors

