diff --git a/src/lib.rs b/src/lib.rs index 626c659..289446f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,5 +14,27 @@ pub enum Value { BitVec(BitVecValue), } +impl TryFrom for ArrayValue { + type Error = (); + + fn try_from(value: Value) -> Result { + match value { + Value::Array(v) => Ok(v), + Value::BitVec(_) => Err(()), + } + } +} + +impl TryFrom for BitVecValue { + type Error = (); + + fn try_from(value: Value) -> Result { + match value { + Value::BitVec(v) => Ok(v), + Value::Array(_) => Err(()), + } + } +} + pub use array::*; pub use bv::*;