| //@ edition:2021 |
| //@ aux-build:bad_on_unimplemented.rs |
| |
| // Do not ICE when encountering a malformed `#[diagnostic::on_unimplemented]` annotation in a |
| // dependency when incorrectly used (#124651). |
| |
| extern crate bad_on_unimplemented; |
| |
| use bad_on_unimplemented::*; |
| |
| fn missing_attr<T: MissingAttr>(_: T) {} |
| fn duplicate_attr<T: DuplicateAttr>(_: T) {} |
| fn not_meta_list<T: NotMetaList>(_: T) {} |
| fn empty<T: Empty>(_: T) {} |
| fn wrong_delim<T: WrongDelim>(_: T) {} |
| fn bad_formatter<T: BadFormatter<()>>(_: T) {} |
| fn no_implicit_args<T: NoImplicitArgs>(_: T) {} |
| fn missing_arg<T: MissingArg>(_: T) {} |
| fn bad_arg<T: BadArg>(_: T) {} |
| |
| fn main() { |
| missing_attr(()); //~ ERROR E0277 |
| duplicate_attr(()); //~ ERROR E0277 |
| not_meta_list(()); //~ ERROR E0277 |
| empty(()); //~ ERROR E0277 |
| wrong_delim(()); //~ ERROR E0277 |
| bad_formatter(()); //~ ERROR E0277 |
| no_implicit_args(()); //~ ERROR E0277 |
| missing_arg(()); //~ ERROR E0277 |
| bad_arg(()); //~ ERROR E0277 |
| } |