[INFO] cloning repository https://github.com/renfu-her/rust-shopping
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/renfu-her/rust-shopping" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frenfu-her%2Frust-shopping", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frenfu-her%2Frust-shopping'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 434bd84e0f9cec06c9b1fc78cf2c6e2c5f5396b1
[INFO] checking renfu-her/rust-shopping/434bd84e0f9cec06c9b1fc78cf2c6e2c5f5396b1 against master#c871d09d1cc32a649f4c5177bb819646260ed120 for pr-149291-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frenfu-her%2Frust-shopping" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/renfu-her/rust-shopping
[INFO] finished tweaking git repo https://github.com/renfu-her/rust-shopping
[INFO] tweaked toml for git repo https://github.com/renfu-her/rust-shopping written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/renfu-her/rust-shopping on toolchain c871d09d1cc32a649f4c5177bb819646260ed120
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c871d09d1cc32a649f4c5177bb819646260ed120" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/renfu-her/rust-shopping already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c871d09d1cc32a649f4c5177bb819646260ed120" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chunked_transfer v0.3.1
[INFO] [stderr]   Downloaded traitobject v0.1.1
[INFO] [stderr]   Downloaded rocket_dyn_templates v0.1.0
[INFO] [stderr]   Downloaded ascii v0.8.7
[INFO] [stderr]   Downloaded tiny_http v0.6.4
[INFO] [stderr]   Downloaded rocket_db_pools_codegen v0.1.0
[INFO] [stderr]   Downloaded modifier v0.1.0
[INFO] [stderr]   Downloaded plugin v0.2.6
[INFO] [stderr]   Downloaded rocket_db_pools v0.1.0
[INFO] [stderr]   Downloaded groupable v0.2.0
[INFO] [stderr]   Downloaded bcrypt v0.15.1
[INFO] [stderr]   Downloaded iron v0.6.1
[INFO] [stderr]   Downloaded mustache v0.9.0
[INFO] [stderr]   Downloaded mime_guess v1.8.8
[INFO] [stderr]   Downloaded nickel v0.11.0
[INFO] [stderr]   Downloaded mysqlclient-sys v0.4.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+c871d09d1cc32a649f4c5177bb819646260ed120" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 96de4fbe57ee5a902b8ff1021a4007bf99065c5e5673a94b3ab8810a9f0f3b63
[INFO] running `Command { std: "docker" "start" "-a" "96de4fbe57ee5a902b8ff1021a4007bf99065c5e5673a94b3ab8810a9f0f3b63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96de4fbe57ee5a902b8ff1021a4007bf99065c5e5673a94b3ab8810a9f0f3b63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96de4fbe57ee5a902b8ff1021a4007bf99065c5e5673a94b3ab8810a9f0f3b63", kill_on_drop: false }`
[INFO] [stdout] 96de4fbe57ee5a902b8ff1021a4007bf99065c5e5673a94b3ab8810a9f0f3b63
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+c871d09d1cc32a649f4c5177bb819646260ed120" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d77945ae31b184e36dd60367bd16ee9191019708fb5f1d21ae8bd3e66cbd4cd3
[INFO] running `Command { std: "docker" "start" "-a" "d77945ae31b184e36dd60367bd16ee9191019708fb5f1d21ae8bd3e66cbd4cd3", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling phf_shared v0.7.24
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking traitobject v0.1.1
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling inlinable_string v0.1.15
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking winnow v0.7.13
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]    Compiling pest v2.8.3
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]     Checking mime v0.2.6
[INFO] [stderr]    Compiling phf_codegen v0.7.24
[INFO] [stderr]     Checking unsafe-any v0.4.2
[INFO] [stderr]    Compiling phf v0.7.24
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]    Compiling mime_guess v1.8.8
[INFO] [stderr]     Checking typemap v0.3.3
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]    Compiling mysqlclient-sys v0.4.7
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling rocket v0.5.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking typeable v0.1.2
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]    Compiling diesel_derives v2.3.4
[INFO] [stderr]     Checking ignore v0.4.25
[INFO] [stderr]     Checking plugin v0.2.6
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking hyper v0.10.16
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]    Compiling pest_meta v2.8.3
[INFO] [stderr]     Checking binascii v0.1.4
[INFO] [stderr]     Checking modifier v0.1.0
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking r2d2 v0.8.10
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.3.0
[INFO] [stderr]     Checking slug v0.1.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]     Checking filetime v0.2.26
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling bigdecimal v0.4.9
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking groupable v0.2.0
[INFO] [stderr]     Checking downcast-rs v2.0.2
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking buf_redux v0.8.4
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking twoway v0.1.8
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking normpath v1.5.0
[INFO] [stderr]     Checking bcrypt v0.15.1
[INFO] [stderr]     Checking iron v0.6.1
[INFO] [stderr]    Compiling pest_generator v2.8.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling devise v0.4.2
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling rocket_db_pools_codegen v0.1.0
[INFO] [stderr]    Compiling pest_derive v2.8.3
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling dsl_auto_type v0.2.0
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking ubyte v0.10.4
[INFO] [stderr]     Checking mustache v0.9.0
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking nickel v0.11.0
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking tiny_http v0.6.4
[INFO] [stderr]     Checking multipart v0.18.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking diesel v2.3.3
[INFO] [stderr]     Checking tera v1.20.1
[INFO] [stderr]     Checking rocket_dyn_templates v0.1.0
[INFO] [stderr]     Checking rocket_db_pools v0.1.0
[INFO] [stderr]     Checking shopping v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/order_controller.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[post("/orders/create")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/order_controller.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[get("/orders/<id>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/order_controller.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[get("/orders?<page>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/order_controller.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[post("/orders/create")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/order_controller.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[get("/orders/<id>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/order_controller.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[get("/orders?<page>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[post("/cart/items/<id>/delete")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[post("/cart/items/<id>/update", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[post("/cart/add", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[post("/cart/items/<id>/delete")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[get("/cart")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:51:3
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[post("/cart/items/<id>/update", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[post("/cart/add", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/cart_controller.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[get("/cart")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[post("/categories/<id>/delete")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:59:3
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[post("/categories/<id>", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[get("/categories/<id>/edit")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[post("/categories/<id>/delete")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[post("/categories", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:59:3
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[post("/categories/<id>", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[get("/categories/create")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[get("/categories/<id>/edit")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[get("/categories")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[post("/categories", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(FromForm)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::FromForm;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[get("/categories/create")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/category_controller.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[get("/categories")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:174:3
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[post("/products/<id>/upload-image", data = "<file>")]
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::post;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(FromForm)]
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::FromForm;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:166:3
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[post("/products/<id>/delete")]
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::post;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:142:3
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[post("/products/<id>", data = "<form>")]
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::post;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:174:3
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[post("/products/<id>/upload-image", data = "<file>")]
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::post;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:166:3
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[post("/products/<id>/delete")]
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::post;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:128:3
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[get("/products/<id>/edit")]
[INFO] [stdout]     |   ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::get;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:142:3
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[post("/products/<id>", data = "<form>")]
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::post;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[post("/products", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:91:3
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[get("/products/create")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]    --> src/controllers/product_controller.rs:128:3
[INFO] [stdout]     |
[INFO] [stdout] 128 | #[get("/products/<id>/edit")]
[INFO] [stdout]     |   ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rocket::get;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:77:3
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[get("/products/<id>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[post("/products", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[get("/products?<page>&<search>&<category_id>&<min_price>&<max_price>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:91:3
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[get("/products/create")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:77:3
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[get("/products/<id>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/product_controller.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[get("/products?<page>&<search>&<category_id>&<min_price>&<max_price>")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:87:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[get("/logout")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `FromForm` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(FromForm)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::FromForm;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[post("/register", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:87:3
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[get("/logout")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[get("/register")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[post("/register", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[post("/login", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[get("/register")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[get("/login")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `post` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[post("/login", data = "<form>")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::post;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `get` in this scope
[INFO] [stdout]   --> src/controllers/auth_controller.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[get("/login")]
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this attribute macro
[INFO] [stdout]    |
[INFO] [stdout]  1 + use rocket::get;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Category` in this scope
[INFO] [stdout]  --> src/models/product.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[diesel(belongs_to(Category))]
[INFO] [stdout]   |                     ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::models::category::Category;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Category` in this scope
[INFO] [stdout]  --> src/models/product.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[diesel(belongs_to(Category))]
[INFO] [stdout]   |                     ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::models::category::Category;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::middleware::auth::SessionUser`
[INFO] [stdout]  --> src/controllers/auth_controller.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::middleware::auth::SessionUser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]  --> src/controllers/category_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bigdecimal::BigDecimal`
[INFO] [stdout]  --> src/controllers/order_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bigdecimal::BigDecimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::middleware::auth::SessionUser`
[INFO] [stdout]  --> src/controllers/auth_controller.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::middleware::auth::SessionUser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]  --> src/controllers/category_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bigdecimal::BigDecimal`
[INFO] [stdout]  --> src/controllers/order_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bigdecimal::BigDecimal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::figment::Figment`
[INFO] [stdout]  --> src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::figment::Figment;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::figment::Figment`
[INFO] [stdout]  --> src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::figment::Figment;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `&'update BigDecimal` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, &'update BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `&'update BigDecimal` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, &'update BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/database.rs:6:19
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct DbConn(diesel::r2d2::ConnectionManager<MysqlConnection>);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `rocket_db_pools::Database::Pool`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     type Pool: Pool;
[INFO] [stdout]    |                ^^^^ required by this bound in `Database::Pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/database.rs:6:19
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct DbConn(diesel::r2d2::ConnectionManager<MysqlConnection>);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `rocket_db_pools::Database::Pool`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     type Pool: Pool;
[INFO] [stdout]    |                ^^^^ required by this bound in `Database::Pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `(Option<Grouped<Eq<category_id, ...>>>, ..., ..., ..., ..., ...)` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `&'update BigDecimal` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, &'update BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `(Option<Grouped<Eq<category_id, ...>>>, ..., ..., ..., ..., ...)` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub total_amount: BigDecimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `(Option<Grouped<Eq<category_id, ...>>>, ..., ..., ..., ..., ...)` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub total_amount: BigDecimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Deserialize, AsChangeset)]
[INFO] [stdout]    |                       ^^^^^^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `&'update BigDecimal` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, &'update BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `(Option<Grouped<Eq<category_id, ...>>>, ..., ..., ..., ..., ...)` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub total_amount: BigDecimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub total_amount: BigDecimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Insertable, Deserialize)]
[INFO] [stdout]    |          ---------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub price: BigDecimal,
[INFO] [stdout]    |         ^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&'insert BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]    = note: this error originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/auth_controller.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 |     match User::find_by_username(&mut *conn, &login_data.username) {
[INFO] [stdout]    |                                       ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:51:15
[INFO] [stdout]     |
[INFO] [stdout]  51 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  51 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:51:5
[INFO] [stdout]     |
[INFO] [stdout]  51 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/auth_controller.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |     if User::find_by_username(&mut *conn, &register_data.username).is_ok() {
[INFO] [stdout]    |                                    ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:22:15
[INFO] [stdout]     |
[INFO] [stdout]  22 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  22 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:64
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                                                                ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `BigDecimal` implements `From<&i128>`
[INFO] [stdout]              `BigDecimal` implements `From<&i16>`
[INFO] [stdout]              `BigDecimal` implements `From<&i32>`
[INFO] [stdout]              `BigDecimal` implements `From<&i64>`
[INFO] [stdout]              `BigDecimal` implements `From<&i8>`
[INFO] [stdout]              `BigDecimal` implements `From<&u128>`
[INFO] [stdout]              `BigDecimal` implements `From<&u16>`
[INFO] [stdout]              `BigDecimal` implements `From<&u32>`
[INFO] [stdout]            and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:61
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                                                             ^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/auth_controller.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 |     match User::find_by_username(&mut *conn, &login_data.username) {
[INFO] [stdout]    |                                       ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: ValidGrouping<()>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                       ^^^^^^ the trait `ValidGrouping<()>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ValidGrouping<GroupByClause>`:
[INFO] [stdout]              `&T` implements `ValidGrouping<GB>`
[INFO] [stdout]              `()` implements `ValidGrouping<GB>`
[INFO] [stdout]              `(T, T1)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]            and 177 others
[INFO] [stdout]    = note: required for `expression::operators::GtEq<products::columns::price, BigDecimal>` to implement `ValidGrouping<()>`
[INFO] [stdout]    = note: required for `Grouped<GtEq<price, BigDecimal>>` to implement `NonAggregate`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:51:15
[INFO] [stdout]     |
[INFO] [stdout]  51 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  51 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/auth_controller.rs:51:5
[INFO] [stdout]     |
[INFO] [stdout]  51 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/auth_controller.rs:56:36
[INFO] [stdout]    |
[INFO] [stdout] 56 |     if User::find_by_username(&mut *conn, &register_data.username).is_ok() {
[INFO] [stdout]    |                                    ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:22:15
[INFO] [stdout]     |
[INFO] [stdout]  22 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  22 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                       ^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::GtEq<products::columns::price, BigDecimal>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<GtEq<price, BigDecimal>>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:64
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                                                                ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `BigDecimal` implements `From<&i128>`
[INFO] [stdout]              `BigDecimal` implements `From<&i16>`
[INFO] [stdout]              `BigDecimal` implements `From<&i32>`
[INFO] [stdout]              `BigDecimal` implements `From<&i64>`
[INFO] [stdout]              `BigDecimal` implements `From<&i8>`
[INFO] [stdout]              `BigDecimal` implements `From<&u128>`
[INFO] [stdout]              `BigDecimal` implements `From<&u16>`
[INFO] [stdout]              `BigDecimal` implements `From<&u32>`
[INFO] [stdout]            and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:61
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                                                             ^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `BigDecimal` is no valid SQL fragment for the `Mysql` backend
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                       ^^^^^^ the trait `QueryFragment<Mysql>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usually means that the `Mysql` database system does not support 
[INFO] [stdout]            this SQL syntax
[INFO] [stdout]    = help: the following other types implement trait `QueryFragment<DB, SP>`:
[INFO] [stdout]              `&T` implements `QueryFragment<DB>`
[INFO] [stdout]              `()` implements `QueryFragment<DB>`
[INFO] [stdout]              `(T, T1)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `QueryFragment<__DB>`
[INFO] [stdout]            and 306 others
[INFO] [stdout]    = note: required for `expression::operators::GtEq<products::columns::price, BigDecimal>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<GtEq<price, BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: required for `query_builder::where_clause::BoxedWhereClause<'_, Mysql>` to implement `WhereAnd<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: ValidGrouping<()>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                       ^^^^^^ the trait `ValidGrouping<()>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ValidGrouping<GroupByClause>`:
[INFO] [stdout]              `&T` implements `ValidGrouping<GB>`
[INFO] [stdout]              `()` implements `ValidGrouping<GB>`
[INFO] [stdout]              `(T, T1)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]            and 177 others
[INFO] [stdout]    = note: required for `expression::operators::GtEq<products::columns::price, BigDecimal>` to implement `ValidGrouping<()>`
[INFO] [stdout]    = note: required for `Grouped<GtEq<price, BigDecimal>>` to implement `NonAggregate`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                                                                ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `BigDecimal` implements `From<&i128>`
[INFO] [stdout]              `BigDecimal` implements `From<&i16>`
[INFO] [stdout]              `BigDecimal` implements `From<&i32>`
[INFO] [stdout]              `BigDecimal` implements `From<&i64>`
[INFO] [stdout]              `BigDecimal` implements `From<&i8>`
[INFO] [stdout]              `BigDecimal` implements `From<&u128>`
[INFO] [stdout]              `BigDecimal` implements `From<&u16>`
[INFO] [stdout]              `BigDecimal` implements `From<&u32>`
[INFO] [stdout]            and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                       ^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::GtEq<products::columns::price, BigDecimal>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<GtEq<price, BigDecimal>>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: ValidGrouping<()>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                       ^^^^^^ the trait `ValidGrouping<()>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ValidGrouping<GroupByClause>`:
[INFO] [stdout]              `&T` implements `ValidGrouping<GB>`
[INFO] [stdout]              `()` implements `ValidGrouping<GB>`
[INFO] [stdout]              `(T, T1)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]            and 177 others
[INFO] [stdout]    = note: required for `expression::operators::LtEq<products::columns::price, BigDecimal>` to implement `ValidGrouping<()>`
[INFO] [stdout]    = note: required for `Grouped<LtEq<price, BigDecimal>>` to implement `NonAggregate`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                       ^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::LtEq<products::columns::price, BigDecimal>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<LtEq<price, BigDecimal>>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `BigDecimal` is no valid SQL fragment for the `Mysql` backend
[INFO] [stdout]   --> src/controllers/product_controller.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 |         query = query.filter(crate::schema::products::price.ge(BigDecimal::from(min)));
[INFO] [stdout]    |                       ^^^^^^ the trait `QueryFragment<Mysql>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usually means that the `Mysql` database system does not support 
[INFO] [stdout]            this SQL syntax
[INFO] [stdout]    = help: the following other types implement trait `QueryFragment<DB, SP>`:
[INFO] [stdout]              `&T` implements `QueryFragment<DB>`
[INFO] [stdout]              `()` implements `QueryFragment<DB>`
[INFO] [stdout]              `(T, T1)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `QueryFragment<__DB>`
[INFO] [stdout]            and 306 others
[INFO] [stdout]    = note: required for `expression::operators::GtEq<products::columns::price, BigDecimal>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<GtEq<price, BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: required for `query_builder::where_clause::BoxedWhereClause<'_, Mysql>` to implement `WhereAnd<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<GtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                                                                ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `BigDecimal` implements `From<&i128>`
[INFO] [stdout]              `BigDecimal` implements `From<&i16>`
[INFO] [stdout]              `BigDecimal` implements `From<&i32>`
[INFO] [stdout]              `BigDecimal` implements `From<&i64>`
[INFO] [stdout]              `BigDecimal` implements `From<&i8>`
[INFO] [stdout]              `BigDecimal` implements `From<&u128>`
[INFO] [stdout]              `BigDecimal` implements `From<&u16>`
[INFO] [stdout]              `BigDecimal` implements `From<&u32>`
[INFO] [stdout]            and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: ValidGrouping<()>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                       ^^^^^^ the trait `ValidGrouping<()>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `ValidGrouping<GroupByClause>`:
[INFO] [stdout]              `&T` implements `ValidGrouping<GB>`
[INFO] [stdout]              `()` implements `ValidGrouping<GB>`
[INFO] [stdout]              `(T, T1)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `ValidGrouping<__GroupByClause>`
[INFO] [stdout]            and 177 others
[INFO] [stdout]    = note: required for `expression::operators::LtEq<products::columns::price, BigDecimal>` to implement `ValidGrouping<()>`
[INFO] [stdout]    = note: required for `Grouped<LtEq<price, BigDecimal>>` to implement `NonAggregate`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `BigDecimal` is no valid SQL fragment for the `Mysql` backend
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                       ^^^^^^ the trait `QueryFragment<Mysql>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usually means that the `Mysql` database system does not support 
[INFO] [stdout]            this SQL syntax
[INFO] [stdout]    = help: the following other types implement trait `QueryFragment<DB, SP>`:
[INFO] [stdout]              `&T` implements `QueryFragment<DB>`
[INFO] [stdout]              `()` implements `QueryFragment<DB>`
[INFO] [stdout]              `(T, T1)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `QueryFragment<__DB>`
[INFO] [stdout]            and 306 others
[INFO] [stdout]    = note: required for `expression::operators::LtEq<products::columns::price, BigDecimal>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<LtEq<price, BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: required for `query_builder::where_clause::BoxedWhereClause<'_, Mysql>` to implement `WhereAnd<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |         .get_result(&mut *conn)
[INFO] [stdout]    |                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                       ^^^^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `expression::operators::LtEq<products::columns::price, BigDecimal>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<LtEq<price, BigDecimal>>` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., ...>` is not satisfied
[INFO] [stdout]     --> src/controllers/product_controller.rs:60:15
[INFO] [stdout]      |
[INFO] [stdout]   60 |         .load(&mut *conn)
[INFO] [stdout]      |               ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, Mysql>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(Mysql))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:78:38
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub async fn show(id: i32, mut conn: Db, user: Option<SessionUser>) -> Result<Template, Status> {
[INFO] [stdout]     |                                      ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub async fn show(id: i32, mut conn: &Db, user: Option<SessionUser>) -> Result<Template, Status> {
[INFO] [stdout]     |                                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:78:28
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub async fn show(id: i32, mut conn: Db, user: Option<SessionUser>) -> Result<Template, Status> {
[INFO] [stdout]     |                            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 |     match Product::find_with_category(&mut *conn, id) {
[INFO] [stdout]    |                                            ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:92:36
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub async fn create_page(mut conn: Db, _user: SessionUser) -> Template {
[INFO] [stdout]     |                                    ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub async fn create_page(mut conn: &Db, _user: SessionUser) -> Template {
[INFO] [stdout]     |                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `BigDecimal` is no valid SQL fragment for the `Mysql` backend
[INFO] [stdout]   --> src/controllers/product_controller.rs:47:23
[INFO] [stdout]    |
[INFO] [stdout] 47 |         query = query.filter(crate::schema::products::price.le(BigDecimal::from(max)));
[INFO] [stdout]    |                       ^^^^^^ the trait `QueryFragment<Mysql>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usually means that the `Mysql` database system does not support 
[INFO] [stdout]            this SQL syntax
[INFO] [stdout]    = help: the following other types implement trait `QueryFragment<DB, SP>`:
[INFO] [stdout]              `&T` implements `QueryFragment<DB>`
[INFO] [stdout]              `()` implements `QueryFragment<DB>`
[INFO] [stdout]              `(T, T1)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `QueryFragment<__DB>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `QueryFragment<__DB>`
[INFO] [stdout]            and 306 others
[INFO] [stdout]    = note: required for `expression::operators::LtEq<products::columns::price, BigDecimal>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Grouped<LtEq<price, BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]    = note: required for `query_builder::where_clause::BoxedWhereClause<'_, Mysql>` to implement `WhereAnd<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `FilterDsl<Grouped<LtEq<price, BigDecimal>>>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:92:26
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub async fn create_page(mut conn: Db, _user: SessionUser) -> Template {
[INFO] [stdout]     |                          ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:93:41
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let categories = Category::all(&mut *conn).unwrap_or_default();
[INFO] [stdout]    |                                         ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 103 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |         .get_result(&mut *conn)
[INFO] [stdout]    |                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 111 |         price: BigDecimal::from(product_data.price),
[INFO] [stdout]     |                ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `BigDecimal` implements `From<&i128>`
[INFO] [stdout]               `BigDecimal` implements `From<&i16>`
[INFO] [stdout]               `BigDecimal` implements `From<&i32>`
[INFO] [stdout]               `BigDecimal` implements `From<&i64>`
[INFO] [stdout]               `BigDecimal` implements `From<&i8>`
[INFO] [stdout]               `BigDecimal` implements `From<&u128>`
[INFO] [stdout]               `BigDecimal` implements `From<&u16>`
[INFO] [stdout]               `BigDecimal` implements `From<&u32>`
[INFO] [stdout]             and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     match Product::create(&mut *conn, new_product) {
[INFO] [stdout]     |                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:129:43
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn edit_page(id: i32, mut conn: &Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:130:36
[INFO] [stdout]     |
[INFO] [stdout] 130 |     match Product::find_by_id(&mut *conn, id) {
[INFO] [stdout]     |                                    ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., ...>` is not satisfied
[INFO] [stdout]     --> src/controllers/product_controller.rs:60:15
[INFO] [stdout]      |
[INFO] [stdout]   60 |         .load(&mut *conn)
[INFO] [stdout]      |               ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, Mysql>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(Mysql))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `BoxedSelectStatement<'_, ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:78:38
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub async fn show(id: i32, mut conn: Db, user: Option<SessionUser>) -> Result<Template, Status> {
[INFO] [stdout]     |                                      ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub async fn show(id: i32, mut conn: &Db, user: Option<SessionUser>) -> Result<Template, Status> {
[INFO] [stdout]     |                                      +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:78:28
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub async fn show(id: i32, mut conn: Db, user: Option<SessionUser>) -> Result<Template, Status> {
[INFO] [stdout]     |                            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 |     match Product::find_with_category(&mut *conn, id) {
[INFO] [stdout]    |                                            ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:92:36
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub async fn create_page(mut conn: Db, _user: SessionUser) -> Template {
[INFO] [stdout]     |                                    ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub async fn create_page(mut conn: &Db, _user: SessionUser) -> Template {
[INFO] [stdout]     |                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:92:26
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub async fn create_page(mut conn: Db, _user: SessionUser) -> Template {
[INFO] [stdout]     |                          ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/product_controller.rs:93:41
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let categories = Category::all(&mut *conn).unwrap_or_default();
[INFO] [stdout]    |                                         ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 103 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 111 |         price: BigDecimal::from(product_data.price),
[INFO] [stdout]     |                ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `BigDecimal` implements `From<&i128>`
[INFO] [stdout]               `BigDecimal` implements `From<&i16>`
[INFO] [stdout]               `BigDecimal` implements `From<&i32>`
[INFO] [stdout]               `BigDecimal` implements `From<&i64>`
[INFO] [stdout]               `BigDecimal` implements `From<&i8>`
[INFO] [stdout]               `BigDecimal` implements `From<&u128>`
[INFO] [stdout]               `BigDecimal` implements `From<&u16>`
[INFO] [stdout]               `BigDecimal` implements `From<&u32>`
[INFO] [stdout]             and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |     match Product::create(&mut *conn, new_product) {
[INFO] [stdout]     |                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:129:43
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn edit_page(id: i32, mut conn: &Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:130:36
[INFO] [stdout]     |
[INFO] [stdout] 130 |     match Product::find_by_id(&mut *conn, id) {
[INFO] [stdout]     |                                    ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/controllers/product_controller.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         description: Some(Some(product_data.description)),
[INFO] [stdout]     |                      ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `std::string::String`
[INFO] [stdout]                  found enum `std::option::Option<std::string::String>`
[INFO] [stdout] help: the type constructed contains `std::option::Option<std::string::String>` due to the type of the argument passed
[INFO] [stdout]    --> src/controllers/product_controller.rs:154:22
[INFO] [stdout]     |
[INFO] [stdout] 154 |         description: Some(Some(product_data.description)),
[INFO] [stdout]     |                      ^^^^^------------------------------^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/c871d09d1cc32a649f4c5177bb819646260ed120/library/core/src/option.rs:608:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/controllers/product_controller.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         description: Some(Some(product_data.description)),
[INFO] [stdout]     |                      ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `std::string::String`
[INFO] [stdout]                  found enum `std::option::Option<std::string::String>`
[INFO] [stdout] help: the type constructed contains `std::option::Option<std::string::String>` due to the type of the argument passed
[INFO] [stdout]    --> src/controllers/product_controller.rs:154:22
[INFO] [stdout]     |
[INFO] [stdout] 154 |         description: Some(Some(product_data.description)),
[INFO] [stdout]     |                      ^^^^^------------------------------^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/c871d09d1cc32a649f4c5177bb819646260ed120/library/core/src/option.rs:608:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |         price: Some(BigDecimal::from(product_data.price)),
[INFO] [stdout]     |                     ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `BigDecimal` implements `From<&i128>`
[INFO] [stdout]               `BigDecimal` implements `From<&i16>`
[INFO] [stdout]               `BigDecimal` implements `From<&i32>`
[INFO] [stdout]               `BigDecimal` implements `From<&i64>`
[INFO] [stdout]               `BigDecimal` implements `From<&i8>`
[INFO] [stdout]               `BigDecimal` implements `From<&u128>`
[INFO] [stdout]               `BigDecimal` implements `From<&u16>`
[INFO] [stdout]               `BigDecimal` implements `From<&u32>`
[INFO] [stdout]             and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:160:32
[INFO] [stdout]     |
[INFO] [stdout] 160 |     match Product::update(&mut *conn, id, update_data) {
[INFO] [stdout]     |                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:167:60
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn delete(id: i32, _user: SessionUser, mut conn: &Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: From<f64>` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |         price: Some(BigDecimal::from(product_data.price)),
[INFO] [stdout]     |                     ^^^^^^^^^^ the trait `From<f64>` is not implemented for `BigDecimal`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `BigDecimal` implements `From<&i128>`
[INFO] [stdout]               `BigDecimal` implements `From<&i16>`
[INFO] [stdout]               `BigDecimal` implements `From<&i32>`
[INFO] [stdout]               `BigDecimal` implements `From<&i64>`
[INFO] [stdout]               `BigDecimal` implements `From<&i8>`
[INFO] [stdout]               `BigDecimal` implements `From<&u128>`
[INFO] [stdout]               `BigDecimal` implements `From<&u16>`
[INFO] [stdout]               `BigDecimal` implements `From<&u32>`
[INFO] [stdout]             and 14 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:167:50
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                  ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:168:32
[INFO] [stdout]     |
[INFO] [stdout] 168 |     match Product::delete(&mut *conn, id) {
[INFO] [stdout]     |                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:160:32
[INFO] [stdout]     |
[INFO] [stdout] 160 |     match Product::update(&mut *conn, id, update_data) {
[INFO] [stdout]     |                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:179:15
[INFO] [stdout]     |
[INFO] [stdout] 179 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 179 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:167:60
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn delete(id: i32, _user: SessionUser, mut conn: &Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:167:50
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                  ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:168:32
[INFO] [stdout]     |
[INFO] [stdout] 168 |     match Product::delete(&mut *conn, id) {
[INFO] [stdout]     |                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/controllers/product_controller.rs:191:33
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 image_url: Some(Some(image_url)),
[INFO] [stdout]     |                            ---- ^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `std::string::String`
[INFO] [stdout]                  found enum `std::option::Option<std::string::String>`
[INFO] [stdout] help: the type constructed contains `std::option::Option<std::string::String>` due to the type of the argument passed
[INFO] [stdout]    --> src/controllers/product_controller.rs:191:28
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 image_url: Some(Some(image_url)),
[INFO] [stdout]     |                            ^^^^^---------------^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/c871d09d1cc32a649f4c5177bb819646260ed120/library/core/src/option.rs:608:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:179:15
[INFO] [stdout]     |
[INFO] [stdout] 179 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout] 179 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:194:40
[INFO] [stdout]     |
[INFO] [stdout] 194 |             match Product::update(&mut *conn, id, update_data) {
[INFO] [stdout]     |                                        ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/product_controller.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:11:30
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub async fn index(mut conn: Db, user: Option<SessionUser>) -> Template {
[INFO] [stdout]     |                              ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub async fn index(mut conn: &Db, user: Option<SessionUser>) -> Template {
[INFO] [stdout]     |                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:11:20
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub async fn index(mut conn: Db, user: Option<SessionUser>) -> Template {
[INFO] [stdout]     |                    ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let categories = Category::all(&mut *conn).unwrap_or_default();
[INFO] [stdout]    |                                         ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout]  28 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  28 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:28:5
[INFO] [stdout]     |
[INFO] [stdout]  28 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |     match Category::create(&mut *conn, new_category) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:48:43
[INFO] [stdout]     |
[INFO] [stdout]  48 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  48 | pub async fn edit_page(id: i32, mut conn: &Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:48:33
[INFO] [stdout]     |
[INFO] [stdout]  48 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |     match Category::find_by_id(&mut *conn, id) {
[INFO] [stdout]    |                                     ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/controllers/product_controller.rs:191:33
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 image_url: Some(Some(image_url)),
[INFO] [stdout]     |                            ---- ^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `std::string::String`
[INFO] [stdout]                  found enum `std::option::Option<std::string::String>`
[INFO] [stdout] help: the type constructed contains `std::option::Option<std::string::String>` due to the type of the argument passed
[INFO] [stdout]    --> src/controllers/product_controller.rs:191:28
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 image_url: Some(Some(image_url)),
[INFO] [stdout]     |                            ^^^^^---------------^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/c871d09d1cc32a649f4c5177bb819646260ed120/library/core/src/option.rs:608:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]    --> src/controllers/product_controller.rs:194:40
[INFO] [stdout]     |
[INFO] [stdout] 194 |             match Product::update(&mut *conn, id, update_data) {
[INFO] [stdout]     |                                        ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:64:15
[INFO] [stdout]     |
[INFO] [stdout]  64 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  64 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:64:5
[INFO] [stdout]     |
[INFO] [stdout]  64 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:11:30
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub async fn index(mut conn: Db, user: Option<SessionUser>) -> Template {
[INFO] [stdout]     |                              ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub async fn index(mut conn: &Db, user: Option<SessionUser>) -> Template {
[INFO] [stdout]     |                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:11:20
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub async fn index(mut conn: Db, user: Option<SessionUser>) -> Template {
[INFO] [stdout]     |                    ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let categories = Category::all(&mut *conn).unwrap_or_default();
[INFO] [stdout]    |                                         ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout]  28 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  28 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/controllers/category_controller.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         description: Some(Some(category_data.description)),
[INFO] [stdout]    |                      ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `std::string::String`
[INFO] [stdout]                 found enum `std::option::Option<std::string::String>`
[INFO] [stdout] help: the type constructed contains `std::option::Option<std::string::String>` due to the type of the argument passed
[INFO] [stdout]   --> src/controllers/category_controller.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 |         description: Some(Some(category_data.description)),
[INFO] [stdout]    |                      ^^^^^-------------------------------^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/c871d09d1cc32a649f4c5177bb819646260ed120/library/core/src/option.rs:608:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:28:5
[INFO] [stdout]     |
[INFO] [stdout]  28 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:73:33
[INFO] [stdout]    |
[INFO] [stdout] 73 |     match Category::update(&mut *conn, id, update_data) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |     match Category::create(&mut *conn, new_category) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:80:60
[INFO] [stdout]     |
[INFO] [stdout]  80 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  80 | pub async fn delete(id: i32, _user: SessionUser, mut conn: &Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:48:43
[INFO] [stdout]     |
[INFO] [stdout]  48 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  48 | pub async fn edit_page(id: i32, mut conn: &Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:80:50
[INFO] [stdout]     |
[INFO] [stdout]  80 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                  ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:48:33
[INFO] [stdout]     |
[INFO] [stdout]  48 | pub async fn edit_page(id: i32, mut conn: Db, _user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                                 ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 |     match Category::delete(&mut *conn, id) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |     match Category::find_by_id(&mut *conn, id) {
[INFO] [stdout]    |                                     ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:12:30
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub async fn index(mut conn: Db, user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                              ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub async fn index(mut conn: &Db, user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:12:20
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub async fn index(mut conn: Db, user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                    ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:64:15
[INFO] [stdout]     |
[INFO] [stdout]  64 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  64 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:13:48
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let cart = match Cart::find_or_create(&mut *conn, user.id) {
[INFO] [stdout]    |                                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:64:5
[INFO] [stdout]     |
[INFO] [stdout]  64 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:38:15
[INFO] [stdout]     |
[INFO] [stdout]  38 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  38 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:38:5
[INFO] [stdout]     |
[INFO] [stdout]  38 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:40:48
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let cart = match Cart::find_or_create(&mut *conn, user.id) {
[INFO] [stdout]    |                                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:56:15
[INFO] [stdout]     |
[INFO] [stdout]  56 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  56 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:56:5
[INFO] [stdout]     |
[INFO] [stdout]  56 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/controllers/category_controller.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |         description: Some(Some(category_data.description)),
[INFO] [stdout]    |                      ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `String`, found `Option<String>`
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `std::string::String`
[INFO] [stdout]                 found enum `std::option::Option<std::string::String>`
[INFO] [stdout] help: the type constructed contains `std::option::Option<std::string::String>` due to the type of the argument passed
[INFO] [stdout]   --> src/controllers/category_controller.rs:70:22
[INFO] [stdout]    |
[INFO] [stdout] 70 |         description: Some(Some(category_data.description)),
[INFO] [stdout]    |                      ^^^^^-------------------------------^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/c871d09d1cc32a649f4c5177bb819646260ed120/library/core/src/option.rs:608:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |     match CartItem::update_quantity(&mut *conn, id, form.quantity) {
[INFO] [stdout]    |                                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:73:33
[INFO] [stdout]    |
[INFO] [stdout] 73 |     match Category::update(&mut *conn, id, update_data) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:68:15
[INFO] [stdout]     |
[INFO] [stdout]  68 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  68 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:68:5
[INFO] [stdout]     |
[INFO] [stdout]  68 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:80:60
[INFO] [stdout]     |
[INFO] [stdout]  80 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  80 | pub async fn delete(id: i32, _user: SessionUser, mut conn: &Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |     match CartItem::delete(&mut *conn, id) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/category_controller.rs:80:50
[INFO] [stdout]     |
[INFO] [stdout]  80 | pub async fn delete(id: i32, _user: SessionUser, mut conn: Db) -> Result<Redirect, Status> {
[INFO] [stdout]     |                                                  ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/category_controller.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 |     match Category::delete(&mut *conn, id) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:12:30
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub async fn index(mut conn: Db, user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                              ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub async fn index(mut conn: &Db, user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:12:20
[INFO] [stdout]     |
[INFO] [stdout]  12 | pub async fn index(mut conn: Db, user: SessionUser) -> Result<Template, Status> {
[INFO] [stdout]     |                    ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:13:48
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let cart = match Cart::find_or_create(&mut *conn, user.id) {
[INFO] [stdout]    |                                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/order_controller.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |         .get_result(&mut *conn)
[INFO] [stdout]    |                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:38:15
[INFO] [stdout]     |
[INFO] [stdout]  38 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  38 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:38:5
[INFO] [stdout]     |
[INFO] [stdout]  38 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:44:15
[INFO] [stdout]     |
[INFO] [stdout]  44 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  44 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:40:48
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let cart = match Cart::find_or_create(&mut *conn, user.id) {
[INFO] [stdout]    |                                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/order_controller.rs:46:46
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let order = match Order::find_by_id(&mut *conn, id) {
[INFO] [stdout]    |                                              ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:56:15
[INFO] [stdout]     |
[INFO] [stdout]  56 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  56 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:56:5
[INFO] [stdout]     |
[INFO] [stdout]  56 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |     match CartItem::update_quantity(&mut *conn, id, form.quantity) {
[INFO] [stdout]    |                                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:70:15
[INFO] [stdout]     |
[INFO] [stdout]  70 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  70 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:70:5
[INFO] [stdout]     |
[INFO] [stdout]  70 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:68:15
[INFO] [stdout]     |
[INFO] [stdout]  68 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  68 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/order_controller.rs:73:48
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let cart = match Cart::find_or_create(&mut *conn, user.id) {
[INFO] [stdout]    |                                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/cart_controller.rs:68:5
[INFO] [stdout]     |
[INFO] [stdout]  68 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/cart_controller.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |     match CartItem::delete(&mut *conn, id) {
[INFO] [stdout]    |                                 ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout]  19 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/order_controller.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |         .get_result(&mut *conn)
[INFO] [stdout]    |                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:44:15
[INFO] [stdout]     |
[INFO] [stdout]  44 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  44 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/order_controller.rs:46:46
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let order = match Order::find_by_id(&mut *conn, id) {
[INFO] [stdout]    |                                              ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:70:15
[INFO] [stdout]     |
[INFO] [stdout]  70 |     mut conn: Db,
[INFO] [stdout]     |               ^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]     |
[INFO] [stdout]  70 |     mut conn: &Db,
[INFO] [stdout]     |               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/controllers/order_controller.rs:70:5
[INFO] [stdout]     |
[INFO] [stdout]  70 |     mut conn: Db,
[INFO] [stdout]     |     ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/controllers/order_controller.rs:73:48
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let cart = match Cart::find_or_create(&mut *conn, user.id) {
[INFO] [stdout]    |                                                ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing temporary value
[INFO] [stdout]   --> src/utils/file_upload.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |         .and_then(|n| PathBuf::from(n).extension())
[INFO] [stdout]    |                       ----------------^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       returns a value referencing data owned by the current function
[INFO] [stdout]    |                       temporary value created here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing temporary value
[INFO] [stdout]   --> src/utils/file_upload.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |         .and_then(|n| PathBuf::from(n).extension())
[INFO] [stdout]    |                       ----------------^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       returns a value referencing data owned by the current function
[INFO] [stdout]    |                       temporary value created here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:52:41
[INFO] [stdout]      |
[INFO] [stdout]   52 |         products::table.load::<Product>(conn)
[INFO] [stdout]      |                         ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `products::table` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:52:41
[INFO] [stdout]      |
[INFO] [stdout]   52 |         products::table.load::<Product>(conn)
[INFO] [stdout]      |                         ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `products::table` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:56:59
[INFO] [stdout]      |
[INFO] [stdout]   56 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:56:59
[INFO] [stdout]      |
[INFO] [stdout]   56 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-14988637966104232141.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:60:73
[INFO] [stdout]      |
[INFO] [stdout]   60 |         let product = products::table.find(product_id).first::<Product>(conn)?;
[INFO] [stdout]      |                                                        -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                        |
[INFO] [stdout]      |                                                        required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:60:73
[INFO] [stdout]      |
[INFO] [stdout]   60 |         let product = products::table.find(product_id).first::<Product>(conn)?;
[INFO] [stdout]      |                                                        -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                        |
[INFO] [stdout]      |                                                        required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-14988637966104232141.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:68:30
[INFO] [stdout]      |
[INFO] [stdout]   68 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:68:30
[INFO] [stdout]      |
[INFO] [stdout]   68 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-16268931481807550892.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:76:30
[INFO] [stdout]      |
[INFO] [stdout]   76 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:76:30
[INFO] [stdout]      |
[INFO] [stdout]   76 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-5114856758384726223.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 81 |             .values(&new_product)
[INFO] [stdout]    |              ^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<NoFromClause>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:82:22
[INFO] [stdout]      |
[INFO] [stdout]   82 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `AppearsOnTable<NoFromClause>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]                `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              and 143 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `AppearsOnTable<NoFromClause>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<products::columns::price, &BigDecimal>>` to implement `InsertValues<_, products::table>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `(DefaultableColumnInsertValue<...>, ..., ..., ..., ..., ...)` to implement `InsertValues<_, products::table>`
[INFO] [stdout]      = note: required for `ValuesClause<(..., ..., ..., ..., ..., ...), ...>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `ExecuteDsl<_, _>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Mysql as SqlDialect>::InsertWithDefaultKeyword == NotSpecialized`
[INFO] [stdout]     --> src/models/product.rs:82:22
[INFO] [stdout]      |
[INFO] [stdout]   82 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ expected `NotSpecialized`, found `IsoSqlDefaultKeyword`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<products::columns::price, &BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<products::columns::price, &BigDecimal>>` to implement `InsertValues<Mysql, products::table>`
[INFO] [stdout]      = note: 3 redundant requirements hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `ExecuteDsl<diesel::MysqlConnection, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-3296020862303392375.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:86:31
[INFO] [stdout]      |
[INFO] [stdout]   86 |             .first::<Product>(conn)
[INFO] [stdout]      |              -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:86:31
[INFO] [stdout]      |
[INFO] [stdout]   86 |             .first::<Product>(conn)
[INFO] [stdout]      |              -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-4175381265970264686.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .set(&update_data)
[INFO] [stdout]    |              ^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, &BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `BigDecimal` is no valid SQL fragment for the `Mysql` backend
[INFO] [stdout]     --> src/models/product.rs:92:22
[INFO] [stdout]      |
[INFO] [stdout]   92 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `QueryFragment<Mysql>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usually means that the `Mysql` database system does not support 
[INFO] [stdout]              this SQL syntax
[INFO] [stdout]      = help: the following other types implement trait `QueryFragment<DB, SP>`:
[INFO] [stdout]                `&T` implements `QueryFragment<DB>`
[INFO] [stdout]                `()` implements `QueryFragment<DB>`
[INFO] [stdout]                `(T, T1)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `QueryFragment<__DB>`
[INFO] [stdout]              and 306 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: 4 redundant requirements hidden
[INFO] [stdout]      = note: required for `UpdateStatement<table, WhereClause<Grouped<Eq<id, ...>>>, ...>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `UpdateStatement<table, WhereClause<Grouped<Eq<id, ...>>>, ...>` to implement `ExecuteDsl<_, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:94:59
[INFO] [stdout]      |
[INFO] [stdout]   94 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:94:59
[INFO] [stdout]      |
[INFO] [stdout]   94 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-14988637966104232141.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:108:59
[INFO] [stdout]      |
[INFO] [stdout]  108 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:108:59
[INFO] [stdout]      |
[INFO] [stdout]  108 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-14988637966104232141.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:52:41
[INFO] [stdout]      |
[INFO] [stdout]   52 |         products::table.load::<Product>(conn)
[INFO] [stdout]      |                         ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `products::table` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:52:41
[INFO] [stdout]      |
[INFO] [stdout]   52 |         products::table.load::<Product>(conn)
[INFO] [stdout]      |                         ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `products::table` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:56:59
[INFO] [stdout]      |
[INFO] [stdout]   56 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:56:59
[INFO] [stdout]      |
[INFO] [stdout]   56 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-2088217814058103259.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:60:73
[INFO] [stdout]      |
[INFO] [stdout]   60 |         let product = products::table.find(product_id).first::<Product>(conn)?;
[INFO] [stdout]      |                                                        -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                        |
[INFO] [stdout]      |                                                        required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:60:73
[INFO] [stdout]      |
[INFO] [stdout]   60 |         let product = products::table.find(product_id).first::<Product>(conn)?;
[INFO] [stdout]      |                                                        -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                        |
[INFO] [stdout]      |                                                        required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-2088217814058103259.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:68:30
[INFO] [stdout]      |
[INFO] [stdout]   68 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:68:30
[INFO] [stdout]      |
[INFO] [stdout]   68 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-6952058157745653838.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:76:30
[INFO] [stdout]      |
[INFO] [stdout]   76 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:76:30
[INFO] [stdout]      |
[INFO] [stdout]   76 |             .load::<Product>(conn)
[INFO] [stdout]      |              ----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-8015290557565323935.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 81 |             .values(&new_product)
[INFO] [stdout]    |              ^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<NoFromClause>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:82:22
[INFO] [stdout]      |
[INFO] [stdout]   82 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `AppearsOnTable<NoFromClause>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]                `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              and 143 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `AppearsOnTable<NoFromClause>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<products::columns::price, &BigDecimal>>` to implement `InsertValues<_, products::table>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `(DefaultableColumnInsertValue<...>, ..., ..., ..., ..., ...)` to implement `InsertValues<_, products::table>`
[INFO] [stdout]      = note: required for `ValuesClause<(..., ..., ..., ..., ..., ...), ...>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `ExecuteDsl<_, _>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Mysql as SqlDialect>::InsertWithDefaultKeyword == NotSpecialized`
[INFO] [stdout]     --> src/models/product.rs:82:22
[INFO] [stdout]      |
[INFO] [stdout]   82 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ expected `NotSpecialized`, found `IsoSqlDefaultKeyword`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<products::columns::price, &BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<products::columns::price, &BigDecimal>>` to implement `InsertValues<Mysql, products::table>`
[INFO] [stdout]      = note: 3 redundant requirements hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<..., ...>>` to implement `ExecuteDsl<diesel::MysqlConnection, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-12264386517687417162.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:86:31
[INFO] [stdout]      |
[INFO] [stdout]   86 |             .first::<Product>(conn)
[INFO] [stdout]      |              -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:86:31
[INFO] [stdout]      |
[INFO] [stdout]   86 |             .first::<Product>(conn)
[INFO] [stdout]      |              -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-3163347346747460574.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/cart_item.rs:54:106
[INFO] [stdout]      |
[INFO] [stdout]   54 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/cart_item.rs:54:106
[INFO] [stdout]      |
[INFO] [stdout]   54 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-14988637966104232141.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<products::table>` is not satisfied
[INFO] [stdout]   --> src/models/product.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 |             .set(&update_data)
[INFO] [stdout]    |              ^^^ the trait `AppearsOnTable<products::table>` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]              `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]            and 143 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AppearsOnTable<products::table>`
[INFO] [stdout]    = note: required for `expression::operators::Eq<products::columns::price, &BigDecimal>` to implement `diesel::AsChangeset`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `BigDecimal` is no valid SQL fragment for the `Mysql` backend
[INFO] [stdout]     --> src/models/product.rs:92:22
[INFO] [stdout]      |
[INFO] [stdout]   92 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `QueryFragment<Mysql>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usually means that the `Mysql` database system does not support 
[INFO] [stdout]              this SQL syntax
[INFO] [stdout]      = help: the following other types implement trait `QueryFragment<DB, SP>`:
[INFO] [stdout]                `&T` implements `QueryFragment<DB>`
[INFO] [stdout]                `()` implements `QueryFragment<DB>`
[INFO] [stdout]                `(T, T1)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `QueryFragment<__DB>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `QueryFragment<__DB>`
[INFO] [stdout]              and 306 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: 4 redundant requirements hidden
[INFO] [stdout]      = note: required for `UpdateStatement<table, WhereClause<Grouped<Eq<id, ...>>>, ...>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `UpdateStatement<table, WhereClause<Grouped<Eq<id, ...>>>, ...>` to implement `ExecuteDsl<_, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:94:59
[INFO] [stdout]      |
[INFO] [stdout]   94 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:94:59
[INFO] [stdout]      |
[INFO] [stdout]   94 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-2088217814058103259.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:108:59
[INFO] [stdout]      |
[INFO] [stdout]  108 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/product.rs:108:59
[INFO] [stdout]      |
[INFO] [stdout]  108 |         products::table.find(product_id).first::<Product>(conn)
[INFO] [stdout]      |                                          -----            ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-2088217814058103259.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |             .values(&new_order)
[INFO] [stdout]    |              ^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<NoFromClause>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:35:22
[INFO] [stdout]      |
[INFO] [stdout]   35 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `AppearsOnTable<NoFromClause>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]                `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              and 143 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `AppearsOnTable<NoFromClause>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<orders::columns::total_amount, &BigDecimal>>` to implement `InsertValues<_, orders::table>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `(DefaultableColumnInsertValue<ColumnInsertValue<..., ...>>, ..., ...)` to implement `InsertValues<_, orders::table>`
[INFO] [stdout]      = note: required for `ValuesClause<(DefaultableColumnInsertValue<...>, ..., ...), ...>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `ExecuteDsl<_, _>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Mysql as SqlDialect>::InsertWithDefaultKeyword == NotSpecialized`
[INFO] [stdout]     --> src/models/order.rs:35:22
[INFO] [stdout]      |
[INFO] [stdout]   35 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ expected `NotSpecialized`, found `IsoSqlDefaultKeyword`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<orders::columns::total_amount, &BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<orders::columns::total_amount, &BigDecimal>>` to implement `InsertValues<Mysql, orders::table>`
[INFO] [stdout]      = note: 3 redundant requirements hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `ExecuteDsl<diesel::MysqlConnection, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-13099539231505722723.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:39:29
[INFO] [stdout]      |
[INFO] [stdout]   39 |             .first::<Order>(conn)
[INFO] [stdout]      |              -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8488317134983240555.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:39:29
[INFO] [stdout]      |
[INFO] [stdout]   39 |             .first::<Order>(conn)
[INFO] [stdout]      |              -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-14798933676766231921.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:43:53
[INFO] [stdout]      |
[INFO] [stdout]   43 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8488317134983240555.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:43:53
[INFO] [stdout]      |
[INFO] [stdout]   43 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-3755379447616975474.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:50:28
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<Order>(conn)
[INFO] [stdout]      |              ----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8488317134983240555.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:50:28
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<Order>(conn)
[INFO] [stdout]      |              ----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-15216281800196149790.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:58:53
[INFO] [stdout]      |
[INFO] [stdout]   58 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8488317134983240555.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:58:53
[INFO] [stdout]      |
[INFO] [stdout]   58 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-3755379447616975474.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |             .values(&new_item)
[INFO] [stdout]    |              ^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-6037361421839177320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<NoFromClause>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:40:22
[INFO] [stdout]      |
[INFO] [stdout]   40 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `AppearsOnTable<NoFromClause>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]                `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              and 143 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `AppearsOnTable<NoFromClause>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<order_items::columns::price, &BigDecimal>>` to implement `InsertValues<_, order_items::table>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `(DefaultableColumnInsertValue<...>, ..., ..., ...)` to implement `InsertValues<_, order_items::table>`
[INFO] [stdout]      = note: required for `ValuesClause<(DefaultableColumnInsertValue<...>, ..., ..., ...), ...>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `ExecuteDsl<_, _>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8875786982544969186.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Mysql as SqlDialect>::InsertWithDefaultKeyword == NotSpecialized`
[INFO] [stdout]     --> src/models/order_item.rs:40:22
[INFO] [stdout]      |
[INFO] [stdout]   40 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ expected `NotSpecialized`, found `IsoSqlDefaultKeyword`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<order_items::columns::price, &BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<order_items::columns::price, &BigDecimal>>` to implement `InsertValues<Mysql, order_items::table>`
[INFO] [stdout]      = note: 3 redundant requirements hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `ExecuteDsl<diesel::MysqlConnection, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-9198331544545446837.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/cart_item.rs:54:106
[INFO] [stdout]      |
[INFO] [stdout]   54 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/cart_item.rs:54:106
[INFO] [stdout]      |
[INFO] [stdout]   54 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-2088217814058103259.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:44:33
[INFO] [stdout]      |
[INFO] [stdout]   44 |             .first::<OrderItem>(conn)
[INFO] [stdout]      |              -----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<OrderItem, _>` is not implemented for `(Integer, Integer, Integer, Integer, Numeric, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `OrderItem` and in your query `.select(OrderItem::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-7817402398762511449.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderItem: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:44:33
[INFO] [stdout]      |
[INFO] [stdout]   44 |             .first::<OrderItem>(conn)
[INFO] [stdout]      |              -----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `OrderItem`
[INFO] [stdout]     --> src/models/order_item.rs:10:1
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct OrderItem {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-8884116583980052406.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:50:32
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<OrderItem>(conn)
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<OrderItem, _>` is not implemented for `(Integer, Integer, Integer, Integer, Numeric, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `OrderItem` and in your query `.select(OrderItem::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-7817402398762511449.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderItem: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:50:32
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<OrderItem>(conn)
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `OrderItem`
[INFO] [stdout]     --> src/models/order_item.rs:10:1
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct OrderItem {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-2150587927228946751.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:56:32
[INFO] [stdout]      |
[INFO] [stdout]   56 |             .load::<OrderItem>(conn)?;
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<OrderItem, _>` is not implemented for `(Integer, Integer, Integer, Integer, Numeric, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `OrderItem` and in your query `.select(OrderItem::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-7817402398762511449.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderItem: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:56:32
[INFO] [stdout]      |
[INFO] [stdout]   56 |             .load::<OrderItem>(conn)?;
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `OrderItem`
[INFO] [stdout]     --> src/models/order_item.rs:10:1
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct OrderItem {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-2150587927228946751.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:60:106
[INFO] [stdout]      |
[INFO] [stdout]   60 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-17417824574615269640.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:60:106
[INFO] [stdout]      |
[INFO] [stdout]   60 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-701c0bacaf3dd329.long-type-14988637966104232141.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |             .values(&new_order)
[INFO] [stdout]    |              ^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<NoFromClause>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:35:22
[INFO] [stdout]      |
[INFO] [stdout]   35 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `AppearsOnTable<NoFromClause>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]                `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              and 143 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `AppearsOnTable<NoFromClause>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<orders::columns::total_amount, &BigDecimal>>` to implement `InsertValues<_, orders::table>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `(DefaultableColumnInsertValue<ColumnInsertValue<..., ...>>, ..., ...)` to implement `InsertValues<_, orders::table>`
[INFO] [stdout]      = note: required for `ValuesClause<(DefaultableColumnInsertValue<...>, ..., ...), ...>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `ExecuteDsl<_, _>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Mysql as SqlDialect>::InsertWithDefaultKeyword == NotSpecialized`
[INFO] [stdout]     --> src/models/order.rs:35:22
[INFO] [stdout]      |
[INFO] [stdout]   35 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ expected `NotSpecialized`, found `IsoSqlDefaultKeyword`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<orders::columns::total_amount, &BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<orders::columns::total_amount, &BigDecimal>>` to implement `InsertValues<Mysql, orders::table>`
[INFO] [stdout]      = note: 3 redundant requirements hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ...), ...>>` to implement `ExecuteDsl<diesel::MysqlConnection, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-18002711481152196549.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:39:29
[INFO] [stdout]      |
[INFO] [stdout]   39 |             .first::<Order>(conn)
[INFO] [stdout]      |              -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-142389094364725170.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:39:29
[INFO] [stdout]      |
[INFO] [stdout]   39 |             .first::<Order>(conn)
[INFO] [stdout]      |              -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-8507664115052146274.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:43:53
[INFO] [stdout]      |
[INFO] [stdout]   43 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-142389094364725170.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:43:53
[INFO] [stdout]      |
[INFO] [stdout]   43 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-10762047719631596519.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:50:28
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<Order>(conn)
[INFO] [stdout]      |              ----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-142389094364725170.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:50:28
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<Order>(conn)
[INFO] [stdout]      |              ----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-9104300111519808102.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, Numeric, Text, ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:58:53
[INFO] [stdout]      |
[INFO] [stdout]   58 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<order::Order, _>` is not implemented for `(Integer, Integer, Numeric, Text, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `order::Order` and in your query `.select(order::Order::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-142389094364725170.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `order::Order: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order.rs:58:53
[INFO] [stdout]      |
[INFO] [stdout]   58 |         orders::table.find(order_id).first::<Order>(conn)
[INFO] [stdout]      |                                      -----          ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `order::Order`
[INFO] [stdout]     --> src/models/order.rs:8:1
[INFO] [stdout]      |
[INFO] [stdout]    8 | pub struct Order {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, order::Order>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-10762047719631596519.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/middleware/auth.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 let db_outcome = req.guard::<Db>().await;
[INFO] [stdout]    |                                      ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/middleware/auth.rs:34:34
[INFO] [stdout]     |
[INFO] [stdout]  34 |                 let db_outcome = req.guard::<Db>().await;
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `Outcome`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket-0.5.1/src/outcome.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum Outcome<S, E, F> {
[INFO] [stdout]     |                  ^ required by the implicit `Sized` requirement on this type parameter in `Outcome`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/middleware/auth.rs:34:52
[INFO] [stdout]     |
[INFO] [stdout]  34 |                 let db_outcome = req.guard::<Db>().await;
[INFO] [stdout]     |                                                    ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `Outcome`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket-0.5.1/src/outcome.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum Outcome<S, E, F> {
[INFO] [stdout]     |                  ^ required by the implicit `Sized` requirement on this type parameter in `Outcome`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/middleware/auth.rs:36:38
[INFO] [stdout]     |
[INFO] [stdout]  36 |                     Outcome::Success(mut conn) => {
[INFO] [stdout]     |                                      ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/middleware/auth.rs:37:74
[INFO] [stdout]    |
[INFO] [stdout] 37 |                         match crate::models::user::User::find_by_id(&mut *conn, user_id) {
[INFO] [stdout]    |                                                                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/middleware/auth.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/controllers/auth_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/controllers/cart_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: diesel::Expression` is not satisfied
[INFO] [stdout]   --> src/models/order_item.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |             .values(&new_item)
[INFO] [stdout]    |              ^^^^^^ the trait `diesel::Expression` is not implemented for `BigDecimal`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `diesel::Expression`:
[INFO] [stdout]              &T
[INFO] [stdout]              AliasedField<S, C>
[INFO] [stdout]              Box<T>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsIntermediateNode<W, T, Whens>, E>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, ElseExpression<E>>
[INFO] [stdout]              CaseWhen<CaseWhenConditionsLeaf<W, T>, NoElseExpression>
[INFO] [stdout]              Exists<T>
[INFO] [stdout]              Many<ST, I>
[INFO] [stdout]            and 111 others
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `diesel::Expression`
[INFO] [stdout]    = note: required for `&BigDecimal` to implement `AsExpression<diesel::sql_types::Numeric>`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-4032380206958502183.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BigDecimal: AppearsOnTable<NoFromClause>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:40:22
[INFO] [stdout]      |
[INFO] [stdout]   40 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ the trait `AppearsOnTable<NoFromClause>` is not implemented for `BigDecimal`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `AppearsOnTable<QS>`:
[INFO] [stdout]                `&'a T` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
[INFO] [stdout]                `(T, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
[INFO] [stdout]              and 143 others
[INFO] [stdout]      = note: required for `&BigDecimal` to implement `AppearsOnTable<NoFromClause>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<order_items::columns::price, &BigDecimal>>` to implement `InsertValues<_, order_items::table>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `(DefaultableColumnInsertValue<...>, ..., ..., ...)` to implement `InsertValues<_, order_items::table>`
[INFO] [stdout]      = note: required for `ValuesClause<(DefaultableColumnInsertValue<...>, ..., ..., ...), ...>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: 1 redundant requirement hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `QueryFragment<_>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `ExecuteDsl<_, _>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16268399492273537052.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Mysql as SqlDialect>::InsertWithDefaultKeyword == NotSpecialized`
[INFO] [stdout]     --> src/models/order_item.rs:40:22
[INFO] [stdout]      |
[INFO] [stdout]   40 |             .execute(conn)?;
[INFO] [stdout]      |              ------- ^^^^ expected `NotSpecialized`, found `IsoSqlDefaultKeyword`
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<order_items::columns::price, &BigDecimal>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `DefaultableColumnInsertValue<ColumnInsertValue<order_items::columns::price, &BigDecimal>>` to implement `InsertValues<Mysql, order_items::table>`
[INFO] [stdout]      = note: 3 redundant requirements hidden
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `QueryFragment<Mysql>`
[INFO] [stdout]      = note: required for `InsertStatement<table, ValuesClause<(..., ..., ..., ...), ...>>` to implement `ExecuteDsl<diesel::MysqlConnection, Mysql>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::execute`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1481:15
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     fn execute(self, conn: &mut Conn) -> QueryResult<usize>
[INFO] [stdout]      |        ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1481 |         Self: methods::ExecuteDsl<Conn>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::execute`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14773800407641899658.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:44:33
[INFO] [stdout]      |
[INFO] [stdout]   44 |             .first::<OrderItem>(conn)
[INFO] [stdout]      |              -----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<OrderItem, _>` is not implemented for `(Integer, Integer, Integer, Integer, Numeric, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `OrderItem` and in your query `.select(OrderItem::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16831005912072033448.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderItem: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:44:33
[INFO] [stdout]      |
[INFO] [stdout]   44 |             .first::<OrderItem>(conn)
[INFO] [stdout]      |              -----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `OrderItem`
[INFO] [stdout]     --> src/models/order_item.rs:10:1
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct OrderItem {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-11127940803123465246.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:50:32
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<OrderItem>(conn)
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<OrderItem, _>` is not implemented for `(Integer, Integer, Integer, Integer, Numeric, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `OrderItem` and in your query `.select(OrderItem::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16831005912072033448.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderItem: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:50:32
[INFO] [stdout]      |
[INFO] [stdout]   50 |             .load::<OrderItem>(conn)
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `OrderItem`
[INFO] [stdout]     --> src/models/order_item.rs:10:1
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct OrderItem {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-15688640271390150817.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Integer, Integer, ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:56:32
[INFO] [stdout]      |
[INFO] [stdout]   56 |             .load::<OrderItem>(conn)?;
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<OrderItem, _>` is not implemented for `(Integer, Integer, Integer, Integer, Numeric, Timestamp, Timestamp)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `OrderItem` and in your query `.select(OrderItem::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-16831005912072033448.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OrderItem: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:56:32
[INFO] [stdout]      |
[INFO] [stdout]   56 |             .load::<OrderItem>(conn)?;
[INFO] [stdout]      |              ----              ^^^^ unsatisfied trait bound
[INFO] [stdout]      |              |
[INFO] [stdout]      |              required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `OrderItem`
[INFO] [stdout]     --> src/models/order_item.rs:10:1
[INFO] [stdout]      |
[INFO] [stdout]   10 | pub struct OrderItem {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, DefaultSelectClause<...>, ..., ...>` to implement `LoadQuery<'_, _, OrderItem>`
[INFO] [stdout] note: required by a bound in `diesel::RunQueryDsl::load`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1592:15
[INFO] [stdout]      |
[INFO] [stdout] 1590 |     fn load<'query, U>(self, conn: &mut Conn) -> QueryResult<Vec<U>>
[INFO] [stdout]      |        ---- required by a bound in this associated function
[INFO] [stdout] 1591 |     where
[INFO] [stdout] 1592 |         Self: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::load`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-15688640271390150817.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(..., ..., ..., ..., ..., ..., ..., ..., ...): CompatibleType<..., _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:60:106
[INFO] [stdout]      |
[INFO] [stdout]   60 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `load_dsl::private::CompatibleType<product::Product, _>` is not implemented for `(Integer, Integer, Text, Nullable<Text>, Numeric, ..., ..., ..., ...)`
[INFO] [stdout]      = note: this is a mismatch between what your query returns and what your type expects the query to return
[INFO] [stdout]      = note: the fields in your struct need to match the fields returned by your query in count, order and type
[INFO] [stdout]      = note: consider using `#[diesel(check_for_backend(_))]` on either `#[derive(Selectable)]` or `#[derive(QueryableByName)]` 
[INFO] [stdout]              on your struct `product::Product` and in your query `.select(product::Product::as_select())` to get a better error message
[INFO] [stdout]      = help: the following other types implement trait `load_dsl::private::CompatibleType<U, DB>`:
[INFO] [stdout]                `Untyped` implements `load_dsl::private::CompatibleType<U, DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]                `diesel::sql_types::Nullable<(ST, ST1, ST2, ST3, ST4, ST5, ST6, ST7)>` implements `load_dsl::private::CompatibleType<std::option::Option<__T>, __DB>`
[INFO] [stdout]              and 26 others
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-14269157012185131085.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `product::Product: FromSqlRow<_, _>` is not satisfied
[INFO] [stdout]     --> src/models/order_item.rs:60:106
[INFO] [stdout]      |
[INFO] [stdout]   60 |             let product = products::table.find(item.product_id).first::<crate::models::product::Product>(conn)?;
[INFO] [stdout]      |                                                                 -----                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromSqlRow<_, _>` is not implemented for `product::Product`
[INFO] [stdout]     --> src/models/product.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | pub struct Product {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: double check your type mappings via the documentation of `_`
[INFO] [stdout]      = note: `diesel::sql_query` requires the loading target to column names for loading values.
[INFO] [stdout]              You need to provide a type that explicitly derives `diesel::deserialize::QueryableByName`
[INFO] [stdout]      = note: required for `SelectStatement<FromClause<table>, ..., ..., ..., ..., ...>` to implement `LoadQuery<'_, _, product::Product>`
[INFO] [stdout] note: required by a bound in `first`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.3.3/src/query_dsl/mod.rs:1833:22
[INFO] [stdout]      |
[INFO] [stdout] 1830 |     fn first<'query, U>(self, conn: &mut Conn) -> QueryResult<U>
[INFO] [stdout]      |        ----- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 1833 |         Limit<Self>: LoadQuery<'query, Conn, U>,
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RunQueryDsl::first`
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/shopping-e2ff1544afec2f0d.long-type-2088217814058103259.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/middleware/auth.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 let db_outcome = req.guard::<Db>().await;
[INFO] [stdout]    |                                      ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/middleware/auth.rs:34:34
[INFO] [stdout]     |
[INFO] [stdout]  34 |                 let db_outcome = req.guard::<Db>().await;
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `Outcome`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket-0.5.1/src/outcome.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum Outcome<S, E, F> {
[INFO] [stdout]     |                  ^ required by the implicit `Sized` requirement on this type parameter in `Outcome`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/middleware/auth.rs:34:52
[INFO] [stdout]     |
[INFO] [stdout]  34 |                 let db_outcome = req.guard::<Db>().await;
[INFO] [stdout]     |                                                    ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `Outcome`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket-0.5.1/src/outcome.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum Outcome<S, E, F> {
[INFO] [stdout]     |                  ^ required by the implicit `Sized` requirement on this type parameter in `Outcome`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied in `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> src/middleware/auth.rs:36:38
[INFO] [stdout]     |
[INFO] [stdout]  36 |                     Outcome::Success(mut conn) => {
[INFO] [stdout]     |                                      ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `rocket_db_pools::Connection<DbConn>`, the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] note: required because it appears within the type `rocket_db_pools::Connection<DbConn>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rocket_db_pools-0.1.0/src/database.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Connection<D: Database>(<D::Pool as Pool>::Connection);
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ConnectionManager<diesel::MysqlConnection>: rocket_db_pools::Pool` is not satisfied
[INFO] [stdout]   --> src/middleware/auth.rs:37:74
[INFO] [stdout]    |
[INFO] [stdout] 37 |                         match crate::models::user::User::find_by_id(&mut *conn, user_id) {
[INFO] [stdout]    |                                                                          ^^^^^ the trait `rocket_db_pools::Pool` is not implemented for `ConnectionManager<diesel::MysqlConnection>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/middleware/auth.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/controllers/auth_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/controllers/cart_controller.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308, E0412, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shopping` (lib test) due to 182 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0308, E0412, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shopping` (lib) due to 182 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d77945ae31b184e36dd60367bd16ee9191019708fb5f1d21ae8bd3e66cbd4cd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d77945ae31b184e36dd60367bd16ee9191019708fb5f1d21ae8bd3e66cbd4cd3", kill_on_drop: false }`
[INFO] [stdout] d77945ae31b184e36dd60367bd16ee9191019708fb5f1d21ae8bd3e66cbd4cd3
