[INFO] cloning repository https://github.com/faizan689/bbbbbbbbbbb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/faizan689/bbbbbbbbbbb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaizan689%2Fbbbbbbbbbbb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaizan689%2Fbbbbbbbbbbb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1cc4f5f7e771fe3dfc8ec47c677f1613e48b3a4f
[INFO] checking faizan689/bbbbbbbbbbb against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffaizan689%2Fbbbbbbbbbbb" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/faizan689/bbbbbbbbbbb
[INFO] finished tweaking git repo https://github.com/faizan689/bbbbbbbbbbb
[INFO] tweaked toml for git repo https://github.com/faizan689/bbbbbbbbbbb written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/faizan689/bbbbbbbbbbb on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/faizan689/bbbbbbbbbbb 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" "+987a165cfab916796a8315782b83ac460a651ce2" "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] 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 candid_derive v0.6.6
[INFO] [stderr]   Downloaded ic0 v0.23.0
[INFO] [stderr]   Downloaded ic-cdk v0.13.6
[INFO] [stderr]   Downloaded candid v0.10.14
[INFO] [stderr]   Downloaded ic-cdk-macros v0.9.0
[INFO] [stderr]   Downloaded ic-stable-structures v0.6.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1a1daf55b17c7754e94a96780cf96e5909b6e35e297fc485d6c3a834d8305c19
[INFO] running `Command { std: "docker" "start" "-a" "1a1daf55b17c7754e94a96780cf96e5909b6e35e297fc485d6c3a834d8305c19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a1daf55b17c7754e94a96780cf96e5909b6e35e297fc485d6c3a834d8305c19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a1daf55b17c7754e94a96780cf96e5909b6e35e297fc485d6c3a834d8305c19", kill_on_drop: false }`
[INFO] [stdout] 1a1daf55b17c7754e94a96780cf96e5909b6e35e297fc485d6c3a834d8305c19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 757a8a3c9eef12456c07c2664ceb2f981640b184c9da431ca910ad09149dfb2d
[INFO] running `Command { std: "docker" "start" "-a" "757a8a3c9eef12456c07c2664ceb2f981640b184c9da431ca910ad09149dfb2d", 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] 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 proc-macro2 v1.0.95
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling pretty v0.12.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling leb128 v0.2.5
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ic-cdk-executor v0.1.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking ic0 v0.23.0
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling psm v0.1.26
[INFO] [stderr]    Compiling stacker v0.1.21
[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 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 investment_canister v0.1.0 (/opt/rustwide/workdir/src/investment_canister)
[INFO] [stderr]     Checking property_canister v0.1.0 (/opt/rustwide/workdir/src/property_canister)
[INFO] [stderr]     Checking user_canister v0.1.0 (/opt/rustwide/workdir/src/user_canister)
[INFO] [stderr]     Checking governance_canister v0.1.0 (/opt/rustwide/workdir/src/governance_canister)
[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]     |                                        ^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     |                                         ^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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 `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]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     |         ^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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 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]     |                                                           ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_____^ the trait `Storable` is not implemented for `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:33
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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 `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]     |                                        ^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     |                                         ^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     |         ^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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 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]     |                                                             ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |_____^ the trait `Storable` is not implemented for `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 `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]     | |______^ the trait `Storable` is not implemented for `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:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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 `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]     | |______^ the trait `Storable` is not implemented for `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:152:31
[INFO] [stdout]     |
[INFO] [stdout] 152 |     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout]     |                               ^^^^^^^ the trait `Storable` is not implemented for `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, 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[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]     | |______^ the trait `Storable` is not implemented for `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:161:30
[INFO] [stdout]     |
[INFO] [stdout] 161 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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: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 `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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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:78:38
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     |                                  ^^^^^^^^^ the trait `Storable` is not implemented for `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 `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]     | |______^ the trait `Storable` is not implemented for `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]     |                               ^^^^^^^ the trait `Storable` is not implemented for `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, 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[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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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, 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] [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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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] 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]     |                                      ^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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:32
[INFO] [stdout]     |
[INFO] [stdout]  63 |     static INVESTMENT_STORAGE: RefCell<InvestmentStore> = RefCell::new(
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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:34
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                                  ^^^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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 `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]     |                              ^^^^^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |_^ the trait `Storable` is not implemented for `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 `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]     | |_^ the trait `Storable` is not implemented for `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 `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]     | |_^ the trait `Storable` is not implemented for `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 `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]     | |_^ the trait `Storable` is not implemented for `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 `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]     | |_^ the trait `Storable` is not implemented for `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 `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]     | |_^ the trait `Storable` is not implemented for `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]     |         ^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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:79:9
[INFO] [stdout]     |
[INFO] [stdout]  79 |         ProposalStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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, 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[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:78:55
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                                                       ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_____^ the trait `Storable` is not implemented for `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]     |                                                           ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_____^ the trait `Storable` is not implemented for `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:33
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     |         ^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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] 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 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 `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]     |                          ^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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:69:61
[INFO] [stdout]     |
[INFO] [stdout]  69 |     static TRANSACTION_STORAGE: RefCell<TransactionStore> = RefCell::new(
[INFO] [stdout]     |                                                             ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |_____^ the trait `Storable` is not implemented for `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 `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]     | |______^ the trait `Storable` is not implemented for `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:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     INVESTMENT_STORAGE.with(|storage| {
[INFO] [stdout]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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] [stderr] error: could not compile `investment_canister` (lib) due to 45 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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<'_, 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 `Vote: Storable` is not satisfied
[INFO] [stdout]    --> src/governance_canister/src/lib.rs:85:9
[INFO] [stdout]     |
[INFO] [stdout]  85 |         VoteStore::init(
[INFO] [stdout]     |         ^^^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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:152:31
[INFO] [stdout]     |
[INFO] [stdout] 152 |     TRANSACTION_STORAGE.with(|storage| {
[INFO] [stdout]     |                               ^^^^^^^ the trait `Storable` is not implemented for `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, 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 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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                                               ^^^^^^^ the trait `Storable` is not implemented for `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:34
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                                  ^^^^^^^^^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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]     |  _______________________________________________^
[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]     | |_____^ the trait `Storable` is not implemented for `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 `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]     | |______^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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, 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]     | |______^ the trait `Storable` is not implemented for `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]     |                               ^^^^^^^ the trait `Storable` is not implemented for `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, 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[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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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]     | |______^ the trait `Storable` is not implemented for `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] 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[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[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]     |                                  ^^^^^^^^^ the trait `Storable` is not implemented for `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, 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 `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]     |                                           ^^^^^^^ the trait `Storable` is not implemented for `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: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 `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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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:163:44
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let existing_vote = VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                                            ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^ the trait `Storable` is not implemented for `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: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[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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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, 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 `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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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 `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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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[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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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, 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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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, 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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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[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[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]     |                          ^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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] 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[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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     |         ^^^^^^^^^ the trait `Storable` is not implemented for `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] [stderr] error: could not compile `investment_canister` (lib test) due to 45 previous errors
[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:50:47
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                                               ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_____^ the trait `Storable` is not implemented for `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]     |                              ^^^^^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |_^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                                            ^^^^^^^ the trait `Storable` is not implemented for `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]     |                          ^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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 `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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: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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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[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-d7aa019ba6464c40.long-type-16701564052668225823.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: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]     | |_^ the trait `Storable` is not implemented for `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 `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]     | |_^ the trait `Storable` is not implemented for `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:79:9
[INFO] [stdout]     |
[INFO] [stdout]  79 |         ProposalStore::init(
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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:51:9
[INFO] [stdout]     |
[INFO] [stdout]  51 |         UserStore::init(
[INFO] [stdout]     |         ^^^^^^^^^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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-d7aa019ba6464c40.long-type-15655870634714523712.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:50:47
[INFO] [stdout]     |
[INFO] [stdout]  50 |     static USER_STORAGE: RefCell<UserStore> = RefCell::new(
[INFO] [stdout]     |                                               ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_____^ the trait `Storable` is not implemented for `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:5
[INFO] [stdout]     |
[INFO] [stdout]  96 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout]  97 | |         storage.borrow().get(&user_principal)
[INFO] [stdout]  98 | |     })
[INFO] [stdout]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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, 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:78:55
[INFO] [stdout]     |
[INFO] [stdout]  78 |     static PROPOSAL_STORAGE: RefCell<ProposalStore> = RefCell::new(
[INFO] [stdout]     |                                                       ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_____^ the trait `Storable` is not implemented for `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<'_, 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-d7aa019ba6464c40.long-type-16701564052668225823.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:67:44
[INFO] [stdout]     |
[INFO] [stdout]  67 |     let existing_user = USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                                            ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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:26
[INFO] [stdout]     |
[INFO] [stdout]  84 |     static VOTE_STORAGE: RefCell<VoteStore> = RefCell::new(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ the trait `Storable` is not implemented for `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:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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 `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-543e12c0f0152046.long-type-2217671771438238380.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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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-d7aa019ba6464c40.long-type-16701564052668225823.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: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]     | |______^ the trait `Storable` is not implemented for `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]     | |_^ the trait `Storable` is not implemented for `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:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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-d7aa019ba6464c40.long-type-16701564052668225823.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]     | |_^ the trait `Storable` is not implemented for `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]     |         ^^^^^^^^^ the trait `Storable` is not implemented for `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 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 `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]     |                                               ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |_____^ the trait `Storable` is not implemented for `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] 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[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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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: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-543e12c0f0152046.long-type-11294677962651844808.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]     | |______^ the trait `Storable` is not implemented for `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:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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:5
[INFO] [stdout]     |
[INFO] [stdout]  96 | /     USER_STORAGE.with(|storage| {
[INFO] [stdout]  97 | |         storage.borrow().get(&user_principal)
[INFO] [stdout]  98 | |     })
[INFO] [stdout]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                                           ^^^^^^^ the trait `Storable` is not implemented for `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: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-d7aa019ba6464c40.long-type-6168132138355073251.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<'_, 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-543e12c0f0152046.long-type-2217671771438238380.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `governance_canister` (lib test) due to 58 previous errors
[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] 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 `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]     | |______^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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:163:44
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let existing_vote = VOTE_STORAGE.with(|storage| {
[INFO] [stdout]     |                                            ^^^^^^^ the trait `Storable` is not implemented for `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:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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-d7aa019ba6464c40.long-type-6168132138355073251.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, 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 `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]     | |______^ the trait `Storable` is not implemented for `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: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-543e12c0f0152046.long-type-2217671771438238380.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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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, 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 `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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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-d7aa019ba6464c40.long-type-6168132138355073251.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<'_, 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<'_, 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-543e12c0f0152046.long-type-2217671771438238380.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]     | |______^ the trait `Storable` is not implemented for `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:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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: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-d7aa019ba6464c40.long-type-6168132138355073251.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: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]     | |______^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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: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-543e12c0f0152046.long-type-2893603663917079280.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:233:28
[INFO] [stdout]     |
[INFO] [stdout] 233 |     PROPOSAL_STORAGE.with(|storage| {
[INFO] [stdout]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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: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-d7aa019ba6464c40.long-type-6168132138355073251.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, 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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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-543e12c0f0152046.long-type-2893603663917079280.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, 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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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-d7aa019ba6464c40.long-type-6168132138355073251.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, 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 `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]     | |______^ the trait `Storable` is not implemented for `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:181:24
[INFO] [stdout]     |
[INFO] [stdout] 181 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                            ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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[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-543e12c0f0152046.long-type-2893603663917079280.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: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 `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-d7aa019ba6464c40.long-type-6168132138355073251.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: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-543e12c0f0152046.long-type-2893603663917079280.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: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-d7aa019ba6464c40.long-type-6168132138355073251.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: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]     | |______^ the trait `Storable` is not implemented for `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:165:24
[INFO] [stdout]     |
[INFO] [stdout] 165 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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-543e12c0f0152046.long-type-2893603663917079280.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: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-d7aa019ba6464c40.long-type-16701564052668225823.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: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]     | |______^ the trait `Storable` is not implemented for `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-543e12c0f0152046.long-type-2893603663917079280.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:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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]     | |______^ the trait `Storable` is not implemented for `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:181:24
[INFO] [stdout]     |
[INFO] [stdout] 181 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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-d7aa019ba6464c40.long-type-16701564052668225823.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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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<'_, 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-543e12c0f0152046.long-type-2893603663917079280.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: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-d7aa019ba6464c40.long-type-16701564052668225823.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: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-543e12c0f0152046.long-type-2893603663917079280.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: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]     | |______^ the trait `Storable` is not implemented for `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:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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-543e12c0f0152046.long-type-2217671771438238380.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: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]     | |______^ the trait `Storable` is not implemented for `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:207:24
[INFO] [stdout]     |
[INFO] [stdout] 207 |     USER_STORAGE.with(|storage| {
[INFO] [stdout]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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: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-543e12c0f0152046.long-type-2217671771438238380.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: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]     | |______^ the trait `Storable` is not implemented for `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]     |                        ^^^^^^^ the trait `Storable` is not implemented for `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-543e12c0f0152046.long-type-2217671771438238380.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[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 `governance_canister` (lib) 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] [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) due to 50 previous errors
[INFO] [stderr] error: could not compile `user_canister` (lib test) due to 50 previous errors
[INFO] running `Command { std: "docker" "inspect" "757a8a3c9eef12456c07c2664ceb2f981640b184c9da431ca910ad09149dfb2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "757a8a3c9eef12456c07c2664ceb2f981640b184c9da431ca910ad09149dfb2d", kill_on_drop: false }`
[INFO] [stdout] 757a8a3c9eef12456c07c2664ceb2f981640b184c9da431ca910ad09149dfb2d
