Add rustc_do_not_implement_via_object

This commit is contained in:
Michael Goulet 2023-06-02 05:54:52 +00:00
parent 5683791ebb
commit 657d3f43a9
11 changed files with 47 additions and 3 deletions

View file

@ -708,6 +708,11 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
rustc_deny_explicit_impl, AttributeType::Normal, template!(Word), ErrorFollowing, @only_local: false,
"#[rustc_deny_explicit_impl] enforces that a trait can have no user-provided impls"
),
rustc_attr!(
rustc_do_not_implement_via_object, AttributeType::Normal, template!(Word), ErrorFollowing, @only_local: true,
"#[rustc_do_not_implement_via_object] marks a trait so that `dyn Trait` does not \
implement `Trait` (without requiring `Sized` as a supertrait)"
),
rustc_attr!(
rustc_has_incoherent_inherent_impls, AttributeType::Normal, template!(Word), ErrorFollowing,
"#[rustc_has_incoherent_inherent_impls] allows the addition of incoherent inherent impls for \