| //@ check-fail | |
| //@ run-rustfix | |
| //@ revisions: e2015 e2018 | |
| //@[e2015] edition: 2015 | |
| //@[e2018] edition: 2018 | |
| #![crate_type = "lib"] | |
| #![deny(varargs_without_pattern)] | |
| #[cfg(false)] | |
| mod module { | |
| unsafe extern "C" fn f(...) { | |
| //~^ ERROR missing pattern for `...` argument | |
| //~| WARN this was previously accepted by the compiler | |
| unsafe extern "C" fn f(...) {} | |
| //~^ ERROR missing pattern for `...` argument | |
| //~| WARN this was previously accepted by the compiler | |
| } | |
| impl A { | |
| unsafe extern "C" fn f(...) {} | |
| //~^ ERROR missing pattern for `...` argument | |
| //~| WARN this was previously accepted by the compiler | |
| } | |
| trait A { | |
| unsafe extern "C" fn f(...) {} | |
| //[e2018]~^ ERROR missing pattern for `...` argument | |
| //[e2018]~| WARN this was previously accepted by the compiler | |
| } | |
| unsafe extern "C" { | |
| fn f(...); // no error | |
| } | |
| type A = unsafe extern "C" fn(...); // no error | |
| } |