aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Li <li.davidm96@gmail.com>2016-01-14 11:44:56 -0700
committerDavid Li <li.davidm96@gmail.com>2016-01-14 11:44:56 -0700
commite324acc29f839eccf976906720c1e7796a9adb49 (patch)
tree2d198dfa3ce30d1bfda331f1ae6921d18357b35f
parent97754ba7f51f8cb0c7827b9ee2807a8ffd97fc6e (diff)
Implement Hash, Display for IsaTypes
-rw-r--r--src/isa/mod.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/isa/mod.rs b/src/isa/mod.rs
index d5a5c14..8d86610 100644
--- a/src/isa/mod.rs
+++ b/src/isa/mod.rs
@@ -59,7 +59,7 @@ macro_rules! isa_type_assign_op {
macro_rules! isa_type {
($name: ident, $utype: ty) => {
- #[derive(Clone,Copy,Debug,Eq,Ord,PartialEq,PartialOrd)]
+ #[derive(Clone,Copy,Debug,Eq,Hash,Ord,PartialEq,PartialOrd)]
pub struct $name(pub $utype);
impl $name {
@@ -85,6 +85,12 @@ macro_rules! isa_type {
isa_type_op!($name, $utype, BitOr, bitor);
isa_type_op!($name, $utype, BitXor, bitxor);
+ impl fmt::Display for $name {
+ fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
+ write!(f, "{}", self.0)
+ }
+ }
+
impl fmt::LowerHex for $name {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
write!(f, "{:x}", self.0)