diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-09-16 21:12:18 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-10-02 07:55:41 -0700 |
| commit | 0feaccf5260bc59f7ee4294a2ecc875da669ad30 (patch) | |
| tree | 633a987e41b539c7d52acde7479f37a87f72022d /src/libsyntax/ext/deriving/mod.rs | |
| parent | d9d1dfc1955fabb7ee3a55e9c84cdcd5aad67417 (diff) | |
syntax: Add #[deriving(FromPrimitive)] syntax extension
Right now this only works for c-style enums.
Diffstat (limited to 'src/libsyntax/ext/deriving/mod.rs')
| -rw-r--r-- | src/libsyntax/ext/deriving/mod.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libsyntax/ext/deriving/mod.rs b/src/libsyntax/ext/deriving/mod.rs index a428c6704f9..3e65f7bdefb 100644 --- a/src/libsyntax/ext/deriving/mod.rs +++ b/src/libsyntax/ext/deriving/mod.rs @@ -32,6 +32,7 @@ pub mod rand; pub mod to_str; pub mod zero; pub mod default; +pub mod primitive; #[path="cmp/eq.rs"] pub mod eq; @@ -97,9 +98,12 @@ pub fn expand_meta_deriving(cx: @ExtCtxt, "Rand" => expand!(rand::expand_deriving_rand), "ToStr" => expand!(to_str::expand_deriving_to_str), + "Zero" => expand!(zero::expand_deriving_zero), "Default" => expand!(default::expand_deriving_default), + "FromPrimitive" => expand!(primitive::expand_deriving_from_primitive), + ref tname => { cx.span_err(titem.span, format!("unknown \ `deriving` trait: `{}`", *tname)); |
