about summary refs log tree commit diff
path: root/compiler/rustc_feature/src
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-06-02 05:54:52 +0000
committerMichael Goulet <michael@errs.io>2023-06-20 04:38:46 +0000
commit657d3f43a9802a3e119c1acf6467ddc0eb41e0be (patch)
treeb2d69b2fd363ea9288c29d40f616a83b4d55a6c9 /compiler/rustc_feature/src
parent5683791ebb7bbc440366635c322ad82badc554ca (diff)
downloadrust-657d3f43a9802a3e119c1acf6467ddc0eb41e0be.tar.gz
rust-657d3f43a9802a3e119c1acf6467ddc0eb41e0be.zip
Add rustc_do_not_implement_via_object
Diffstat (limited to 'compiler/rustc_feature/src')
-rw-r--r--compiler/rustc_feature/src/builtin_attrs.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_feature/src/builtin_attrs.rs b/compiler/rustc_feature/src/builtin_attrs.rs
index 9be28c338f6..566f856258a 100644
--- a/compiler/rustc_feature/src/builtin_attrs.rs
+++ b/compiler/rustc_feature/src/builtin_attrs.rs
@@ -709,6 +709,11 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
         "#[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 \
          the given type by annotating all impl items with #[rustc_allow_incoherent_impl]."