aboutsummaryrefslogtreecommitdiff
path: root/examples/generics/printer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/generics/printer.rs')
-rw-r--r--examples/generics/printer.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/generics/printer.rs b/examples/generics/printer.rs
new file mode 100644
index 0000000..4307c4f
--- /dev/null
+++ b/examples/generics/printer.rs
@@ -0,0 +1,24 @@
+use std::fmt::Display;
+
+use syrette::injectable;
+
+use crate::interfaces::printer::IPrinter;
+
+pub struct Printer {}
+
+#[injectable]
+impl Printer
+{
+ pub fn new() -> Self
+ {
+ Self {}
+ }
+}
+
+impl<Printable: Display> IPrinter<Printable> for Printer
+{
+ fn print(&self, out: Printable)
+ {
+ println!("{}", out);
+ }
+}