[31m[1mERROR[0m[39m: 
  [31m×[0m A type must be clonable if you set its cloning strategy to
  [31m│[0m `CloneIfNecessary`.
  [31m│[0m The cloning strategy for `app::singleton` is `CloneIfNecessary`, but
  [31m│[0m `app::A`, its output type, doesn't implement the `Clone` trait.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:23:1]
  [31m│[0m  [2m23[0m │     bp.prebuilt(t!(crate::C)).clone_if_necessary();
  [31m│[0m  [2m24[0m │     bp.singleton(f!(crate::singleton)).clone_if_necessary();
  [31m│[0m     · [35;1m                 ──────────┬─────────[0m
  [31m│[0m     ·                            [35;1m╰── The constructor was registered here[0m
  [31m│[0m  [2m25[0m │     bp.request_scoped(f!(crate::request_scoped))
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mEither set the cloning strategy to `NeverClone` or implement `Clone`
  [31m│[0m         for `app::A`

[31m[1mERROR[0m[39m: 
  [31m×[0m A type must be clonable if you set its cloning strategy to
  [31m│[0m `CloneIfNecessary`.
  [31m│[0m The cloning strategy for `app::request_scoped` is `CloneIfNecessary`, but
  [31m│[0m `app::B`, its output type, doesn't implement the `Clone` trait.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:24:1]
  [31m│[0m  [2m24[0m │     bp.singleton(f!(crate::singleton)).clone_if_necessary();
  [31m│[0m  [2m25[0m │     bp.request_scoped(f!(crate::request_scoped))
  [31m│[0m     · [35;1m                      ────────────┬────────────[0m
  [31m│[0m     ·                                   [35;1m╰── The constructor was registered here[0m
  [31m│[0m  [2m26[0m │         .clone_if_necessary();
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mEither set the cloning strategy to `NeverClone` or implement `Clone`
  [31m│[0m         for `app::B`

[31m[1mERROR[0m[39m: 
  [31m×[0m A type must be clonable if you set its cloning strategy to
  [31m│[0m `CloneIfNecessary`.
  [31m│[0m The cloning strategy for `app::C`, a prebuilt type, is `CloneIfNecessary`,
  [31m│[0m but it doesn't implement the `Clone` trait.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:22:1]
  [31m│[0m  [2m22[0m │     let mut bp = Blueprint::new();
  [31m│[0m  [2m23[0m │     bp.prebuilt(t!(crate::C)).clone_if_necessary();
  [31m│[0m     · [35;1m                ──────┬─────[0m
  [31m│[0m     ·                       [35;1m╰── The prebuilt type was registered here[0m
  [31m│[0m  [2m24[0m │     bp.singleton(f!(crate::singleton)).clone_if_necessary();
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mEither set the cloning strategy to `NeverClone` or implement `Clone`
  [31m│[0m         for `app::C`