diff options
Diffstat (limited to 'src/libstd/json.rs')
| -rw-r--r-- | src/libstd/json.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/libstd/json.rs b/src/libstd/json.rs index e52d08c40fe..f2f37604fb5 100644 --- a/src/libstd/json.rs +++ b/src/libstd/json.rs @@ -757,12 +757,16 @@ pub fn Decoder(json: Json) -> Decoder { priv impl Decoder/&self { fn peek(&self) -> &'self Json { - if self.stack.len() == 0 { self.stack.push(&self.json); } - self.stack[self.stack.len() - 1] + if vec::uniq_len(&const self.stack) == 0 { + self.stack.push(&self.json); + } + self.stack[vec::uniq_len(&const self.stack) - 1] } fn pop(&self) -> &'self Json { - if self.stack.len() == 0 { self.stack.push(&self.json); } + if vec::uniq_len(&const self.stack) == 0 { + self.stack.push(&self.json); + } self.stack.pop() } } |
