[INFO] cloning repository https://github.com/faizan689/Blockchain-Real-Estate-ICP
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/faizan689/Blockchain-Real-Estate-ICP" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaizan689%2FBlockchain-Real-Estate-ICP", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaizan689%2FBlockchain-Real-Estate-ICP'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dbe03586a60dc1caa78c37cdf4a16469fc8cb12a
[INFO] checking faizan689/Blockchain-Real-Estate-ICP against try#0c70cfbec949d241375e31c5a42066be70c720fc for pr-149681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaizan689%2FBlockchain-Real-Estate-ICP" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  45% (12454/27351)
Updating files:  46% (12582/27351)
Updating files:  47% (12855/27351)
Updating files:  48% (13129/27351)
Updating files:  49% (13402/27351)
Updating files:  50% (13676/27351)
Updating files:  51% (13950/27351)
Updating files:  52% (14223/27351)
Updating files:  53% (14497/27351)
Updating files:  54% (14770/27351)
Updating files:  55% (15044/27351)
Updating files:  56% (15317/27351)
Updating files:  57% (15591/27351)
Updating files:  58% (15864/27351)
Updating files:  59% (16138/27351)
Updating files:  60% (16411/27351)
Updating files:  61% (16685/27351)
Updating files:  62% (16958/27351)
Updating files:  63% (17232/27351)
Updating files:  64% (17505/27351)
Updating files:  65% (17779/27351)
Updating files:  66% (18052/27351)
Updating files:  67% (18326/27351)
Updating files:  68% (18599/27351)
Updating files:  69% (18873/27351)
Updating files:  70% (19146/27351)
Updating files:  71% (19420/27351)
Updating files:  72% (19693/27351)
Updating files:  73% (19967/27351)
Updating files:  74% (20240/27351)
Updating files:  75% (20514/27351)
Updating files:  76% (20787/27351)
Updating files:  77% (21061/27351)
Updating files:  78% (21334/27351)
Updating files:  79% (21608/27351)
Updating files:  80% (21881/27351)
Updating files:  81% (22155/27351)
Updating files:  82% (22428/27351)
Updating files:  83% (22702/27351)
Updating files:  84% (22975/27351)
Updating files:  85% (23249/27351)
Updating files:  86% (23522/27351)
Updating files:  87% (23796/27351)
Updating files:  88% (24069/27351)
Updating files:  88% (24297/27351)
Updating files:  89% (24343/27351)
Updating files:  90% (24616/27351)
Updating files:  91% (24890/27351)
Updating files:  92% (25163/27351)
Updating files:  93% (25437/27351)
Updating files:  94% (25710/27351)
Updating files:  95% (25984/27351)
Updating files:  96% (26257/27351)
Updating files:  97% (26531/27351)
Updating files:  98% (26804/27351)
Updating files:  99% (27078/27351)
Updating files: 100% (27351/27351)
Updating files: 100% (27351/27351), done.
[INFO] started tweaking git repo https://github.com/faizan689/Blockchain-Real-Estate-ICP
[INFO] finished tweaking git repo https://github.com/faizan689/Blockchain-Real-Estate-ICP
[INFO] tweaked toml for git repo https://github.com/faizan689/Blockchain-Real-Estate-ICP written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/faizan689/Blockchain-Real-Estate-ICP on toolchain 0c70cfbec949d241375e31c5a42066be70c720fc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0c70cfbec949d241375e31c5a42066be70c720fc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/faizan689/Blockchain-Real-Estate-ICP 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" "+0c70cfbec949d241375e31c5a42066be70c720fc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ic-cdk-macros v0.13.2
[INFO] [stderr]   Downloaded ic-cdk-macros v0.9.0
[INFO] [stderr]   Downloaded ic-cdk v0.13.6
[INFO] [stderr]   Downloaded ic-stable-structures v0.6.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0c70cfbec949d241375e31c5a42066be70c720fc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 610ae6c65616818a67e023955a2eb1043dc372f2f8f8e26a43a020813cd6a5bf
[INFO] running `Command { std: "docker" "start" "-a" "610ae6c65616818a67e023955a2eb1043dc372f2f8f8e26a43a020813cd6a5bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "610ae6c65616818a67e023955a2eb1043dc372f2f8f8e26a43a020813cd6a5bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "610ae6c65616818a67e023955a2eb1043dc372f2f8f8e26a43a020813cd6a5bf", kill_on_drop: false }`
[INFO] [stdout] 610ae6c65616818a67e023955a2eb1043dc372f2f8f8e26a43a020813cd6a5bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0c70cfbec949d241375e31c5a42066be70c720fc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 39c6d8f99f88f7126eb0cbcb297c8cca23e3ff954632c7a330ed466461c47a18
[INFO] running `Command { std: "docker" "start" "-a" "39c6d8f99f88f7126eb0cbcb297c8cca23e3ff954632c7a330ed466461c47a18", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling psm v0.1.26
[INFO] [stderr]    Compiling stacker v0.1.21
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling candid_derive v0.6.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling binread_derive v2.1.0
[INFO] [stderr]    Compiling binread v2.2.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking ic_principal v0.1.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking serde_bytes v0.11.17
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking ic-stable-structures v0.6.9
[INFO] [stderr]    Compiling serde_tokenstream v0.1.7
[INFO] [stderr]     Checking candid v0.10.14
[INFO] [stderr]    Compiling ic-cdk-macros v0.13.2
[INFO] [stderr]    Compiling ic-cdk-macros v0.9.0
[INFO] [stderr]     Checking ic-cdk v0.13.6
[INFO] [stderr]     Checking user_canister v0.1.0 (/opt/rustwide/workdir/src/user_canister)
[INFO] [stderr]     Checking investment_canister v0.1.0 (/opt/rustwide/workdir/src/investment_canister)
[INFO] [stderr]     Checking governance_canister v0.1.0 (/opt/rustwide/workdir/src/governance_canister)
[INFO] [stderr]     Checking property_canister v0.1.0 (/opt/rustwide/workdir/src/property_canister)
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:34
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                                  ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:40
[INFO] [stdout]     |
[INFO] [stdout]  63 |     static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:41
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:34
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                                  ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:38
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:34
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                                  ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:38
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:34
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                                  ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:26
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:51:9
[INFO] [stdout]     |
[INFO] [stdout]  51 |         UserStore::init(
[INFO] [stdout]     |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:26
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | / thread_local! {
[INFO] [stdout]  46 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  47 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  48 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     );
[INFO] [stdout]  55 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:32
[INFO] [stdout]     |
[INFO] [stdout]  63 |     static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:51:9
[INFO] [stdout]     |
[INFO] [stdout]  51 |         UserStore::init(
[INFO] [stdout]     |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<candid::Principal, User, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 51 |         UserStore::init(
[INFO] [stdout]    |                    ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:64:9
[INFO] [stdout]     |
[INFO] [stdout]  64 |         InvestmentStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:47
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:47
[INFO] [stdout]     |
[INFO] [stdout]  50 |       static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |  _______________________________________________^
[INFO] [stdout]  51 | |         UserStore::init(
[INFO] [stdout]  52 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(0)))
[INFO] [stdout]  53 | |         )
[INFO] [stdout]  54 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:40
[INFO] [stdout]     |
[INFO] [stdout]  63 |     static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:67:25
[INFO] [stdout]     |
[INFO] [stdout]  67 |       let existing_user = USER_STORAGE.with(|storage| {
[INFO] [stdout]     |  _________________________^
[INFO] [stdout]  68 | |         storage.borrow().get(&caller)
[INFO] [stdout]  69 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:67:44
[INFO] [stdout]     |
[INFO] [stdout]  67 |     let existing_user = USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:41
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 68 |         storage.borrow().get(&caller)
[INFO] [stdout]    |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-11761880339021439171.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<candid::Principal, User, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 51 |         UserStore::init(
[INFO] [stdout]    |                    ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:87:5
[INFO] [stdout]     |
[INFO] [stdout]  87 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout]  88 | |         storage.borrow_mut().insert(caller, user.clone());
[INFO] [stdout]  89 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:47
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:87:24
[INFO] [stdout]     |
[INFO] [stdout]  87 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:50:47
[INFO] [stdout]     |
[INFO] [stdout]  50 |       static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |  _______________________________________________^
[INFO] [stdout]  51 | |         UserStore::init(
[INFO] [stdout]  52 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(0)))
[INFO] [stdout]  53 | |         )
[INFO] [stdout]  54 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/investment_canister/src/lib.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Investment {
[INFO] [stdout]    | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 64 |         InvestmentStore::init(
[INFO] [stdout]    |                          ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:59
[INFO] [stdout]     |
[INFO] [stdout]  63 |     static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |                                                           ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:67:25
[INFO] [stdout]     |
[INFO] [stdout]  67 |       let existing_user = USER_STORAGE.with(|storage| {
[INFO] [stdout]     |  _________________________^
[INFO] [stdout]  68 | |         storage.borrow().get(&caller)
[INFO] [stdout]  69 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:59
[INFO] [stdout]     |
[INFO] [stdout]  63 |       static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |  ___________________________________________________________^
[INFO] [stdout]  64 | |         InvestmentStore::init(
[INFO] [stdout]  65 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(1)))
[INFO] [stdout]  66 | |         )
[INFO] [stdout]  67 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:67:44
[INFO] [stdout]     |
[INFO] [stdout]  67 |     let existing_user = USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:33
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 88 |         storage.borrow_mut().insert(caller, user.clone());
[INFO] [stdout]    |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-12241547447075952901.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 `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:70:9
[INFO] [stdout]     |
[INFO] [stdout]  70 |         TransactionStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 68 |         storage.borrow().get(&caller)
[INFO] [stdout]    |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-17056684941036007994.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 `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout]  97 | |         storage.borrow().get(&user_principal)
[INFO] [stdout]  98 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:96:24
[INFO] [stdout]     |
[INFO] [stdout]  96 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:87:5
[INFO] [stdout]     |
[INFO] [stdout]  87 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout]  88 | |         storage.borrow_mut().insert(caller, user.clone());
[INFO] [stdout]  89 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:87:24
[INFO] [stdout]     |
[INFO] [stdout]  87 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Transaction, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/investment_canister/src/lib.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Transaction {
[INFO] [stdout]    | ---------------------- doesn't satisfy `Transaction: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 70 |         TransactionStore::init(
[INFO] [stdout]    |                           ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Transaction: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:61
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                                             ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 97 |         storage.borrow().get(&user_principal)
[INFO] [stdout]    |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-11761880339021439171.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 `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:61
[INFO] [stdout]     |
[INFO] [stdout]  69 |       static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |  _____________________________________________________________^
[INFO] [stdout]  70 | |         TransactionStore::init(
[INFO] [stdout]  71 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(2)))
[INFO] [stdout]  72 | |         )
[INFO] [stdout]  73 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 110 | |         storage
[INFO] [stdout] 111 | |             .borrow()
[INFO] [stdout] 112 | |             .iter()
[INFO] [stdout] 113 | |             .map(|(_, user)| user)
[INFO] [stdout] 114 | |             .collect()
[INFO] [stdout] 115 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 112 | |         storage.borrow_mut().insert(investment_id, investment.clone());
[INFO] [stdout] 113 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 110 | /         storage
[INFO] [stdout] 111 | |             .borrow()
[INFO] [stdout] 112 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-11761880339021439171.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 `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 121 | |         storage
[INFO] [stdout] 122 | |             .borrow()
[INFO] [stdout] 123 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 126 | |             .collect()
[INFO] [stdout] 127 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 88 |         storage.borrow_mut().insert(caller, user.clone());
[INFO] [stdout]    |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11960039972457032429.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 `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:30
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout]  97 | |         storage.borrow().get(&user_principal)
[INFO] [stdout]  98 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:96:24
[INFO] [stdout]     |
[INFO] [stdout]  96 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 121 | /         storage
[INFO] [stdout] 122 | |             .borrow()
[INFO] [stdout] 123 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-11761880339021439171.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 `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 133 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 134 | |         
[INFO] [stdout] 135 | |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout]  79 |         ProposalStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:112:30
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 112 |         storage.borrow_mut().insert(investment_id, investment.clone());
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/user_canister/src/lib.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct User {
[INFO] [stdout]    | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 97 |         storage.borrow().get(&user_principal)
[INFO] [stdout]    |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-17056684941036007994.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 `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | /     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout] 153 | |         storage.borrow_mut().insert(transaction_id, transaction);
[INFO] [stdout] 154 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 135 |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.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 `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 110 | |         storage
[INFO] [stdout] 111 | |             .borrow()
[INFO] [stdout] 112 | |             .iter()
[INFO] [stdout] 113 | |             .map(|(_, user)| user)
[INFO] [stdout] 114 | |             .collect()
[INFO] [stdout] 115 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:152:31
[INFO] [stdout]     |
[INFO] [stdout] 152 |     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout]     |                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Transaction, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:153:30
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ---------------------- doesn't satisfy `Transaction: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 153 |         storage.borrow_mut().insert(transaction_id, transaction);
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Transaction: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 137 |             storage.insert(req.user_principal, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 110 | /         storage
[INFO] [stdout] 111 | |             .borrow()
[INFO] [stdout] 112 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-17056684941036007994.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 `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 150 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 151 | |         
[INFO] [stdout] 152 | |         if let Some(mut user) = storage.get(&caller) {
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 162 | |         storage
[INFO] [stdout] 163 | |             .borrow()
[INFO] [stdout] 164 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |             .collect()
[INFO] [stdout] 168 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 121 | |         storage
[INFO] [stdout] 122 | |             .borrow()
[INFO] [stdout] 123 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 126 | |             .collect()
[INFO] [stdout] 127 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:161:30
[INFO] [stdout]     |
[INFO] [stdout] 161 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:30
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 152 |         if let Some(mut user) = storage.get(&caller) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 162 | /         storage
[INFO] [stdout] 163 | |             .borrow()
[INFO] [stdout] 164 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/governance_canister/src/lib.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Proposal {
[INFO] [stdout]    | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 79 |         ProposalStore::init(
[INFO] [stdout]    |                        ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 121 | /         storage
[INFO] [stdout] 122 | |             .borrow()
[INFO] [stdout] 123 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-17056684941036007994.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 `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:55
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                                                       ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 174 | |         storage
[INFO] [stdout] 175 | |             .borrow()
[INFO] [stdout] 176 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 179 | |             .collect()
[INFO] [stdout] 180 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 133 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 134 | |         
[INFO] [stdout] 135 | |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:55
[INFO] [stdout]     |
[INFO] [stdout]  78 |       static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |  _______________________________________________________^
[INFO] [stdout]  79 | |         ProposalStore::init(
[INFO] [stdout]  80 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(1)))
[INFO] [stdout]  81 | |         )
[INFO] [stdout]  82 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 155 |             storage.insert(caller, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.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 `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:26
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 174 | /         storage
[INFO] [stdout] 175 | |             .borrow()
[INFO] [stdout] 176 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 166 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 167 | |         
[INFO] [stdout] 168 | |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout] ...   |
[INFO] [stdout] 176 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:79:9
[INFO] [stdout]     |
[INFO] [stdout]  79 |         ProposalStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:165:24
[INFO] [stdout]     |
[INFO] [stdout] 165 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 | /     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout] 186 | |         storage
[INFO] [stdout] 187 | |             .borrow()
[INFO] [stdout] 188 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |             .collect()
[INFO] [stdout] 192 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:185:31
[INFO] [stdout]     |
[INFO] [stdout] 185 |     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout]     |                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 135 |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 168 |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.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 `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout]  85 |         VoteStore::init(
[INFO] [stdout]     |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Transaction, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout]  27 |   pub struct Transaction {
[INFO] [stdout]     |   ---------------------- doesn't satisfy `Transaction: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 186 | /         storage
[INFO] [stdout] 187 | |             .borrow()
[INFO] [stdout] 188 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Transaction: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/governance_canister/src/lib.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Vote {
[INFO] [stdout]    | --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 85 |         VoteStore::init(
[INFO] [stdout]    |                    ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 171 |             storage.insert(req.user_principal, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 137 |             storage.insert(req.user_principal, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.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 `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 219 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 220 | |         
[INFO] [stdout] 221 | |         if let Some(mut investment) = storage.get(&investment_id) {
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 182 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 183 | |         
[INFO] [stdout] 184 | |         if let Some(mut user) = storage.get(&user_principal) {
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:47
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:218:30
[INFO] [stdout]     |
[INFO] [stdout] 218 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:181:24
[INFO] [stdout]     |
[INFO] [stdout] 181 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:47
[INFO] [stdout]     |
[INFO] [stdout]  84 |       static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |  _______________________________________________^
[INFO] [stdout]  85 | |         VoteStore::init(
[INFO] [stdout]  86 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(2)))
[INFO] [stdout]  87 | |         )
[INFO] [stdout]  88 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 150 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 151 | |         
[INFO] [stdout] 152 | |         if let Some(mut user) = storage.get(&caller) {
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:221:47
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 221 |         if let Some(mut investment) = storage.get(&investment_id) {
[INFO] [stdout]     |                                               ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 184 |         if let Some(mut user) = storage.get(&user_principal) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/governance_canister/src/lib.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Proposal {
[INFO] [stdout]    | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 79 |         ProposalStore::init(
[INFO] [stdout]    |                        ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 134 | |         storage.borrow_mut().insert(proposal_id, proposal.clone());
[INFO] [stdout] 135 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 152 |         if let Some(mut user) = storage.get(&caller) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.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 `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:55
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                                                       ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:78:55
[INFO] [stdout]     |
[INFO] [stdout]  78 |       static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |  _______________________________________________________^
[INFO] [stdout]  79 | |         ProposalStore::init(
[INFO] [stdout]  80 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(1)))
[INFO] [stdout]  81 | |         )
[INFO] [stdout]  82 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 186 |             storage.insert(user_principal, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-3192711672995962728.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 `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:26
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 223 |             storage.insert(investment_id, investment.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 197 | |         storage
[INFO] [stdout] 198 | |             .borrow()
[INFO] [stdout] 199 | |             .iter()
[INFO] [stdout] 200 | |             .find(|(_, user)| user.email == email)
[INFO] [stdout] 201 | |             .map(|(_, user)| user)
[INFO] [stdout] 202 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 252 | |         storage
[INFO] [stdout] 253 | |             .borrow()
[INFO] [stdout] 254 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 257 | |             .sum()
[INFO] [stdout] 258 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 155 |             storage.insert(caller, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:134:30
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 134 |         storage.borrow_mut().insert(proposal_id, proposal.clone());
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:251:30
[INFO] [stdout]     |
[INFO] [stdout] 251 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | / thread_local! {
[INFO] [stdout]  68 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  69 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  70 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  88 | |     );
[INFO] [stdout]  89 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 166 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 167 | |         
[INFO] [stdout] 168 | |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout] ...   |
[INFO] [stdout] 176 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |       let proposal = PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 146 | |         storage.borrow().get(&req.proposal_id)
[INFO] [stdout] 147 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout]  85 |         VoteStore::init(
[INFO] [stdout]     |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:145:43
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let proposal = PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                                           ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 197 | /         storage
[INFO] [stdout] 198 | |             .borrow()
[INFO] [stdout] 199 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-11761880339021439171.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 `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:165:24
[INFO] [stdout]     |
[INFO] [stdout] 165 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 252 | /         storage
[INFO] [stdout] 253 | |             .borrow()
[INFO] [stdout] 254 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:32
[INFO] [stdout]     |
[INFO] [stdout]  63 |     static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 208 | |         storage
[INFO] [stdout] 209 | |             .borrow()
[INFO] [stdout] 210 | |             .iter()
[INFO] [stdout] 211 | |             .find(|(_, user)| user.wallet_address == wallet_address)
[INFO] [stdout] 212 | |             .map(|(_, user)| user)
[INFO] [stdout] 213 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 264 | |         storage
[INFO] [stdout] 265 | |             .borrow()
[INFO] [stdout] 266 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |             .sum()
[INFO] [stdout] 274 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/governance_canister/src/lib.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Vote {
[INFO] [stdout]    | --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 85 |         VoteStore::init(
[INFO] [stdout]    |                    ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 146 |         storage.borrow().get(&req.proposal_id)
[INFO] [stdout]     |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 168 |         if let Some(mut user) = storage.get(&req.user_principal) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.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 `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:263:30
[INFO] [stdout]     |
[INFO] [stdout] 263 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:47
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:84:47
[INFO] [stdout]     |
[INFO] [stdout]  84 |       static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |  _______________________________________________^
[INFO] [stdout]  85 | |         VoteStore::init(
[INFO] [stdout]  86 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(2)))
[INFO] [stdout]  87 | |         )
[INFO] [stdout]  88 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:64:9
[INFO] [stdout]     |
[INFO] [stdout]  64 |         InvestmentStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |       let existing_vote = VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 164 | |         storage
[INFO] [stdout] 165 | |             .borrow()
[INFO] [stdout] 166 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |             .map(|(_, vote)| vote)
[INFO] [stdout] 171 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:210:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 208 | /         storage
[INFO] [stdout] 209 | |             .borrow()
[INFO] [stdout] 210 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-11761880339021439171.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:266:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 264 | /         storage
[INFO] [stdout] 265 | |             .borrow()
[INFO] [stdout] 266 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:163:44
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let existing_vote = VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 219 | |         let users: Vec<User> = storage
[INFO] [stdout] 220 | |             .borrow()
[INFO] [stdout] 221 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |         (total_users, verified_users, active_users)
[INFO] [stdout] 230 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:218:24
[INFO] [stdout]     |
[INFO] [stdout] 218 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 171 |             storage.insert(req.user_principal, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.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 `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 134 | |         storage.borrow_mut().insert(proposal_id, proposal.clone());
[INFO] [stdout] 135 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout]  33 |   pub struct Vote {
[INFO] [stdout]     |   --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 164 | /         storage
[INFO] [stdout] 165 | |             .borrow()
[INFO] [stdout] 166 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 182 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 183 | |         
[INFO] [stdout] 184 | |         if let Some(mut user) = storage.get(&user_principal) {
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:221:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 219 |           let users: Vec<User> = storage
[INFO] [stdout]     |  ________________________________-
[INFO] [stdout] 220 | |             .borrow()
[INFO] [stdout] 221 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-303e1a738b07d106.long-type-11761880339021439171.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 `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:181:24
[INFO] [stdout]     |
[INFO] [stdout] 181 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | /     VOTE_STORAGE.with(|storage| {
[INFO] [stdout] 198 | |         storage.borrow_mut().insert(vote_id, vote.clone());
[INFO] [stdout] 199 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:197:24
[INFO] [stdout]     |
[INFO] [stdout] 197 |     VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:184:41
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 184 |         if let Some(mut user) = storage.get(&user_principal) {
[INFO] [stdout]     |                                         ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:134:30
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 134 |         storage.borrow_mut().insert(proposal_id, proposal.clone());
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |       let proposal = PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 146 | |         storage.borrow().get(&req.proposal_id)
[INFO] [stdout] 147 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:145:43
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let proposal = PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                                           ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:198:30
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 198 |         storage.borrow_mut().insert(vote_id, vote.clone());
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/investment_canister/src/lib.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Investment {
[INFO] [stdout]    | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 64 |         InvestmentStore::init(
[INFO] [stdout]    |                          ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/property_canister/src/lib.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn to_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn to_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/property_canister/src/lib.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn to_bytes(&self) -> Cow<[u8]> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn to_bytes(&self) -> Cow<'_, [u8]> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 203 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 204 | |         if let Some(mut proposal) = storage.get(&req.proposal_id) {
[INFO] [stdout] 205 | |             if req.vote_choice {
[INFO] [stdout] ...   |
[INFO] [stdout] 214 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:59
[INFO] [stdout]     |
[INFO] [stdout]  63 |     static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |                                                           ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:63:59
[INFO] [stdout]     |
[INFO] [stdout]  63 |       static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |  ___________________________________________________________^
[INFO] [stdout]  64 | |         InvestmentStore::init(
[INFO] [stdout]  65 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(1)))
[INFO] [stdout]  66 | |         )
[INFO] [stdout]  67 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 186 |             storage.insert(user_principal, user.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-11987169771448569140.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 146 |         storage.borrow().get(&req.proposal_id)
[INFO] [stdout]     |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:33
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 197 | |         storage
[INFO] [stdout] 198 | |             .borrow()
[INFO] [stdout] 199 | |             .iter()
[INFO] [stdout] 200 | |             .find(|(_, user)| user.email == email)
[INFO] [stdout] 201 | |             .map(|(_, user)| user)
[INFO] [stdout] 202 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |       let existing_vote = VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 164 | |         storage
[INFO] [stdout] 165 | |             .borrow()
[INFO] [stdout] 166 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |             .map(|(_, vote)| vote)
[INFO] [stdout] 171 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:163:44
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let existing_vote = VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:204:45
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 204 |         if let Some(mut proposal) = storage.get(&req.proposal_id) {
[INFO] [stdout]     |                                             ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout]  33 |   pub struct Vote {
[INFO] [stdout]     |   --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 164 | /         storage
[INFO] [stdout] 165 | |             .borrow()
[INFO] [stdout] 166 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / thread_local! {
[INFO] [stdout]  53 | |     static MEMORY_MANAGER: RefCell<MemoryManager<DefaultMemoryImpl>> = RefCell::new(
[INFO] [stdout]  54 | |         MemoryManager::init(DefaultMemoryImpl::default())
[INFO] [stdout]  55 | |     );
[INFO] [stdout] ...   |
[INFO] [stdout]  73 | |     );
[INFO] [stdout]  74 | | }
[INFO] [stdout]     | |_^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout]     = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 197 | /         storage
[INFO] [stdout] 198 | |             .borrow()
[INFO] [stdout] 199 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-17056684941036007994.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 `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:70:9
[INFO] [stdout]     |
[INFO] [stdout]  70 |         TransactionStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | /     VOTE_STORAGE.with(|storage| {
[INFO] [stdout] 198 | |         storage.borrow_mut().insert(vote_id, vote.clone());
[INFO] [stdout] 199 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 208 | |         storage
[INFO] [stdout] 209 | |             .borrow()
[INFO] [stdout] 210 | |             .iter()
[INFO] [stdout] 211 | |             .find(|(_, user)| user.wallet_address == wallet_address)
[INFO] [stdout] 212 | |             .map(|(_, user)| user)
[INFO] [stdout] 213 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:197:24
[INFO] [stdout]     |
[INFO] [stdout] 197 |     VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 212 |             storage.insert(req.proposal_id, proposal);
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 222 | |         storage
[INFO] [stdout] 223 | |             .borrow()
[INFO] [stdout] 224 | |             .iter()
[INFO] [stdout] 225 | |             .map(|(_, proposal)| proposal)
[INFO] [stdout] 226 | |             .collect()
[INFO] [stdout] 227 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `init` exists for struct `StableBTreeMap<u64, Transaction, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/investment_canister/src/lib.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Transaction {
[INFO] [stdout]    | ---------------------- doesn't satisfy `Transaction: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 70 |         TransactionStore::init(
[INFO] [stdout]    |                           ^^^^ function or associated item cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Transaction: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Storable {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:221:28
[INFO] [stdout]     |
[INFO] [stdout] 221 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:210:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 208 | /         storage
[INFO] [stdout] 209 | |             .borrow()
[INFO] [stdout] 210 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-17056684941036007994.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 `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:61
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                                             ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:198:30
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 198 |         storage.borrow_mut().insert(vote_id, vote.clone());
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:69:61
[INFO] [stdout]     |
[INFO] [stdout]  69 |       static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |  _____________________________________________________________^
[INFO] [stdout]  70 | |         TransactionStore::init(
[INFO] [stdout]  71 | |             MEMORY_MANAGER.with(|m| m.borrow().get(MemoryId::new(2)))
[INFO] [stdout]  72 | |         )
[INFO] [stdout]  73 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 203 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 204 | |         if let Some(mut proposal) = storage.get(&req.proposal_id) {
[INFO] [stdout] 205 | |             if req.vote_choice {
[INFO] [stdout] ...   |
[INFO] [stdout] 214 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout] 219 | |         let users: Vec<User> = storage
[INFO] [stdout] 220 | |             .borrow()
[INFO] [stdout] 221 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 229 | |         (total_users, verified_users, active_users)
[INFO] [stdout] 230 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: Storable` is not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:218:24
[INFO] [stdout]     |
[INFO] [stdout] 218 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `User`
[INFO] [stdout]    --> src/user_canister/src/lib.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub struct User {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:224:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Proposal {
[INFO] [stdout]     |   ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 222 | /         storage
[INFO] [stdout] 223 | |             .borrow()
[INFO] [stdout] 224 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:202:28
[INFO] [stdout]     |
[INFO] [stdout] 202 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 234 | |         storage
[INFO] [stdout] 235 | |             .borrow()
[INFO] [stdout] 236 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |             .collect()
[INFO] [stdout] 242 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:233:28
[INFO] [stdout]     |
[INFO] [stdout] 233 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 112 | |         storage.borrow_mut().insert(investment_id, investment.clone());
[INFO] [stdout] 113 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, BTreeMap<Principal, User, VirtualMemory<Rc<RefCell<...>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/user_canister/src/lib.rs:221:14
[INFO] [stdout]     |
[INFO] [stdout]  13 |   pub struct User {
[INFO] [stdout]     |   --------------- doesn't satisfy `User: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 219 |           let users: Vec<User> = storage
[INFO] [stdout]     |  ________________________________-
[INFO] [stdout] 220 | |             .borrow()
[INFO] [stdout] 221 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `User: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/user_canister-29cba8f816e30073.long-type-17056684941036007994.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 `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:204:45
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 204 |         if let Some(mut proposal) = storage.get(&req.proposal_id) {
[INFO] [stdout]     |                                             ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:236:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Proposal {
[INFO] [stdout]     |   ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 234 | /         storage
[INFO] [stdout] 235 | |             .borrow()
[INFO] [stdout] 236 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 248 | |         storage.borrow().get(&proposal_id)
[INFO] [stdout] 249 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:247:28
[INFO] [stdout]     |
[INFO] [stdout] 247 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 212 |             storage.insert(req.proposal_id, proposal);
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 222 | |         storage
[INFO] [stdout] 223 | |             .borrow()
[INFO] [stdout] 224 | |             .iter()
[INFO] [stdout] 225 | |             .map(|(_, proposal)| proposal)
[INFO] [stdout] 226 | |             .collect()
[INFO] [stdout] 227 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:221:28
[INFO] [stdout]     |
[INFO] [stdout] 221 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:248:26
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 248 |         storage.borrow().get(&proposal_id)
[INFO] [stdout]     |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 255 | |         storage
[INFO] [stdout] 256 | |             .borrow()
[INFO] [stdout] 257 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 260 | |             .collect()
[INFO] [stdout] 261 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:224:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Proposal {
[INFO] [stdout]     |   ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 222 | /         storage
[INFO] [stdout] 223 | |             .borrow()
[INFO] [stdout] 224 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:112:30
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 112 |         storage.borrow_mut().insert(investment_id, investment.clone());
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 234 | |         storage
[INFO] [stdout] 235 | |             .borrow()
[INFO] [stdout] 236 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |             .collect()
[INFO] [stdout] 242 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:233:28
[INFO] [stdout]     |
[INFO] [stdout] 233 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | /     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout] 153 | |         storage.borrow_mut().insert(transaction_id, transaction);
[INFO] [stdout] 154 | |     });
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:257:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Proposal {
[INFO] [stdout]     |   ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 255 | /         storage
[INFO] [stdout] 256 | |             .borrow()
[INFO] [stdout] 257 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:152:31
[INFO] [stdout]     |
[INFO] [stdout] 152 |     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout]     |                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 | /     VOTE_STORAGE.with(|storage| {
[INFO] [stdout] 267 | |         storage
[INFO] [stdout] 268 | |             .borrow()
[INFO] [stdout] 269 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 272 | |             .collect()
[INFO] [stdout] 273 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:266:24
[INFO] [stdout]     |
[INFO] [stdout] 266 |     VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:236:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Proposal {
[INFO] [stdout]     |   ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 234 | /         storage
[INFO] [stdout] 235 | |             .borrow()
[INFO] [stdout] 236 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 248 | |         storage.borrow().get(&proposal_id)
[INFO] [stdout] 249 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:269:14
[INFO] [stdout]     |
[INFO] [stdout]  33 |   pub struct Vote {
[INFO] [stdout]     |   --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 267 | /         storage
[INFO] [stdout] 268 | |             .borrow()
[INFO] [stdout] 269 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:247:28
[INFO] [stdout]     |
[INFO] [stdout] 247 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | /     VOTE_STORAGE.with(|storage| {
[INFO] [stdout] 279 | |         storage
[INFO] [stdout] 280 | |             .borrow()
[INFO] [stdout] 281 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 284 | |             .collect()
[INFO] [stdout] 285 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:278:24
[INFO] [stdout]     |
[INFO] [stdout] 278 |     VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Transaction, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:153:30
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ---------------------- doesn't satisfy `Transaction: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 153 |         storage.borrow_mut().insert(transaction_id, transaction);
[INFO] [stdout]     |                              ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Transaction: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:248:26
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 248 |         storage.borrow().get(&proposal_id)
[INFO] [stdout]     |                          ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 255 | |         storage
[INFO] [stdout] 256 | |             .borrow()
[INFO] [stdout] 257 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 260 | |             .collect()
[INFO] [stdout] 261 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 162 | |         storage
[INFO] [stdout] 163 | |             .borrow()
[INFO] [stdout] 164 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |             .collect()
[INFO] [stdout] 168 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:281:14
[INFO] [stdout]     |
[INFO] [stdout]  33 |   pub struct Vote {
[INFO] [stdout]     |   --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 279 | /         storage
[INFO] [stdout] 280 | |             .borrow()
[INFO] [stdout] 281 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:254:28
[INFO] [stdout]     |
[INFO] [stdout] 254 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:161:30
[INFO] [stdout]     |
[INFO] [stdout] 161 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 291 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 292 | |         if let Some(mut proposal) = storage.get(&proposal_id) {
[INFO] [stdout] 293 | |             proposal.status = new_status;
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:290:28
[INFO] [stdout]     |
[INFO] [stdout] 290 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:257:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Proposal {
[INFO] [stdout]     |   ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 255 | /         storage
[INFO] [stdout] 256 | |             .borrow()
[INFO] [stdout] 257 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 | /     VOTE_STORAGE.with(|storage| {
[INFO] [stdout] 267 | |         storage
[INFO] [stdout] 268 | |             .borrow()
[INFO] [stdout] 269 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 272 | |             .collect()
[INFO] [stdout] 273 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 162 | /         storage
[INFO] [stdout] 163 | |             .borrow()
[INFO] [stdout] 164 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:266:24
[INFO] [stdout]     |
[INFO] [stdout] 266 |     VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:292:45
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 292 |         if let Some(mut proposal) = storage.get(&proposal_id) {
[INFO] [stdout]     |                                             ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 174 | |         storage
[INFO] [stdout] 175 | |             .borrow()
[INFO] [stdout] 176 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 179 | |             .collect()
[INFO] [stdout] 180 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:269:14
[INFO] [stdout]     |
[INFO] [stdout]  33 |   pub struct Vote {
[INFO] [stdout]     |   --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 267 | /         storage
[INFO] [stdout] 268 | |             .borrow()
[INFO] [stdout] 269 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | /     VOTE_STORAGE.with(|storage| {
[INFO] [stdout] 279 | |         storage
[INFO] [stdout] 280 | |             .borrow()
[INFO] [stdout] 281 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 284 | |             .collect()
[INFO] [stdout] 285 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:278:24
[INFO] [stdout]     |
[INFO] [stdout] 278 |     VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Vote`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 294 |             storage.insert(proposal_id, proposal.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 174 | /         storage
[INFO] [stdout] 175 | |             .borrow()
[INFO] [stdout] 176 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 | /     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout] 186 | |         storage
[INFO] [stdout] 187 | |             .borrow()
[INFO] [stdout] 188 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 191 | |             .collect()
[INFO] [stdout] 192 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Vote, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:281:14
[INFO] [stdout]     |
[INFO] [stdout]  33 |   pub struct Vote {
[INFO] [stdout]     |   --------------- doesn't satisfy `Vote: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 279 | /         storage
[INFO] [stdout] 280 | |             .borrow()
[INFO] [stdout] 281 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vote: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:185:31
[INFO] [stdout]     |
[INFO] [stdout] 185 |     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout]     |                               ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Transaction`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub struct Transaction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 | /     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout] 291 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 292 | |         if let Some(mut proposal) = storage.get(&proposal_id) {
[INFO] [stdout] 293 | |             proposal.status = new_status;
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proposal: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:290:28
[INFO] [stdout]     |
[INFO] [stdout] 290 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Proposal`
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Transaction, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout]  27 |   pub struct Transaction {
[INFO] [stdout]     |   ---------------------- doesn't satisfy `Transaction: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 186 | /         storage
[INFO] [stdout] 187 | |             .borrow()
[INFO] [stdout] 188 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Transaction: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:292:45
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 292 |         if let Some(mut proposal) = storage.get(&proposal_id) {
[INFO] [stdout]     |                                             ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 219 | |         let mut storage = storage.borrow_mut();
[INFO] [stdout] 220 | |         
[INFO] [stdout] 221 | |         if let Some(mut investment) = storage.get(&investment_id) {
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:218:30
[INFO] [stdout]     |
[INFO] [stdout] 218 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Proposal, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Proposal {
[INFO] [stdout]     | ------------------- doesn't satisfy `Proposal: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 294 |             storage.insert(proposal_id, proposal.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Proposal: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `RefMut<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:221:47
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 221 |         if let Some(mut investment) = storage.get(&investment_id) {
[INFO] [stdout]     |                                               ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `RefMut<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 223 |             storage.insert(investment_id, investment.clone());
[INFO] [stdout]     |                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `user_canister` (lib) due to 50 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `investment_canister` (lib) due to 45 previous errors
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 252 | |         storage
[INFO] [stdout] 253 | |             .borrow()
[INFO] [stdout] 254 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 257 | |             .sum()
[INFO] [stdout] 258 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:251:30
[INFO] [stdout]     |
[INFO] [stdout] 251 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 252 | /         storage
[INFO] [stdout] 253 | |             .borrow()
[INFO] [stdout] 254 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout] 264 | |         storage
[INFO] [stdout] 265 | |             .borrow()
[INFO] [stdout] 266 | |             .iter()
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |             .sum()
[INFO] [stdout] 274 | |     })
[INFO] [stdout]     | |______^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Investment: Storable` is not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:263:30
[INFO] [stdout]     |
[INFO] [stdout] 263 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Storable` is not implemented for `Investment`
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct Investment {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Storable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (A, B)
[INFO] [stdout]               (A, B, C)
[INFO] [stdout]               Blob<N>
[INFO] [stdout]               BoundedVecN<N>
[INFO] [stdout]               Reverse<T>
[INFO] [stdout]               UnboundedVecN<N>
[INFO] [stdout]               [u8; N]
[INFO] [stdout]             and 12 others
[INFO] [stdout] note: required by a bound in `StableBTreeMap`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/btreemap.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct BTreeMap<K, V, M>
[INFO] [stdout]     |            -------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     V: Storable,
[INFO] [stdout]     |        ^^^^^^^^ required by this bound in `BTreeMap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `Ref<'_, StableBTreeMap<u64, Investment, VirtualMemory<Rc<RefCell<std::vec::Vec<u8>>>>>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/investment_canister/src/lib.rs:266:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |   pub struct Investment {
[INFO] [stdout]     |   --------------------- doesn't satisfy `Investment: Storable`
[INFO] [stdout] ...
[INFO] [stdout] 264 | /         storage
[INFO] [stdout] 265 | |             .borrow()
[INFO] [stdout] 266 | |             .iter()
[INFO] [stdout]     | |             -^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Investment: Storable`
[INFO] [stdout] note: the trait `Storable` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ic-stable-structures-0.6.9/src/storable.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | pub trait Storable {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `user_canister` (lib test) due to 50 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `governance_canister` (lib) due to 58 previous errors
[INFO] [stderr] error: could not compile `governance_canister` (lib test) due to 58 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `investment_canister` (lib test) due to 45 previous errors
[INFO] running `Command { std: "docker" "inspect" "39c6d8f99f88f7126eb0cbcb297c8cca23e3ff954632c7a330ed466461c47a18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39c6d8f99f88f7126eb0cbcb297c8cca23e3ff954632c7a330ed466461c47a18", kill_on_drop: false }`
[INFO] [stdout] 39c6d8f99f88f7126eb0cbcb297c8cca23e3ff954632c7a330ed466461c47a18
