]> git.lizzy.rs Git - rust.git/commitdiff
std: add some better failure msgs to json
authorErick Tryzelaar <erick.tryzelaar@gmail.com>
Wed, 27 Mar 2013 06:15:14 +0000 (23:15 -0700)
committerErick Tryzelaar <erick.tryzelaar@gmail.com>
Wed, 27 Mar 2013 14:04:17 +0000 (07:04 -0700)
src/libstd/json.rs

index 968c6d9e58bb5f0f1f011932b09104c0aec22039..c48b210dca219c3023eb4a6eebdcd049037f1394 100644 (file)
@@ -827,7 +827,7 @@ fn read_owned_str(&self) -> ~str {
         debug!("read_owned_str");
         match *self.pop() {
             String(ref s) => copy *s,
-            _ => fail!(~"not a string")
+            ref json => fail!(fmt!("not a string: %?", *json))
         }
     }
 
@@ -835,7 +835,7 @@ fn read_managed_str(&self) -> @str {
         debug!("read_managed_str");
         match *self.pop() {
             String(ref s) => s.to_managed(),
-            _ => fail!(~"not a string")
+            ref json => fail!(fmt!("not a string: %?", *json))
         }
     }
 
@@ -872,7 +872,7 @@ fn read_enum_variant<T>(&self, names: &[&str], f: &fn(uint) -> T) -> T {
         let name = match *self.peek() {
             String(ref s) => s,
             List([String(ref s), .. _]) => s,
-            json => fail!(fmt!("invalid variant: %?", json)),
+            ref json => fail!(fmt!("invalid variant: %?", *json)),
         };
         let idx = match vec::position(names, |n| str::eq_slice(*n, *name)) {
             Some(idx) => idx,