about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorAndrew Paseltiner <apaseltiner@gmail.com>2013-03-20 11:50:28 -0400
committerAndrew Paseltiner <apaseltiner@gmail.com>2013-03-22 07:15:13 -0400
commit999e7ef9a97431d2c40ebe09cf27ea7a3e80de40 (patch)
tree84c32ee97cbc8fc5e1a709aced4a2f29e046c3fa /src/libsyntax
parente2abecd3ab406ce447a8b23c8a7563e9c455f870 (diff)
downloadrust-999e7ef9a97431d2c40ebe09cf27ea7a3e80de40.tar.gz
rust-999e7ef9a97431d2c40ebe09cf27ea7a3e80de40.zip
syntax: make old `#[deriving_foo]` attribute obsolete
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/ext/base.rs6
-rw-r--r--src/libsyntax/ext/deriving/clone.rs9
-rw-r--r--src/libsyntax/ext/deriving/eq.rs9
-rw-r--r--src/libsyntax/ext/deriving/iter_bytes.rs10
4 files changed, 31 insertions, 3 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs
index 34e4d8c73e7..50f89d37fae 100644
--- a/src/libsyntax/ext/base.rs
+++ b/src/libsyntax/ext/base.rs
@@ -153,13 +153,13 @@ pub fn syntax_expander_table() -> SyntaxEnv {
                                 ext::deriving::expand_meta_deriving)));
     syntax_expanders.insert(@~"deriving_eq",
                             @SE(ItemDecorator(
-                                ext::deriving::eq::expand_deriving_eq)));
+                                ext::deriving::eq::expand_deriving_obsolete)));
     syntax_expanders.insert(@~"deriving_iter_bytes",
                             @SE(ItemDecorator(
-                                ext::deriving::iter_bytes::expand_deriving_iter_bytes)));
+                                ext::deriving::iter_bytes::expand_deriving_obsolete)));
     syntax_expanders.insert(@~"deriving_clone",
                             @SE(ItemDecorator(
-                                ext::deriving::clone::expand_deriving_clone)));
+                                ext::deriving::clone::expand_deriving_obsolete)));
 
     // Quasi-quoting expanders
     syntax_expanders.insert(@~"quote_tokens",
diff --git a/src/libsyntax/ext/deriving/clone.rs b/src/libsyntax/ext/deriving/clone.rs
index 072cd0f6c39..4ab83cb5f1e 100644
--- a/src/libsyntax/ext/deriving/clone.rs
+++ b/src/libsyntax/ext/deriving/clone.rs
@@ -39,6 +39,15 @@ pub fn expand_deriving_clone(cx: @ext_ctxt,
                     expand_deriving_clone_enum_def)
 }
 
+pub fn expand_deriving_obsolete(cx: @ext_ctxt,
+                                span: span,
+                                _mitem: @meta_item,
+                                in_items: ~[@item])
+                             -> ~[@item] {
+    cx.span_err(span, ~"`#[deriving_clone]` is obsolete; use `#[deriving(Clone)]` instead");
+    in_items
+}
+
 fn create_derived_clone_impl(cx: @ext_ctxt,
                              span: span,
                              type_ident: ident,
diff --git a/src/libsyntax/ext/deriving/eq.rs b/src/libsyntax/ext/deriving/eq.rs
index 6213eeca134..5e94134f70a 100644
--- a/src/libsyntax/ext/deriving/eq.rs
+++ b/src/libsyntax/ext/deriving/eq.rs
@@ -53,6 +53,15 @@ pub fn expand_deriving_eq(cx: @ext_ctxt,
                     expand_deriving_eq_enum_def)
 }
 
+pub fn expand_deriving_obsolete(cx: @ext_ctxt,
+                                span: span,
+                                _mitem: @meta_item,
+                                in_items: ~[@item])
+                             -> ~[@item] {
+    cx.span_err(span, ~"`#[deriving_eq]` is obsolete; use `#[deriving(Eq)]` instead");
+    in_items
+}
+
 /// Creates a method from the given expression, the signature of which
 /// conforms to the `eq` or `ne` method.
 fn create_eq_method(cx: @ext_ctxt,
diff --git a/src/libsyntax/ext/deriving/iter_bytes.rs b/src/libsyntax/ext/deriving/iter_bytes.rs
index 613e9c295eb..75d7b396c7e 100644
--- a/src/libsyntax/ext/deriving/iter_bytes.rs
+++ b/src/libsyntax/ext/deriving/iter_bytes.rs
@@ -39,6 +39,16 @@ pub fn expand_deriving_iter_bytes(cx: @ext_ctxt,
                     expand_deriving_iter_bytes_enum_def)
 }
 
+pub fn expand_deriving_obsolete(cx: @ext_ctxt,
+                                span: span,
+                                _mitem: @meta_item,
+                                in_items: ~[@item])
+                             -> ~[@item] {
+    cx.span_err(span, ~"`#[deriving_iter_bytes]` is obsolete; use `#[deriving(IterBytes)]` \
+                        instead");
+    in_items
+}
+
 fn create_derived_iter_bytes_impl(cx: @ext_ctxt,
                                   span: span,
                                   type_ident: ident,