error: expected one of `:`, `@`, or `|`, found `)`
  --> $DIR/anon-params-denied-2018.rs:6:15
   |
LL |     fn foo(i32);
   |               ^ expected one of `:`, `@`, or `|` here
   |
   = note: anonymous parameters are removed in the 2018 edition (see RFC 1685)
help: if this was a parameter name, give it a type
   |
LL |     fn foo(i32: TypeName);
   |            ^^^^^^^^^^^^^
help: if this is a type, explicitly ignore the parameter name
   |
LL |     fn foo(_: i32);
   |            ^^^^^^

error: expected one of `:`, `@`, or `|`, found `,`
  --> $DIR/anon-params-denied-2018.rs:8:36
   |
LL |     fn bar_with_default_impl(String, String) {}
   |                                    ^ expected one of `:`, `@`, or `|` here
   |
   = note: anonymous parameters are removed in the 2018 edition (see RFC 1685)
help: if this was a parameter name, give it a type
   |
LL |     fn bar_with_default_impl(String: TypeName, String) {}
   |                              ^^^^^^^^^^^^^^^^
help: if this is a type, explicitly ignore the parameter name
   |
LL |     fn bar_with_default_impl(_: String, String) {}
   |                              ^^^^^^^^^

error: expected one of `:`, `@`, or `|`, found `)`
  --> $DIR/anon-params-denied-2018.rs:8:44
   |
LL |     fn bar_with_default_impl(String, String) {}
   |                                            ^ expected one of `:`, `@`, or `|` here
   |
   = note: anonymous parameters are removed in the 2018 edition (see RFC 1685)
help: if this was a parameter name, give it a type
   |
LL |     fn bar_with_default_impl(String, String: TypeName) {}
   |                                      ^^^^^^^^^^^^^^^^
help: if this is a type, explicitly ignore the parameter name
   |
LL |     fn bar_with_default_impl(String, _: String) {}
   |                                      ^^^^^^^^^

error: expected one of `:`, `@`, or `|`, found `,`
  --> $DIR/anon-params-denied-2018.rs:13:22
   |
LL |     fn baz(a:usize, b, c: usize) -> usize {
   |                      ^ expected one of `:`, `@`, or `|` here
   |
   = note: anonymous parameters are removed in the 2018 edition (see RFC 1685)
help: if this was a parameter name, give it a type
   |
LL |     fn baz(a:usize, b: TypeName, c: usize) -> usize {
   |                     ^^^^^^^^^^^
help: if this is a type, explicitly ignore the parameter name
   |
LL |     fn baz(a:usize, _: b, c: usize) -> usize {
   |                     ^^^^

error: aborting due to 4 previous errors

