1fn main() {
2 typed_log::push_log_impl(|garden: &library::Garden| {
3 println!("{:?}", garden);
4 });
5 typed_log::push_log_impl(|garden: &library::Garden| {
6 for _ in 0..garden.flower_amount {
7 print!("🌸");
8 }
9 println!();
10 println!("Thanks for visiting my garden.")
11 });
12 typed_log::push_log_any(|garden: &dyn typed_log::Loggable| {
13 println!("the address of this it sgarden is: {:p}", &garden);
14 });
15
16 library::make_a_garden();
17}
18
19mod library {
20 use std::any::TypeId;
21
22 use typed_log::{Loggable, log_any};
23
24 #[derive(Debug)]
25 pub struct Garden {
26 pub flower_amount: usize,
27 }
28
29 impl Loggable for Garden {
30 fn type_id(&self) -> std::any::TypeId {
31 TypeId::of::<Self>()
32 }
33 }
34
35 pub fn make_a_garden() {
36 let garden = Garden { flower_amount: 10 };
37 log_any(&garden);
38 }
39}