//@ 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 }