]> git.lizzy.rs Git - rust.git/commitdiff
Future proof `libsyntax_ext` for `union`.
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>
Mon, 29 Aug 2016 11:14:25 +0000 (11:14 +0000)
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>
Tue, 30 Aug 2016 05:53:33 +0000 (05:53 +0000)
14 files changed:
src/libsyntax_ext/deriving/bounds.rs
src/libsyntax_ext/deriving/clone.rs
src/libsyntax_ext/deriving/cmp/eq.rs
src/libsyntax_ext/deriving/cmp/ord.rs
src/libsyntax_ext/deriving/cmp/partial_eq.rs
src/libsyntax_ext/deriving/cmp/partial_ord.rs
src/libsyntax_ext/deriving/debug.rs
src/libsyntax_ext/deriving/decodable.rs
src/libsyntax_ext/deriving/default.rs
src/libsyntax_ext/deriving/encodable.rs
src/libsyntax_ext/deriving/generic/mod.rs
src/libsyntax_ext/deriving/hash.rs
src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin.rs
src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin_attr.rs

index cfc98bf36871f5d78353ff9903ba8ee4c6ba5fdf..efb2fe5eb3b0feb5b627c1ac991f02979e03b116 100644 (file)
@@ -40,6 +40,7 @@ pub fn expand_deriving_copy(cx: &mut ExtCtxt,
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: true,
         methods: Vec::new(),
         associated_types: Vec::new(),
     };
index ce8ce2209d8c4513038fb21f84780c7aa870537d..f1a3a1f41b14ee37cb4b7ed025700f99112ca1e1 100644 (file)
@@ -80,6 +80,7 @@ pub fn expand_deriving_clone(cx: &mut ExtCtxt,
         additional_bounds: bounds,
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![MethodDef {
                           name: "clone",
                           generics: LifetimeBounds::empty(),
index 2515435abeb9e5dc71977cf68756029a38bc0bde..425a47a991bc4dc552eb5f56f0fa579bd44050f8 100644 (file)
@@ -50,6 +50,7 @@ fn cs_total_eq_assert(cx: &mut ExtCtxt, span: Span, substr: &Substructure) -> P<
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![MethodDef {
                           name: "assert_receiver_is_total_eq",
                           generics: LifetimeBounds::empty(),
index 31194b04fa6e46c402c9a139ebdd2c6e637510a8..6b2e36e63b65708d5152098d517405b075de9cea 100644 (file)
@@ -32,6 +32,7 @@ pub fn expand_deriving_ord(cx: &mut ExtCtxt,
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![MethodDef {
                           name: "cmp",
                           generics: LifetimeBounds::empty(),
index f70e0cf4ac45768048ff1070b605372a9cd20959..64b8829dad7b1e5eb9f248a450c821580ee40a36 100644 (file)
@@ -97,6 +97,7 @@ macro_rules! md {
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: methods,
         associated_types: Vec::new(),
     };
index 9e9b2f020622ff560e294c76b5bc1584394f1804..99d60c43c5457deec8b75c111a56a83acb0d5233 100644 (file)
@@ -88,6 +88,7 @@ macro_rules! md {
         additional_bounds: vec![],
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: methods,
         associated_types: Vec::new(),
     };
index a31c695e360490e7e6077f4ce995c3514f028d6a..b974699003b974b3dfec586fc4863b5a53b18518 100644 (file)
@@ -35,6 +35,7 @@ pub fn expand_deriving_debug(cx: &mut ExtCtxt,
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![MethodDef {
                           name: "fmt",
                           generics: LifetimeBounds::empty(),
index f395f7bd0c4c4e9b6ce1a2c75250204a591a1b0c..22b9eb8e754453ea44d56f3669c8fbf1371e8c71 100644 (file)
@@ -62,6 +62,7 @@ fn expand_deriving_decodable_imp(cx: &mut ExtCtxt,
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![MethodDef {
                           name: "decode",
                           generics: LifetimeBounds {
index 449c1ff066b3b9d9b4574c110c232cb5d3237757..b15fd2b49a65547c241ed463f0c5a55767754f71 100644 (file)
@@ -32,6 +32,7 @@ pub fn expand_deriving_default(cx: &mut ExtCtxt,
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![MethodDef {
                           name: "default",
                           generics: LifetimeBounds::empty(),
index 940fdf037711ffac788171a8c8a30423744bd04e..a4074184b6e81ce7275f1af8a5367b2787712f03 100644 (file)
@@ -138,6 +138,7 @@ fn expand_deriving_encodable_imp(cx: &mut ExtCtxt,
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec!(
             MethodDef {
                 name: "encode",
index a8b682d81599ac10fddf9218d4ec2e1599c8f82f..5c636d43a71421c7a7d188f5ddcf14e4c9b08757 100644 (file)
@@ -228,6 +228,9 @@ pub struct TraitDef<'a> {
     /// Is it an `unsafe` trait?
     pub is_unsafe: bool,
 
+    /// Can this trait be derived for unions?
+    pub supports_unions: bool,
+
     pub methods: Vec<MethodDef<'a>>,
 
     pub associated_types: Vec<(ast::Ident, Ty<'a>)>,
index 81c8e7112dbd590d131d29dc9165e6b6a05fb45d..0941ebca868e3207e340ff03d6e6cb9ac7a80aa9 100644 (file)
@@ -36,6 +36,7 @@ pub fn expand_deriving_hash(cx: &mut ExtCtxt,
         additional_bounds: Vec::new(),
         generics: LifetimeBounds::empty(),
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![MethodDef {
                           name: "hash",
                           generics: LifetimeBounds {
index 274e430bbea749a4493c7b9836ca87a28af2aac1..6b688b006bd4a675c8478cb5c64b3bcc0be103f2 100644 (file)
@@ -49,6 +49,7 @@ fn expand(cx: &mut ExtCtxt,
         generics: LifetimeBounds::empty(),
         associated_types: vec![],
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![
             MethodDef {
                 name: "total_sum",
index 91b4b74797a830a26ea3b08c4cc828514c254612..c6174745bfc0626574ab13d210fb39f0879190ed 100644 (file)
@@ -51,6 +51,7 @@ fn expand(cx: &mut ExtCtxt,
         generics: LifetimeBounds::empty(),
         associated_types: vec![],
         is_unsafe: false,
+        supports_unions: false,
         methods: vec![
             MethodDef {
                 name: "total_sum",