From 6fc92578fee125615b4357bdd3142a8f07b20b54 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Sat, 3 Jan 2015 10:40:26 -0500 Subject: [PATCH] serialize: fix fallout --- src/libserialize/json.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs index 83badb0c57c..71117c7fe12 100644 --- a/src/libserialize/json.rs +++ b/src/libserialize/json.rs @@ -1123,12 +1123,25 @@ impl Json { } } +// NOTE(stage0): remove impl after a snapshot +#[cfg(stage0)] impl<'a> ops::Index<&'a str, Json> for Json { fn index(&self, idx: & &str) -> &Json { self.find(*idx).unwrap() } } +#[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +impl<'a> ops::Index<&'a str> for Json { + type Output = Json; + + fn index(&self, idx: & &str) -> &Json { + self.find(*idx).unwrap() + } +} + +// NOTE(stage0): remove impl after a snapshot +#[cfg(stage0)] impl ops::Index for Json { fn index<'a>(&'a self, idx: &uint) -> &'a Json { match self { @@ -1138,6 +1151,18 @@ impl ops::Index for Json { } } +#[cfg(not(stage0))] // NOTE(stage0): remove cfg after a snapshot +impl ops::Index for Json { + type Output = Json; + + fn index<'a>(&'a self, idx: &uint) -> &'a Json { + match self { + &Json::Array(ref v) => v.index(idx), + _ => panic!("can only index Json with uint if it is an array") + } + } +} + /// The output of the streaming parser. #[deriving(PartialEq, Clone, Show)] pub enum JsonEvent {