[INFO] cloning repository https://github.com/BrianLusina/product-store
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BrianLusina/product-store" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrianLusina%2Fproduct-store", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrianLusina%2Fproduct-store'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 69dfdc1385f245f7737d7786f0fc106ca77da5ef
[INFO] building BrianLusina/product-store against try#334963c956d25708feab489a3816ae63f639355d for pr-135216
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrianLusina%2Fproduct-store" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/BrianLusina/product-store on toolchain 334963c956d25708feab489a3816ae63f639355d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+334963c956d25708feab489a3816ae63f639355d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/BrianLusina/product-store
[INFO] finished tweaking git repo https://github.com/BrianLusina/product-store
[INFO] tweaked toml for git repo https://github.com/BrianLusina/product-store written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/BrianLusina/product-store 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" "+334963c956d25708feab489a3816ae63f639355d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+334963c956d25708feab489a3816ae63f639355d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1b653ab58f88308607986a0bb94a303da779ee9ebf092ecff51ef255a01dd8d3
[INFO] running `Command { std: "docker" "start" "-a" "1b653ab58f88308607986a0bb94a303da779ee9ebf092ecff51ef255a01dd8d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b653ab58f88308607986a0bb94a303da779ee9ebf092ecff51ef255a01dd8d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b653ab58f88308607986a0bb94a303da779ee9ebf092ecff51ef255a01dd8d3", kill_on_drop: false }`
[INFO] [stdout] 1b653ab58f88308607986a0bb94a303da779ee9ebf092ecff51ef255a01dd8d3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+334963c956d25708feab489a3816ae63f639355d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23defe3dac692ca2789b77b508a7e704d64a604bec4ea5b684a1bb02ab4f53e8
[INFO] running `Command { std: "docker" "start" "-a" "23defe3dac692ca2789b77b508a7e704d64a604bec4ea5b684a1bb02ab4f53e8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.164
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling bytes v1.8.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling litemap v0.7.3
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling local-waker v0.1.4
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling adler2 v2.0.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling hashbrown v0.15.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling actix-service v2.0.2
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cc v1.2.1
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling bytestring v1.3.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.0
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling tokio v1.41.1
[INFO] [stderr]    Compiling brotli-decompressor v4.0.1
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling pq-sys v0.6.3
[INFO] [stderr]    Compiling cpufeatures v0.2.15
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling local-channel v0.1.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling brotli v6.0.0
[INFO] [stderr]    Compiling impl-more v0.1.8
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.4
[INFO] [stderr]    Compiling yoke-derive v0.7.4
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling actix-rt v2.10.0
[INFO] [stderr]    Compiling actix-server v2.5.0
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling zerofrom v0.1.4
[INFO] [stderr]    Compiling zstd v0.13.2
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling yoke v0.7.4
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling dsl_auto_type v0.1.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling diesel_derives v2.2.3
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling actix-http v3.9.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling diesel v2.2.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.3
[INFO] [stderr]    Compiling actix-web v4.9.0
[INFO] [stderr]    Compiling product_store v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: No field with column name products_id
[INFO] [stdout]   --> src/datastore/models/variant_models.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[diesel(belongs_to(products))]
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `products`
[INFO] [stdout]  --> src/datastore/models/variant_models.rs:2:47
[INFO] [stdout]   |
[INFO] [stdout] 2 |     product_variants as ProductVariantsTable, products, variants as VariantsTable,
[INFO] [stdout]   |                                               ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::row::NamedRow`
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use diesel::row::NamedRow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `allocator_api`
[INFO] [stdout]   --> src/core/ports/database/product_database.rs:19:93
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_product_with_variants(&self, id: u32) -> AnyResult<(Product, Vec<ProductVariant, Variant>)>;
[INFO] [stdout]    |                                                                             ----------------^^^^^^^
[INFO] [stdout]    |                                                                             |
[INFO] [stdout]    |                                                                             help: consider wrapping the inner types in tuple: `(ProductVariant, Variant)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #32838 <https://github.com/rust-lang/rust/issues/32838> for more information
[INFO] [stdout]    = help: add `#![feature(allocator_api)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2025-01-07; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `allocator_api`
[INFO] [stdout]   --> src/core/ports/database/product_database.rs:28:54
[INFO] [stdout]    |
[INFO] [stdout] 28 |     ) -> AnyResult<Vec<(Product, Vec<ProductVariant, Variant>)>>;
[INFO] [stdout]    |                                      ----------------^^^^^^^
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      help: consider wrapping the inner types in tuple: `(ProductVariant, Variant)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #32838 <https://github.com/rust-lang/rust/issues/32838> for more information
[INFO] [stdout]    = help: add `#![feature(allocator_api)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2025-01-07; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `allocator_api`
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:58:105
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn fetch_product_with_variants(&self, id: i32) -> AnyResult<(ProductModel, Vec<ProductVariantModel, VariantModel>)> {
[INFO] [stdout]    |                                                                                    ---------------------^^^^^^^^^^^^
[INFO] [stdout]    |                                                                                    |
[INFO] [stdout]    |                                                                                    help: consider wrapping the inner types in tuple: `(ProductVariantModel, VariantModel)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #32838 <https://github.com/rust-lang/rust/issues/32838> for more information
[INFO] [stdout]    = help: add `#![feature(allocator_api)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2025-01-07; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `allocator_api`
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:138:93
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_product_with_variants(&self, id: u32) -> AnyResult<(Product, Vec<ProductVariant, Variant>)> {
[INFO] [stdout]     |                                                                             ----------------^^^^^^^
[INFO] [stdout]     |                                                                             |
[INFO] [stdout]     |                                                                             help: consider wrapping the inner types in tuple: `(ProductVariant, Variant)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #32838 <https://github.com/rust-lang/rust/issues/32838> for more information
[INFO] [stdout]     = help: add `#![feature(allocator_api)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2025-01-07; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable library feature `allocator_api`
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:173:54
[INFO] [stdout]     |
[INFO] [stdout] 173 |     ) -> AnyResult<Vec<(Product, Vec<ProductVariant, Variant>)>> {
[INFO] [stdout]     |                                      ----------------^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      help: consider wrapping the inner types in tuple: `(ProductVariant, Variant)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #32838 <https://github.com/rust-lang/rust/issues/32838> for more information
[INFO] [stdout]     = help: add `#![feature(allocator_api)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2025-01-07; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]   --> src/core/ports/database/product_database.rs:19:73
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_product_with_variants(&self, id: u32) -> AnyResult<(Product, Vec<ProductVariant, Variant>)>;
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Allocator`:
[INFO] [stdout]              &A
[INFO] [stdout]              System
[INFO] [stdout]              std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]   --> src/core/ports/database/product_database.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |     ) -> AnyResult<Vec<(Product, Vec<ProductVariant, Variant>)>>;
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Allocator`:
[INFO] [stdout]              &A
[INFO] [stdout]              System
[INFO] [stdout]              std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:58:80
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn fetch_product_with_variants(&self, id: i32) -> AnyResult<(ProductModel, Vec<ProductVariantModel, VariantModel>)> {
[INFO] [stdout]    |                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Allocator`:
[INFO] [stdout]              &A
[INFO] [stdout]              System
[INFO] [stdout]              std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:138:73
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_product_with_variants(&self, id: u32) -> AnyResult<(Product, Vec<ProductVariant, Variant>)> {
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:173:34
[INFO] [stdout]     |
[INFO] [stdout] 173 |     ) -> AnyResult<Vec<(Product, Vec<ProductVariant, Variant>)>> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let existing_product = products.find(id).get_result::<ProductModel>(self.connection)?;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Allocator`:
[INFO] [stdout]              &A
[INFO] [stdout]              System
[INFO] [stdout]              std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `belonging_to` found for struct `ProductVariantModel` in the current scope
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:61:52
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let variants_result = ProductVariantModel::belonging_to(&existing_product)
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^ function or associated item not found in `ProductVariantModel`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/datastore/models/variant_models.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ProductVariantModel {
[INFO] [stdout]    | ------------------------------ function or associated item `belonging_to` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `belonging_to`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `BelongingToDsl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |           let variants_result = ProductVariantModel::belonging_to(&existing_product)
[INFO] [stdout]    |  _______________________________^
[INFO] [stdout] 62 | |             .inner_join(variants)
[INFO] [stdout] 63 | |             .load::<(ProductVariant, Variant)>(self.connection)?;
[INFO] [stdout]    | |________________________________________________________________^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Allocator`:
[INFO] [stdout]              &A
[INFO] [stdout]              System
[INFO] [stdout]              std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Ok((existing_product, variants_result))
[INFO] [stdout]    |         ^^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Allocator`:
[INFO] [stdout]              &A
[INFO] [stdout]              System
[INFO] [stdout]              std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         Ok((existing_product, variants_result))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Allocator`:
[INFO] [stdout]              &A
[INFO] [stdout]              System
[INFO] [stdout]              std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&std::string::String: FromStr` is not satisfied
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |             name: (&product.name()).parse().unwrap(),
[INFO] [stdout]    |                                     ^^^^^ the trait `FromStr` is not implemented for `&std::string::String`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromStr` is implemented for `std::string::String`
[INFO] [stdout] note: required by a bound in `core::str::<impl str>::parse`
[INFO] [stdout]   --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/core/src/str/mod.rs:2430:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |         self.connection.transaction(|| {
[INFO] [stdout]    |                         ^^^^^^^^^^^ -- takes 0 arguments
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         expected closure that takes 1 argument
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the closure to take and ignore the expected argument
[INFO] [stdout]    |
[INFO] [stdout] 93 |         self.connection.transaction(|_| {
[INFO] [stdout]    |                                     ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&product::Product: Insertable<products::table>` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:95:25
[INFO] [stdout]     |
[INFO] [stdout] 95  |                 .values(complete_product.product())
[INFO] [stdout]     |                  ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Insertable<products::table>` is not implemented for `&product::Product`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Insertable<T>`:
[INFO] [stdout]               `&'a (T0, T1)` implements `Insertable<Tab>`
[INFO] [stdout]               `&'a (T0, T1, T2)` implements `Insertable<Tab>`
[INFO] [stdout]               `&'a (T0, T1, T2, T3)` implements `Insertable<Tab>`
[INFO] [stdout]               `&'a (T0, T1, T2, T3, T4)` implements `Insertable<Tab>`
[INFO] [stdout]               `&'a (T0, T1, T2, T3, T4, T5)` implements `Insertable<Tab>`
[INFO] [stdout]               `&'a (T0, T1, T2, T3, T4, T5, T6)` implements `Insertable<Tab>`
[INFO] [stdout]               `&'a (T0, T1, T2, T3, T4, T5, T6, T7)` implements `Insertable<Tab>`
[INFO] [stdout]               `&'a (T0, T1, T2, T3, T4, T5, T6, T7, T8)` implements `Insertable<Tab>`
[INFO] [stdout]             and 124 others
[INFO] [stdout] note: required by a bound in `IncompleteInsertStatement::<T, Op>::values`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.2.4/src/query_builder/insert_statement/mod.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn values<U>(self, records: U) -> InsertStatement<T, U::Values, Op>
[INFO] [stdout]     |            ------ required by a bound in this associated function
[INFO] [stdout] 114 |     where
[INFO] [stdout] 115 |         U: Insertable<T>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^ required by this bound in `IncompleteInsertStatement::<T, Op>::values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `variants::columns::name` is not an iterator
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:101:42
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     .filter(variant_name.eq(&new_variant.variant().name()))
[INFO] [stdout]     |                                          ^^ `variants::columns::name` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/datastore/models/schema.rs:24:9
[INFO] [stdout]     |
[INFO] [stdout] 24  |         name -> Varchar,
[INFO] [stdout]     |         ---- method `eq` not found for this struct because it doesn't satisfy `variants::columns::name: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `variants::columns::name: Iterator`
[INFO] [stdout]             which is required by `&mut variants::columns::name: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/core/src/iter/traits/iterator.rs:39:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ExpressionMethods` which provides `eq` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use diesel::ExpressionMethods;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `variants::columns::name` is not an iterator
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:109:50
[INFO] [stdout]     |
[INFO] [stdout] 109 | ...                   .values(variant_name.eq(&new_variant.variant().name()))
[INFO] [stdout]     |                                            ^^ `variants::columns::name` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/datastore/models/schema.rs:24:9
[INFO] [stdout]     |
[INFO] [stdout] 24  |         name -> Varchar,
[INFO] [stdout]     |         ---- method `eq` not found for this struct because it doesn't satisfy `variants::columns::name: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `variants::columns::name: Iterator`
[INFO] [stdout]             which is required by `&mut variants::columns::name: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/core/src/iter/traits/iterator.rs:39:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ExpressionMethods` which provides `eq` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use diesel::ExpressionMethods;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `product_variants::columns::product_id` is not an iterator
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:118:56
[INFO] [stdout]     |
[INFO] [stdout] 118 | ...                   product_variant_product_id.eq(created_product.id),
[INFO] [stdout]     |                                                  ^^ `product_variants::columns::product_id` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/datastore/models/schema.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout] 7   |         product_id -> Int4,
[INFO] [stdout]     |         ---------- method `eq` not found for this struct because it doesn't satisfy `product_variants::columns::product_id: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `product_variants::columns::product_id: Iterator`
[INFO] [stdout]             which is required by `&mut product_variants::columns::product_id: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/core/src/iter/traits/iterator.rs:39:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ExpressionMethods` which provides `eq` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use diesel::ExpressionMethods;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `product_variants::columns::variant_id` is not an iterator
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:119:56
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...                   product_variant_variant_id.eq(last_variant.id),
[INFO] [stdout]     |                                                  ^^ `product_variants::columns::variant_id` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/datastore/models/schema.rs:6:9
[INFO] [stdout]     |
[INFO] [stdout] 6   |         variant_id -> Int4,
[INFO] [stdout]     |         ---------- method `eq` not found for this struct because it doesn't satisfy `product_variants::columns::variant_id: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `product_variants::columns::variant_id: Iterator`
[INFO] [stdout]             which is required by `&mut product_variants::columns::variant_id: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/core/src/iter/traits/iterator.rs:39:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ExpressionMethods` which provides `eq` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use diesel::ExpressionMethods;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `id` on type `()`
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:119:72
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...                   product_variant_variant_id.eq(last_variant.id),
[INFO] [stdout]     |                                                                  ^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `product_variants::columns::value` is not an iterator
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:120:51
[INFO] [stdout]     |
[INFO] [stdout] 120 | ...                   product_variant_value.eq(new_value),
[INFO] [stdout]     |                                             ^^ `product_variants::columns::value` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/datastore/models/schema.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout] 8   |         value -> Nullable<Varchar>,
[INFO] [stdout]     |         ----- method `eq` not found for this struct because it doesn't satisfy `product_variants::columns::value: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `product_variants::columns::value: Iterator`
[INFO] [stdout]             which is required by `&mut product_variants::columns::value: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/core/src/iter/traits/iterator.rs:39:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ExpressionMethods` which provides `eq` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use diesel::ExpressionMethods;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:139:51
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let existing_product_with_variants = self.fetch_product_with_variants(id as i32).unwrap_or_else(|error| {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:139:46
[INFO] [stdout]     |
[INFO] [stdout] 139 |           let existing_product_with_variants = self.fetch_product_with_variants(id as i32).unwrap_or_else(|error| {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 140 | |             panic!("Error loading product with variants: {:?}", error);
[INFO] [stdout] 141 | |         });
[INFO] [stdout]     | |__________^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VariantModel: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |         for (p, v) in existing_product_variants {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Allocator` is not implemented for `VariantModel`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Vec<ProductVariantModel, VariantModel>` is not an iterator
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:149:23
[INFO] [stdout]     |
[INFO] [stdout] 149 |         for (p, v) in existing_product_variants {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^ `Vec<ProductVariantModel, VariantModel>` is not an iterator; try calling `.into_iter()` or `.iter()`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `IntoIterator` is not implemented for `Vec<ProductVariantModel, VariantModel>`
[INFO] [stdout]     = help: the following other types implement trait `IntoIterator`:
[INFO] [stdout]               &Vec<T, A>
[INFO] [stdout]               &mut Vec<T, A>
[INFO] [stdout]               Vec<T, A>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this enum variant takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         Ok(product, variants_result)
[INFO] [stdout]     |         ^^          --------------- unexpected argument #2 of type `Vec<(ProductVariant, Variant)>`
[INFO] [stdout]     |
[INFO] [stdout] note: expected `(Product, Vec<ProductVariant, ...>)`, found `Product`
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 |         Ok(product, variants_result)
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     = note: expected tuple `(product::Product, Vec<ProductVariant, Variant>)`
[INFO] [stdout]               found struct `product::Product`
[INFO] [stdout] help: the type constructed contains `product::Product` due to the type of the argument passed
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         Ok(product, variants_result)
[INFO] [stdout]     |         ^^^-------^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            this argument influences the type of `Ok`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/core/src/result.rs:532:5
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 153 -         Ok(product, variants_result)
[INFO] [stdout] 153 +         Ok(/* (product::Product, Vec<ProductVariant, Variant>) */)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         Ok(product, variants_result)
[INFO] [stdout]     |         ^^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `belonging_to` found for struct `ProductVariantModel` in the current scope
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:175:52
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let variants_result = ProductVariantModel::belonging_to(&product_records)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^ function or associated item not found in `ProductVariantModel`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/datastore/models/variant_models.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub struct ProductVariantModel {
[INFO] [stdout]     | ------------------------------ function or associated item `belonging_to` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `belonging_to`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `BelongingToDsl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |           let variants_result = ProductVariantModel::belonging_to(&product_records)
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 176 | |             .inner_join(variants)
[INFO] [stdout] 177 | |             .load::<(ProductVariantModel, VariantModel)>(self.connection)?
[INFO] [stdout]     | |__________________________________________________________________________^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         Ok(data)
[INFO] [stdout]     |         ^^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Variant: Allocator` is not satisfied
[INFO] [stdout]    --> src/datastore/repositories/product_repository.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         Ok(data)
[INFO] [stdout]     |         ^^^^^^^^ the trait `Allocator` is not implemented for `Variant`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               System
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `Vec`
[INFO] [stdout]    --> /rustc/334963c956d25708feab489a3816ae63f639355d/library/alloc/src/vec/mod.rs:397:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self.connection` as mutable, as it is behind a `&` reference
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |             .get_result(self.connection)
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn insert(&mut self, product: NewProductModel) -> Result<ProductModel, DieselError> {
[INFO] [stdout]    |               ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self.connection` as mutable, as it is behind a `&` reference
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 46 |             .load::<ProductModel>(self.connection)
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn fetch_products(&mut self, params: ListQueryParams) -> Vec<ProductModel> {
[INFO] [stdout]    |                       ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self.connection` as mutable, as it is behind a `&` reference
[INFO] [stdout]   --> src/datastore/repositories/product_repository.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |             .first(self.connection)
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn fetch_product_by_id(&mut self, id: i32) -> Result<ProductModel, DieselError> {
[INFO] [stdout]    |                            ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0593, E0596, E0599, E0609, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `product_store` (bin "product_store") due to 38 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "23defe3dac692ca2789b77b508a7e704d64a604bec4ea5b684a1bb02ab4f53e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23defe3dac692ca2789b77b508a7e704d64a604bec4ea5b684a1bb02ab4f53e8", kill_on_drop: false }`
[INFO] [stdout] 23defe3dac692ca2789b77b508a7e704d64a604bec4ea5b684a1bb02ab4f53e8
