diff --git a/rmp/src/value.rs b/rmp/src/value.rs index b6ccca05..e490989f 100644 --- a/rmp/src/value.rs +++ b/rmp/src/value.rs @@ -77,7 +77,9 @@ impl ::std::fmt::Display for Value { write!(f, "}}") } - _ => unimplemented!() + Value::Ext(ty, ref data) => { + write!(f, "[{}, {:?}]", ty, data) + } } } } diff --git a/rmp/tests/value.rs b/rmp/tests/value.rs index 090b6ddb..c5de96c2 100644 --- a/rmp/tests/value.rs +++ b/rmp/tests/value.rs @@ -51,3 +51,10 @@ fn display_map() { assert_eq!("{nil: nil, true: false}", format!("{}", Value::Map(vec![(Value::Nil, Value::Nil), (Value::Boolean(true), Value::Boolean(false))]))); } + +#[test] +fn display_ext() { + assert_eq!("[1, []]", format!("{}", Value::Ext(1, vec![]))); + assert_eq!("[1, [100]]", format!("{}", Value::Ext(1, vec![100]))); + assert_eq!("[1, [100, 42]]", format!("{}", Value::Ext(1, vec![100, 42]))); +}