From 8779fffeb41f8c00323814dbbbb17ab95b91eff3 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 10 Jan 2020 13:12:50 +0100 Subject: Simplify implementation Signed-off-by: Matthias Beyer --- src/read.rs | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/read.rs b/src/read.rs index 0d18447..4779ce5 100644 --- a/src/read.rs +++ b/src/read.rs @@ -6,13 +6,7 @@ use crate::object::*; use crate::tokenizer::Token; use crate::query::Query; -pub trait Read<'doc> : Object { - fn read(&'doc self, query: &Query) -> Result>; - fn read_mut(&'doc mut self, query: &Query) -> Result>; -} - -#[cfg(feature = "backend_toml")] -impl<'doc> Read<'doc> for toml::Value { +pub trait Read<'doc> : Object + Sized { fn read(&'doc self, query: &Query) -> Result> { query_with_token(self, query.token()) } @@ -22,16 +16,11 @@ impl<'doc> Read<'doc> for toml::Value { } } -#[cfg(feature = "backend_serde_json")] -impl<'doc> Read<'doc> for serde_json::Value { - fn read(&'doc self, query: &Query) -> Result> { - query_with_token(self, query.token()) - } +#[cfg(feature = "backend_toml")] +impl<'doc> Read<'doc> for toml::Value { } - fn read_mut(&'doc mut self, query: &Query) -> Result> { - query_with_token_mut(self, query.token()) - } -} +#[cfg(feature = "backend_serde_json")] +impl<'doc> Read<'doc> for serde_json::Value { } fn query_with_token<'doc, O>(obj: &'doc O, token: &Token) -> Result> where O: Object -- cgit v1.2.3