This commit restricts what symbols can be used in a format string for
any option of the `diagnostic::on_unimplemented` attribute. We
previously allowed all the ad-hoc options supported by the internal
`#[rustc_on_unimplemented]` attribute. For the stable attribute we only
want to support generic parameter names and `{Self}` as parameters. For
any other parameter an warning is emitted and the parameter is replaced
by the literal parameter string, so for example `{integer}` turns into
`{integer}`. This follows the general design of attributes in the
`#[diagnostic]` attribute namespace, that any syntax "error" is treated
as warning and subsequently ignored.
|
||
|---|---|---|
| .. | ||
| auxiliary | ||
| on_unimplemented | ||
| can_use_the_diagnostic_name_in_other_places.rs | ||
| existing_proc_macros.rs | ||
| feature-gate-diagnostic_namespace.rs | ||
| feature-gate-diagnostic_namespace.stderr | ||
| non_existing_attributes_accepted.rs | ||
| non_existing_attributes_accepted.stderr | ||
| requires_path.rs | ||
| requires_path.stderr | ||