aboutsummaryrefslogtreecommitdiff
path: root/src/value.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/value.rs')
-rw-r--r--src/value.rs13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/value.rs b/src/value.rs
index 00ce703..6f940b4 100644
--- a/src/value.rs
+++ b/src/value.rs
@@ -3,6 +3,7 @@
use std::collections::{BTreeMap, HashMap};
use std::fmt;
use std::hash::Hash;
+use std::mem::discriminant;
use std::ops;
use std::str::FromStr;
use std::vec;
@@ -212,17 +213,7 @@ impl Value {
/// Tests whether this and another value have the same type.
pub fn same_type(&self, other: &Value) -> bool {
- match (self, other) {
- (&Value::String(..), &Value::String(..))
- | (&Value::Integer(..), &Value::Integer(..))
- | (&Value::Float(..), &Value::Float(..))
- | (&Value::Boolean(..), &Value::Boolean(..))
- | (&Value::Datetime(..), &Value::Datetime(..))
- | (&Value::Array(..), &Value::Array(..))
- | (&Value::Table(..), &Value::Table(..)) => true,
-
- _ => false,
- }
+ discriminant(self) == discriminant(other)
}
/// Returns a human-readable representation of the type of this value.