1a1cd6e6db
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. |
||
---|---|---|
.. | ||
do_not_accept_options_of_the_internal_rustc_attribute.rs | ||
do_not_accept_options_of_the_internal_rustc_attribute.stderr | ||
do_not_fail_parsing_on_invalid_options_1.rs | ||
do_not_fail_parsing_on_invalid_options_1.stderr | ||
feature-gate-diagnostic_on_unimplemented.rs | ||
feature-gate-diagnostic_on_unimplemented.stderr | ||
ignore_unsupported_options_and_continue_to_use_fallback.rs | ||
ignore_unsupported_options_and_continue_to_use_fallback.stderr | ||
multiple_notes.rs | ||
multiple_notes.stderr | ||
on_unimplemented_simple.rs | ||
on_unimplemented_simple.stderr | ||
report_warning_on_duplicated_options.rs | ||
report_warning_on_duplicated_options.stderr |