From 416d80b2f3b9a6c083f7e56cbba4d303140f2d5c Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 24 Apr 2021 17:52:04 +0200 Subject: Change impl so that backend is passed from main() Signed-off-by: Matthias Beyer --- examples/config.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/config.rs b/examples/config.rs index a91aaee..453b2e2 100644 --- a/examples/config.rs +++ b/examples/config.rs @@ -8,22 +8,22 @@ pub struct Configuration { } impl BuildableCollection for Configuration { - fn builder(_backend: B) -> Box> - where B: Backend + fn builder(backend: B) -> Box> + where B: 'static + Backend { - Box::new(ConfigStructBuilder) + Box::new(ConfigStructBuilder(backend)) } } -pub struct ConfigStructBuilder; -impl CollectionBuilder for ConfigStructBuilder { +pub struct ConfigStructBuilder(B); +impl CollectionBuilder for ConfigStructBuilder { type Output = Configuration; fn build_collection(&self, value_desc: &str) -> Result { println!("Building {}", value_desc); - let verbose = bool::builder(DialoguerBackend).build_value("Be verbose?")?; - let values = Vec::::builder(DialoguerBackend).build_collection("List of values")?; + let verbose = bool::builder(self.0).build_value("Be verbose?")?; + let values = Vec::::builder(self.0).build_collection("List of values")?; Ok(Configuration { verbose, -- cgit v1.2.3