[31m[1mERROR[0m[39m: 
  [31m×[0m `app::NonSendSingleton` doesn't implement the `core::marker::Send` trait.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:51:1]
  [31m│[0m  [2m51[0m │     let mut bp = Blueprint::new();
  [31m│[0m  [2m52[0m │     bp.constructor(f!(crate::NonSendSingleton::new), Lifecycle::Singleton);
  [31m│[0m     · [35;1m                   ────────────────┬───────────────[0m
  [31m│[0m     ·                                    [35;1m╰── The constructor was registered here[0m
  [31m│[0m  [2m53[0m │     bp.constructor(f!(crate::NonCloneSingleton::new), Lifecycle::Singleton);
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mAll singletons must implement the `Send`, `Sync` and `Clone` traits.
  [31m│[0m          Pavex runs on a multi-threaded HTTP server and singletons must be
  [31m│[0m         shared across all worker threads.

[31m[1mERROR[0m[39m: 
  [31m×[0m `app::NonSendSingleton` doesn't implement the `core::marker::Sync` trait.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:51:1]
  [31m│[0m  [2m51[0m │     let mut bp = Blueprint::new();
  [31m│[0m  [2m52[0m │     bp.constructor(f!(crate::NonSendSingleton::new), Lifecycle::Singleton);
  [31m│[0m     · [35;1m                   ────────────────┬───────────────[0m
  [31m│[0m     ·                                    [35;1m╰── The constructor was registered here[0m
  [31m│[0m  [2m53[0m │     bp.constructor(f!(crate::NonCloneSingleton::new), Lifecycle::Singleton);
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mAll singletons must implement the `Send`, `Sync` and `Clone` traits.
  [31m│[0m          Pavex runs on a multi-threaded HTTP server and singletons must be
  [31m│[0m         shared across all worker threads.

[31m[1mERROR[0m[39m: 
  [31m×[0m `app::NonSyncSingleton` doesn't implement the `core::marker::Sync` trait.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:53:1]
  [31m│[0m  [2m53[0m │     bp.constructor(f!(crate::NonCloneSingleton::new), Lifecycle::Singleton);
  [31m│[0m  [2m54[0m │     bp.constructor(f!(crate::NonSyncSingleton::new), Lifecycle::Singleton);
  [31m│[0m     · [35;1m                   ────────────────┬───────────────[0m
  [31m│[0m     ·                                    [35;1m╰── The constructor was registered here[0m
  [31m│[0m  [2m55[0m │     // The handler is needed because bounds are only checked for singletons
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mAll singletons must implement the `Send`, `Sync` and `Clone` traits.
  [31m│[0m          Pavex runs on a multi-threaded HTTP server and singletons must be
  [31m│[0m         shared across all worker threads.

[31m[1mERROR[0m[39m: 
  [31m×[0m `app::NonCloneSingleton` doesn't implement the `core::clone::Clone` trait.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:52:1]
  [31m│[0m  [2m52[0m │     bp.constructor(f!(crate::NonSendSingleton::new), Lifecycle::Singleton);
  [31m│[0m  [2m53[0m │     bp.constructor(f!(crate::NonCloneSingleton::new), Lifecycle::Singleton);
  [31m│[0m     · [35;1m                   ────────────────┬────────────────[0m
  [31m│[0m     ·                                    [35;1m╰── The constructor was registered here[0m
  [31m│[0m  [2m54[0m │     bp.constructor(f!(crate::NonSyncSingleton::new), Lifecycle::Singleton);
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mAll singletons must implement the `Send`, `Sync` and `Clone` traits.
  [31m│[0m          Pavex runs on a multi-threaded HTTP server and singletons must be
  [31m│[0m         shared across all worker threads.