about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorScott McMurray <scottmcm@users.noreply.github.com>2018-08-25 00:54:41 -0700
committerScott McMurray <scottmcm@users.noreply.github.com>2018-09-19 22:31:30 -0700
commit6149a83c0bae2976328ec9e433eb0803048c3a1d (patch)
treece71ed1826d9bc558491e24541dde7e2a587d931 /src/libsyntax
parent62c6e4e1457c78de812f0ee5ee3370831b5d12f5 (diff)
downloadrust-6149a83c0bae2976328ec9e433eb0803048c3a1d.tar.gz
rust-6149a83c0bae2976328ec9e433eb0803048c3a1d.zip
Parse, feature-gate, and validate the #[marker] attribute
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/feature_gate.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index 7266d807d3b..8f7f9cac447 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -355,6 +355,9 @@ declare_features! (
     // Allows overlapping impls of marker traits
     (active, overlapping_marker_traits, "1.18.0", Some(29864), None),
 
+    // Trait attribute to allow overlapping impls
+    (active, marker_trait_attr, "1.30.0", Some(29864), None),
+
     // rustc internal
     (active, abi_thiscall, "1.19.0", None, None),
 
@@ -805,6 +808,12 @@ pub const BUILTIN_ATTRIBUTES: &'static [(&'static str, AttributeType, AttributeG
                                           "non exhaustive is an experimental feature",
                                           cfg_fn!(non_exhaustive))),
 
+    // RFC #1268
+    ("marker", Normal, Gated(Stability::Unstable,
+                             "marker_trait_attr",
+                             "marker traits is an experimental feature",
+                             cfg_fn!(marker_trait_attr))),
+
     ("plugin", CrateLevel, Gated(Stability::Unstable,
                                  "plugin",
                                  "compiler plugins are experimental \