summaryrefslogtreecommitdiffstats
path: root/src/buildable.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-04-23 16:42:21 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-04-24 11:35:34 +0200
commitc3b6b537e0afcab444e5558bd3e96e9da3940fdc (patch)
tree738346984a3c587f9d7f5b95593c0ddde64b011d /src/buildable.rs
Initial import
This is the initial import for this crate, only containing some examples how this create COULD work. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/buildable.rs')
-rw-r--r--src/buildable.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/buildable.rs b/src/buildable.rs
new file mode 100644
index 0000000..718ca73
--- /dev/null
+++ b/src/buildable.rs
@@ -0,0 +1,20 @@
+use crate::ValueBuilder;
+use crate::Backend;
+
+// A value that can be built interactively, using a Backend
+pub trait BuildableValue {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = Self, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ ;
+}
+
+impl BuildableValue for bool {
+ fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = Self, Error = E>>
+ where E: Sized,
+ B: Backend<Error = E>
+ {
+ backend.bool_builder()
+ }
+}
+