[INFO] fetching crate dots-rs-testing 0.1.7...
[INFO] testing dots-rs-testing-0.1.7 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate dots-rs-testing 0.1.7 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate dots-rs-testing 0.1.7
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate dots-rs-testing 0.1.7
[INFO] tweaked toml for crates.io crate dots-rs-testing 0.1.7 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate dots-rs-testing 0.1.7 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dots-rs-testing 0.1.7 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | homepage = "https://github.com/pnxs/dots-rust"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | repository = "https://github.com/pnxs/dots-rust"
[INFO] [stderr]    |              -----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `dots-rs-testing` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6
[INFO] running `Command { std: "docker" "start" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | homepage = "https://github.com/pnxs/dots-rust"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | repository = "https://github.com/pnxs/dots-rust"
[INFO] [stderr]    |              -----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `dots-rs-testing` (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-ident v1.0.26
[INFO] [stderr]    Compiling linkme-impl v0.3.37
[INFO] [stderr]    Compiling linkme v0.3.37
[INFO] [stderr]    Compiling hybrid-array v0.4.15
[INFO] [stderr]    Compiling cpufeatures v0.3.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling minicbor v2.3.0
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling smallvec v1.16.2
[INFO] [stderr]    Compiling chacha20 v0.10.2
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling rand v0.10.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling dots-rs-derive v0.1.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling dots-rs-core v0.1.7
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling dots-rs-model v0.1.7
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling dots-rs-transport v0.1.7
[INFO] [stderr]    Compiling dots-rs-testing v0.1.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | homepage = "https://github.com/pnxs/dots-rust"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 | repository = "https://github.com/pnxs/dots-rust"
[INFO] [stderr]    |              -----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `dots-rs-testing` (manifest) generated 1 warning
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling dots-rs-transport v0.1.7
[INFO] [stderr]    Compiling dots-rs-testing v0.1.7 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `dots_rs_derive`
[INFO] [stdout]   --> tests/harness.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use dots_rs_derive::DotsStruct;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `dots_rs_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 14 -     use dots_rs_derive::DotsStruct;
[INFO] [stdout] 14 +     use dots_rs_core::DotsStruct;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[dots(name = "HarnessGreeting", cached)]
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 18 +     #[derive(DotsEnum, DotsStruct)]
[INFO] [stdout] 19 |     pub struct Greeting {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |         #[dots(tag = 1, key)]
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[dots(tag = 2)]
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dots(name = "HarnessCounter", cached)]
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 27 +     #[derive(DotsEnum, DotsStruct)]
[INFO] [stdout] 28 |     pub struct Counter {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 |         #[dots(tag = 1, key)]
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |         #[dots(tag = 2)]
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[dots(name = "HarnessProfile", cached)]
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 36 +     #[derive(DotsEnum, DotsStruct)]
[INFO] [stdout] 37 |     pub struct Profile {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |         #[dots(tag = 1, key)]
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 |         #[dots(tag = 2)]
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `dots` in this scope
[INFO] [stdout]   --> tests/harness.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 |         #[dots(tag = 3)]
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `dots` is an attribute that can be used by the derive macros `DotsEnum` and `DotsStruct`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]   --> tests/harness.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |     dots::publish(&dots!(Greeting { id: 1_u32, text: "hello" }));
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]   --> tests/harness.rs:75:26
[INFO] [stdout]    |
[INFO] [stdout] 75 |     spoof.publish(&dots!(Greeting { id: 7_u32, text: "from spoof" }));
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]   --> tests/harness.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     dots::publish(&dots!(Counter { id: 1_u32, value: 10_u64 }));
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]   --> tests/harness.rs:93:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |     dots::publish(&dots!(Counter { id: 1_u32, value: 11_u64 }));
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]   --> tests/harness.rs:95:26
[INFO] [stdout]    |
[INFO] [stdout] 95 |     dots::publish(&dots!(Counter { id: 2_u32, value: 99_u64 }));
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]   --> tests/harness.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let one = container.get(&dots!(Counter { id: 1_u32 })).expect("key 1 present");
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]    --> tests/harness.rs:101:36
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let two = container.get(&dots!(Counter { id: 2_u32 })).expect("key 2 present");
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:116:26
[INFO] [stdout]     |
[INFO] [stdout] 116 |     dots::publish(&dots!(Profile { id: 1_u32, name: "alice", age: 30_u32 }));
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     dots::publish(&dots!(Profile { id: 1_u32, name: "alice2" }));
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:143:25
[INFO] [stdout]     |
[INFO] [stdout] 143 |     dots::remove(&dots!(Profile { id: 1_u32 }));
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout] 164 |     dots::publish(&dots!(Profile { id: 1_u32, name: "alice", age: 30_u32 }));
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 |     dots::publish(&dots!(Profile { id: 1_u32, name: "alice v2" }));
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let p = container.get(&dots!(Profile { id: 1_u32 })).expect("present");
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:201:26
[INFO] [stdout]     |
[INFO] [stdout] 201 |     dots::publish(&dots!(Profile { id: 1_u32, name: "alice", age: 30_u32 }));
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:206:42
[INFO] [stdout]     |
[INFO] [stdout] 206 |         .expect_publish(&mut sub, &dots!(Profile { id: 1_u32, name: "alice" }))
[INFO] [stdout]     |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:219:28
[INFO] [stdout]     |
[INFO] [stdout] 219 |     harness.publish(&dots!(Greeting { id: 1_u32, text: "hi" }));
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:221:42
[INFO] [stdout]     |
[INFO] [stdout] 221 |         .expect_publish(&mut sub, &dots!(Greeting { id: 1_u32, text: "hi" }))
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:224:35
[INFO] [stdout]     |
[INFO] [stdout] 224 |     harness.guest().remove(&dots!(Greeting { id: 1_u32 }));
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:226:41
[INFO] [stdout]     |
[INFO] [stdout] 226 |         .expect_remove(&mut sub, &dots!(Greeting { id: 1_u32 }))
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]    --> tests/harness.rs:240:38
[INFO] [stdout]     |
[INFO] [stdout] 240 |         .sync_publish(&spoof, &dots!(Counter { id: 5_u32, value: 42_u64 }))
[INFO] [stdout]     |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]    --> tests/harness.rs:243:37
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let seen = container.get(&dots!(Counter { id: 5_u32 })).expect("seeded");
[INFO] [stdout]     |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:256:26
[INFO] [stdout]     |
[INFO] [stdout] 256 |     dots::publish(&dots!(Profile { id: 2_u32, name: "bob", age: 51_u32 }));
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:259:34
[INFO] [stdout]     |
[INFO] [stdout] 259 |     let p = container.get(&dots!(Profile { id: 2_u32 })).expect("present");
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Profile` in this scope
[INFO] [stdout]    --> tests/harness.rs:261:37
[INFO] [stdout]     |
[INFO] [stdout] 261 |     assert_fields_match(&*p, &dots!(Profile { name: "bob" }));
[INFO] [stdout]     |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:272:26
[INFO] [stdout]     |
[INFO] [stdout] 272 |         h.publish(&dots!(Greeting { id: 1_u32, text: "first" }));
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:277:23
[INFO] [stdout]     |
[INFO] [stdout] 277 |     h2.publish(&dots!(Greeting { id: 2_u32, text: "second" }));
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:291:26
[INFO] [stdout]     |
[INFO] [stdout] 291 |     dots::publish(&dots!(Greeting { id: 7_u32, text: "cached" }));
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:305:26
[INFO] [stdout]     |
[INFO] [stdout] 305 |     dots::publish(&dots!(Greeting { id: 7_u32, text: "live" }));
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Counter` in this scope
[INFO] [stdout]    --> tests/harness.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |     dots::publish(&dots!(Counter { id: 1_u32, value: 42_u64 }));
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `__dots_ctor_Greeting` in this scope
[INFO] [stdout]    --> tests/harness.rs:340:26
[INFO] [stdout]     |
[INFO] [stdout] 340 |     dots::publish(&dots!(Greeting { id: 3_u32, text: "seed" }));
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:55:44
[INFO] [stdout]     |
[INFO] [stdout]  55 |     let mut sub = dots::subscribe_stream::<Greeting>();
[INFO] [stdout]     |                                            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe_stream`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn subscribe_stream<T>() -> Subscription<T>
[INFO] [stdout] 132 | where
[INFO] [stdout] 133 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:55:44
[INFO] [stdout]     |
[INFO] [stdout]  55 |     let mut sub = dots::subscribe_stream::<Greeting>();
[INFO] [stdout]     |                                            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe_stream`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:133:54
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn subscribe_stream<T>() -> Subscription<T>
[INFO] [stdout] 132 | where
[INFO] [stdout] 133 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^ required by this bound in `subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:71:46
[INFO] [stdout]     |
[INFO] [stdout]  71 |     let mut sub = harness.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:71:46
[INFO] [stdout]     |
[INFO] [stdout]  71 |     let mut sub = harness.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:88:41
[INFO] [stdout]     |
[INFO] [stdout]  88 |     let container = harness.container::<Counter>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:88:41
[INFO] [stdout]     |
[INFO] [stdout]  88 |     let container = harness.container::<Counter>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:50
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:89:46
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let mut sub = harness.subscribe_stream::<Counter>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:89:46
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let mut sub = harness.subscribe_stream::<Counter>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Container<model::Counter>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> tests/harness.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub struct Counter {
[INFO] [stdout]    |     ------------------ doesn't satisfy `model::Counter: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 99 |     let one = container.get(&dots!(Counter { id: 1_u32 })).expect("key 1 present");
[INFO] [stdout]    |                         ^^^ method cannot be called on `Container<model::Counter>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `model::Counter: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait StructValue: Any {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Container<model::Counter>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:101:25
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Counter: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 101 |     let two = container.get(&dots!(Counter { id: 2_u32 })).expect("key 2 present");
[INFO] [stdout]     |                         ^^^ method cannot be called on `Container<model::Counter>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Counter: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:113:46
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:113:46
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `new_properties` exists for struct `Event<model::Profile>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Profile: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 137 |     assert!(ev.new_properties().has(2));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ method cannot be called on `Event<model::Profile>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Profile: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `new_properties` exists for struct `Event<model::Profile>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Profile: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 138 |     assert!(!ev.new_properties().has(3));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ method cannot be called on `Event<model::Profile>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Profile: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `updated_properties` exists for struct `Event<model::Profile>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:139:16
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Profile: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 139 |     assert!(ev.updated_properties().has(2));
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Profile: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `updated_properties` exists for struct `Event<model::Profile>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Profile: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 140 |     assert!(!ev.updated_properties().has(3));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Profile: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:160:41
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let container = harness.container::<Profile>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:160:41
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let container = harness.container::<Profile>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:50
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Container<model::Profile>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:172:23
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Profile: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 172 |     let p = container.get(&dots!(Profile { id: 1_u32 })).expect("present");
[INFO] [stdout]     |                       ^^^ method cannot be called on `Container<model::Profile>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Profile: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:184:43
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _sub = harness.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                        ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:184:43
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let _sub = harness.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                        ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:186:33
[INFO] [stdout]     |
[INFO] [stdout] 186 |         .wait_for_subscribers::<Greeting>(1, Duration::from_secs(2))
[INFO] [stdout]     |          --------------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |          |
[INFO] [stdout]     |          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::wait_for_subscribers`
[INFO] [stdout]    --> src/lib.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub async fn wait_for_subscribers<T>(&self, count: usize, timeout: Duration) -> bool
[INFO] [stdout] 212 |     where
[INFO] [stdout] 213 |         T: StructValue,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::wait_for_subscribers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:185:18
[INFO] [stdout]     |
[INFO] [stdout] 185 |       let joined = harness
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 186 | |         .wait_for_subscribers::<Greeting>(1, Duration::from_secs(2))
[INFO] [stdout]     | |____________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::wait_for_subscribers`
[INFO] [stdout]    --> src/lib.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub async fn wait_for_subscribers<T>(&self, count: usize, timeout: Duration) -> bool
[INFO] [stdout] 212 |     where
[INFO] [stdout] 213 |         T: StructValue,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::wait_for_subscribers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 |         .await;
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::wait_for_subscribers`
[INFO] [stdout]    --> src/lib.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub async fn wait_for_subscribers<T>(&self, count: usize, timeout: Duration) -> bool
[INFO] [stdout] 212 |     where
[INFO] [stdout] 213 |         T: StructValue,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::wait_for_subscribers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:199:46
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:199:46
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:206:10
[INFO] [stdout]     |
[INFO] [stdout] 206 |         .expect_publish(&mut sub, &dots!(Profile { id: 1_u32, name: "alice" }))
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_publish`
[INFO] [stdout]    --> src/lib.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn expect_publish<T>(
[INFO] [stdout] ...
[INFO] [stdout] 314 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_publish`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |       let event = harness
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 206 | |         .expect_publish(&mut sub, &dots!(Profile { id: 1_u32, name: "alice" }))
[INFO] [stdout]     | |_______________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_publish`
[INFO] [stdout]    --> src/lib.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn expect_publish<T>(
[INFO] [stdout] ...
[INFO] [stdout] 314 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_publish`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:207:10
[INFO] [stdout]     |
[INFO] [stdout] 207 |         .await;
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_publish`
[INFO] [stdout]    --> src/lib.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn expect_publish<T>(
[INFO] [stdout] ...
[INFO] [stdout] 314 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_publish`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:217:46
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let mut sub = harness.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:217:46
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let mut sub = harness.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:221:10
[INFO] [stdout]     |
[INFO] [stdout] 221 |         .expect_publish(&mut sub, &dots!(Greeting { id: 1_u32, text: "hi" }))
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_publish`
[INFO] [stdout]    --> src/lib.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn expect_publish<T>(
[INFO] [stdout] ...
[INFO] [stdout] 314 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_publish`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | /     harness
[INFO] [stdout] 221 | |         .expect_publish(&mut sub, &dots!(Greeting { id: 1_u32, text: "hi" }))
[INFO] [stdout]     | |_____________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_publish`
[INFO] [stdout]    --> src/lib.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn expect_publish<T>(
[INFO] [stdout] ...
[INFO] [stdout] 314 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_publish`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:222:10
[INFO] [stdout]     |
[INFO] [stdout] 222 |         .await;
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_publish`
[INFO] [stdout]    --> src/lib.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn expect_publish<T>(
[INFO] [stdout] ...
[INFO] [stdout] 314 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_publish`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:226:10
[INFO] [stdout]     |
[INFO] [stdout] 226 |         .expect_remove(&mut sub, &dots!(Greeting { id: 1_u32 }))
[INFO] [stdout]     |          ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_remove`
[INFO] [stdout]    --> src/lib.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub async fn expect_remove<T>(
[INFO] [stdout] ...
[INFO] [stdout] 345 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_remove`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 | /     harness
[INFO] [stdout] 226 | |         .expect_remove(&mut sub, &dots!(Greeting { id: 1_u32 }))
[INFO] [stdout]     | |________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_remove`
[INFO] [stdout]    --> src/lib.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub async fn expect_remove<T>(
[INFO] [stdout] ...
[INFO] [stdout] 345 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_remove`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:227:10
[INFO] [stdout]     |
[INFO] [stdout] 227 |         .await;
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::expect_remove`
[INFO] [stdout]    --> src/lib.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub async fn expect_remove<T>(
[INFO] [stdout] ...
[INFO] [stdout] 345 |         T: StructValue + Clone + Send + 'static,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::expect_remove`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:236:41
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let container = harness.container::<Counter>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:236:41
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let container = harness.container::<Counter>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:50
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Container<model::Counter>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:243:26
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Counter: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 243 |     let seen = container.get(&dots!(Counter { id: 5_u32 })).expect("seeded");
[INFO] [stdout]     |                          ^^^ method cannot be called on `Container<model::Counter>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Counter: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:253:41
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let container = harness.container::<Profile>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:253:41
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let container = harness.container::<Profile>();
[INFO] [stdout]     |                             ---------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::container`
[INFO] [stdout]    --> src/lib.rs:267:50
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn container<T>(&self) -> Container<T>
[INFO] [stdout] 266 |     where
[INFO] [stdout] 267 |         T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:254:46
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Profile: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:254:46
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let mut sub = harness.subscribe_stream::<Profile>();
[INFO] [stdout]     |                           ----------------   ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Profile`
[INFO] [stdout]    --> tests/harness.rs:36:5
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `Container<model::Profile>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> tests/harness.rs:259:23
[INFO] [stdout]     |
[INFO] [stdout]  36 |     pub struct Profile {
[INFO] [stdout]     |     ------------------ doesn't satisfy `model::Profile: StructValue`
[INFO] [stdout] ...
[INFO] [stdout] 259 |     let p = container.get(&dots!(Profile { id: 2_u32 })).expect("present");
[INFO] [stdout]     |                       ^^^ method cannot be called on `Container<model::Profile>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `model::Profile: StructValue`
[INFO] [stdout] note: the trait `StructValue` must be implemented
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-core-0.1.7/src/value.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub trait StructValue: Any {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:276:41
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut sub = h2.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                      ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |            ^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:276:41
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut sub = h2.subscribe_stream::<Greeting>();
[INFO] [stdout]     |                      ----------------   ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `TestHarness::subscribe_stream`
[INFO] [stdout]    --> src/lib.rs:258:58
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl TestHarness {
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn subscribe_stream<T>(&self) -> Subscription<T>
[INFO] [stdout] 257 |     where
[INFO] [stdout] 258 |         T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^ required by this bound in `TestHarness::subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:290:23
[INFO] [stdout]     |
[INFO] [stdout] 290 |     dots::container::<Greeting>();
[INFO] [stdout]     |                       ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `container`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn container<T>() -> Container<T>
[INFO] [stdout] 175 | where
[INFO] [stdout] 176 |     T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:290:23
[INFO] [stdout]     |
[INFO] [stdout] 290 |     dots::container::<Greeting>();
[INFO] [stdout]     |                       ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `container`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:176:46
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn container<T>() -> Container<T>
[INFO] [stdout] 175 | where
[INFO] [stdout] 176 |     T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ required by this bound in `container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:294:44
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let mut sub = dots::subscribe_stream::<Greeting>();
[INFO] [stdout]     |                                            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe_stream`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn subscribe_stream<T>() -> Subscription<T>
[INFO] [stdout] 132 | where
[INFO] [stdout] 133 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:294:44
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let mut sub = dots::subscribe_stream::<Greeting>();
[INFO] [stdout]     |                                            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe_stream`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:133:54
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn subscribe_stream<T>() -> Subscription<T>
[INFO] [stdout] 132 | where
[INFO] [stdout] 133 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^ required by this bound in `subscribe_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:318:23
[INFO] [stdout]     |
[INFO] [stdout] 318 |     dots::container::<Counter>();
[INFO] [stdout]     |                       ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `container`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn container<T>() -> Container<T>
[INFO] [stdout] 175 | where
[INFO] [stdout] 176 |     T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:318:23
[INFO] [stdout]     |
[INFO] [stdout] 318 |     dots::container::<Counter>();
[INFO] [stdout]     |                       ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `container`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:176:46
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn container<T>() -> Container<T>
[INFO] [stdout] 175 | where
[INFO] [stdout] 176 |     T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ required by this bound in `container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dots-rs-testing` (test "harness") due to 102 previous errors
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let _sub = dots::subscribe::<Counter>(move |evt| {
[INFO] [stdout]     |                                  ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn subscribe<T>(handler: impl FnMut(&Event<T>) + Send + 'static) -> SubscriptionHandle
[INFO] [stdout] 124 | where
[INFO] [stdout] 125 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `subscribe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the trait bound `model::Counter: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let _sub = dots::subscribe::<Counter>(move |evt| {
[INFO] [stdout]     |                                  ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Counter`
[INFO] [stdout]    --> tests/harness.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout]  27 |     pub struct Counter {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:125:54
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn subscribe<T>(handler: impl FnMut(&Event<T>) + Send + 'static) -> SubscriptionHandle
[INFO] [stdout] 124 | where
[INFO] [stdout] 125 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^ required by this bound in `subscribe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:339:23
[INFO] [stdout]     |
[INFO] [stdout] 339 |     dots::container::<Greeting>();
[INFO] [stdout]     |                       ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `container`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn container<T>() -> Container<T>
[INFO] [stdout] 175 | where
[INFO] [stdout] 176 |     T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:339:23
[INFO] [stdout]     |
[INFO] [stdout] 339 |     dots::container::<Greeting>();
[INFO] [stdout]     |                       ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `container`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:176:46
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn container<T>() -> Container<T>
[INFO] [stdout] 175 | where
[INFO] [stdout] 176 |     T: StructValue + Send + Sync + 'static + GlobalRegistration,
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ required by this bound in `container`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: StructValue` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 344 | /     dots::subscribe_tasked(
[INFO] [stdout] 345 | |         std::sync::Arc::new(tx),
[INFO] [stdout] 346 | |         |tx, evt: dots_rs_transport::Event<Greeting>| async move {
[INFO] [stdout] 347 | |             let _ = tx.send(evt.updated().clone());
[INFO] [stdout] 348 | |         },
[INFO] [stdout] 349 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `StructValue` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `StructValue`:
[INFO] [stdout]               AnyStruct
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe_tasked`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn subscribe_tasked<T, S, F, Fut>(state: Arc<S>, handler: F) -> tokio::task::JoinHandle<()>
[INFO] [stdout] 140 | where
[INFO] [stdout] 141 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |        ^^^^^^^^^^^ required by this bound in `subscribe_tasked`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `model::Greeting: GlobalRegistration` is not satisfied
[INFO] [stdout]    --> tests/harness.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 344 | /     dots::subscribe_tasked(
[INFO] [stdout] 345 | |         std::sync::Arc::new(tx),
[INFO] [stdout] 346 | |         |tx, evt: dots_rs_transport::Event<Greeting>| async move {
[INFO] [stdout] 347 | |             let _ = tx.send(evt.updated().clone());
[INFO] [stdout] 348 | |         },
[INFO] [stdout] 349 | |     );
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `GlobalRegistration` is not implemented for `model::Greeting`
[INFO] [stdout]    --> tests/harness.rs:18:5
[INFO] [stdout]     |
[INFO] [stdout]  18 |     pub struct Greeting {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `GlobalRegistration`:
[INFO] [stdout]               DotsHeader
[INFO] [stdout]               DynamicPublishable<'a>
[INFO] [stdout]               dots_rs_model::connection::DotsCacheInfo
[INFO] [stdout]               dots_rs_model::connection::DotsClearCache
[INFO] [stdout]               dots_rs_model::connection::DotsCloneInformation
[INFO] [stdout]               dots_rs_model::connection::DotsDescriptorRequest
[INFO] [stdout]               dots_rs_model::connection::DotsEcho
[INFO] [stdout]               dots_rs_model::connection::DotsMember
[INFO] [stdout]             and 22 others
[INFO] [stdout] note: required by a bound in `subscribe_tasked`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/dots-rs-transport-0.1.7/src/global.rs:141:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn subscribe_tasked<T, S, F, Fut>(state: Arc<S>, handler: F) -> tokio::task::JoinHandle<()>
[INFO] [stdout] 140 | where
[INFO] [stdout] 141 |     T: StructValue + Send + Sync + Clone + 'static + GlobalRegistration,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^ required by this bound in `subscribe_tasked`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6", kill_on_drop: false }`
[INFO] [stdout] 867c8f9f58d140c856324213150846390f7961c1cbabd04679479da5739af8a6
