[INFO] fetching crate spacetimedb 1.8.0...
[INFO] testing spacetimedb-1.8.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8
[INFO] extracting crate spacetimedb 1.8.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate spacetimedb 1.8.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate spacetimedb 1.8.0
[INFO] tweaked toml for crates.io crate spacetimedb 1.8.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate spacetimedb 1.8.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate spacetimedb 1.8.0 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9760ac05c3e760e5874f1bb0b487d8ad067a1ca595672e3ff82dc86bd99e4eab
[INFO] running `Command { std: "docker" "start" "-a" "9760ac05c3e760e5874f1bb0b487d8ad067a1ca595672e3ff82dc86bd99e4eab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9760ac05c3e760e5874f1bb0b487d8ad067a1ca595672e3ff82dc86bd99e4eab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9760ac05c3e760e5874f1bb0b487d8ad067a1ca595672e3ff82dc86bd99e4eab", kill_on_drop: false }`
[INFO] [stdout] 9760ac05c3e760e5874f1bb0b487d8ad067a1ca595672e3ff82dc86bd99e4eab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4beebef1cdba3846d88f6e8bf04798b0948effbb81cce6651e16b39c9f6f82d
[INFO] running `Command { std: "docker" "start" "-a" "e4beebef1cdba3846d88f6e8bf04798b0948effbb81cce6651e16b39c9f6f82d", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling ethnum v1.5.2
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling decorum v0.3.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling spacetimedb-lib v1.8.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling second-stack v0.3.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling spacetimedb-primitives v1.8.0
[INFO] [stderr]    Compiling spacetimedb-bindings-sys v1.8.0
[INFO] [stderr]    Compiling spacetimedb-bindings-macro v1.8.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling spacetimedb-sats v1.8.0
[INFO] [stderr]    Compiling spacetimedb v1.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.82s
[INFO] running `Command { std: "docker" "inspect" "e4beebef1cdba3846d88f6e8bf04798b0948effbb81cce6651e16b39c9f6f82d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4beebef1cdba3846d88f6e8bf04798b0948effbb81cce6651e16b39c9f6f82d", kill_on_drop: false }`
[INFO] [stdout] e4beebef1cdba3846d88f6e8bf04798b0948effbb81cce6651e16b39c9f6f82d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6bfb9c2bc028ea251918dde0c79f75ea7a57fb67246408aa0f7065b62f066b51
[INFO] running `Command { std: "docker" "start" "-a" "6bfb9c2bc028ea251918dde0c79f75ea7a57fb67246408aa0f7065b62f066b51", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling target-triple v0.1.4
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling ethnum v1.5.2
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling trybuild v1.0.112
[INFO] [stderr]    Compiling spacetimedb-sats v1.8.0
[INFO] [stderr]    Compiling insta v1.43.2
[INFO] [stderr]    Compiling spacetimedb-lib v1.8.0
[INFO] [stderr]    Compiling spacetimedb v1.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 53.74s
[INFO] running `Command { std: "docker" "inspect" "6bfb9c2bc028ea251918dde0c79f75ea7a57fb67246408aa0f7065b62f066b51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bfb9c2bc028ea251918dde0c79f75ea7a57fb67246408aa0f7065b62f066b51", kill_on_drop: false }`
[INFO] [stdout] 6bfb9c2bc028ea251918dde0c79f75ea7a57fb67246408aa0f7065b62f066b51
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7ebe38e2aa7c93ab13a754901f6f16264eadb631277a9c686c654324aa0f1aa1
[INFO] running `Command { std: "docker" "start" "-a" "7ebe38e2aa7c93ab13a754901f6f16264eadb631277a9c686c654324aa0f1aa1", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spacetimedb-35846f74f1905682)
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/deps.rs (/opt/rustwide/target/debug/deps/deps-ed1167351cc2b93d)
[INFO] [stdout] test tests::parse_single_audience ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test deptree_snapshot ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.48s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ui.rs (/opt/rustwide/target/debug/deps/ui-17b0e4e948439c7c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking decorum v0.3.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling spacetimedb-lib v1.8.0
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking ethnum v1.5.2
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking second-stack v0.3.5
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking spacetimedb-primitives v1.8.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking spacetimedb-bindings-sys v1.8.0
[INFO] [stderr]     Checking insta v1.43.2
[INFO] [stderr]    Compiling spacetimedb-bindings-macro v1.8.0
[INFO] [stderr]     Checking spacetimedb-sats v1.8.0
[INFO] [stderr]     Checking spacetimedb v1.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking spacetimedb-tests v0.0.0 (/opt/rustwide/target/tests/trybuild/spacetimedb)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.44s
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] test tests/ui/reducers.rs ... mismatch
[INFO] [stderr] 
[INFO] [stderr] EXPECTED:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error: type parameters are not allowed on reducers
[INFO] [stderr]   --> tests/ui/reducers.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn type_param<T>() {}
[INFO] [stderr]    |               ^
[INFO] [stderr] 
[INFO] [stderr] error: const parameters are not allowed on reducers
[INFO] [stderr]   --> tests/ui/reducers.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn const_param<const X: u8>() {}
[INFO] [stderr]    |                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: scheduled table missing required columns; add these to your struct:
[INFO] [stderr]        #[primary_key]
[INFO] [stderr]        #[auto_inc]
[INFO] [stderr]        scheduled_id: u64,
[INFO] [stderr]        scheduled_at: spacetimedb::ScheduleAt,
[INFO] [stderr]   --> tests/ui/reducers.rs:28:59
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[spacetimedb::table(name = scheduled_table_missing_rows, scheduled(scheduled_table_missing_rows_reducer))]
[INFO] [stderr]    |                                                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
[INFO] [stderr]   |    ^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]   |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the reducer argument `Test` does not implement `SpacetimeType`
[INFO] [stderr]  --> tests/ui/reducers.rs:6:40
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
[INFO] [stderr]   |                                        ^^^^ the trait `SpacetimeType` is not implemented for `Test`
[INFO] [stderr]   |
[INFO] [stderr]   = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]   = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             AlgebraicType
[INFO] [stderr]             AlgebraicTypeRef
[INFO] [stderr]             Arc<T>
[INFO] [stderr]             ArrayType
[INFO] [stderr]             Box<T>
[INFO] [stderr]             ColId
[INFO] [stderr]           and $N others
[INFO] [stderr]   = note: required for `Test` to implement `ReducerArg`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
[INFO] [stderr]   |    ^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]   |        -------------- required by a bound in this function
[INFO] [stderr]   |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]   |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `Test` is not a valid reducer return type
[INFO] [stderr]  --> tests/ui/reducers.rs:9:46
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
[INFO] [stderr]   |                                              ^^^^ the trait `IntoReducerResult` is not implemented for `Test`
[INFO] [stderr]   |
[INFO] [stderr]   = note: reducers cannot return values -- you can only return `()` or `Result<(), impl Display>`
[INFO] [stderr]   = help: the following other types implement trait `IntoReducerResult`:
[INFO] [stderr]             ()
[INFO] [stderr]             Result<(), E>
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]   |        -------------- required by a bound in this function
[INFO] [stderr]   |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:23:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 23 | fn missing_ctx(_a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(u8) {missing_ctx}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]    |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the first argument of a reducer must be `&ReducerContext`
[INFO] [stderr]   --> tests/ui/reducers.rs:23:20
[INFO] [stderr]    |
[INFO] [stderr] 23 | fn missing_ctx(_a: u8) {}
[INFO] [stderr]    |                    ^^ first argument must be `&ReducerContext`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `ReducerContextArg` is not implemented for `u8`
[INFO] [stderr]    = help: the trait `ReducerContextArg` is implemented for `&ReducerContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:23:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 23 | fn missing_ctx(_a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(u8) {missing_ctx}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]    |        -------------- required by a bound in this function
[INFO] [stderr]    |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(ReducerContext, u8) {ctx_by_val}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]    |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the first argument of a reducer must be `&ReducerContext`
[INFO] [stderr]   --> tests/ui/reducers.rs:26:21
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^ first argument must be `&ReducerContext`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `ReducerContextArg` is not implemented for `ReducerContext`
[INFO] [stderr]    = help: the trait `ReducerContextArg` is implemented for `&ReducerContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(ReducerContext, u8) {ctx_by_val}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]    |        -------------- required by a bound in this function
[INFO] [stderr]    |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0593]: function is expected to take 2 arguments, but it takes 3 arguments
[INFO] [stderr]   --> tests/ui/reducers.rs:37:56
[INFO] [stderr]    |
[INFO] [stderr] 37 | #[spacetimedb::table(name = scheduled_table, scheduled(scheduled_table_reducer))]
[INFO] [stderr]    | -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stderr]    | |                                                      |
[INFO] [stderr]    | |                                                      expected function that takes 2 arguments
[INFO] [stderr]    | required by a bound introduced by this call
[INFO] [stderr] ...
[INFO] [stderr] 48 | fn scheduled_table_reducer(_ctx: &ReducerContext, _x: u8, _y: u8) {}
[INFO] [stderr]    | ----------------------------------------------------------------- takes 3 arguments
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `Reducer<'_, (ScheduledTable,)>`
[INFO] [stderr]    = note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `ExportFunctionForScheduledTable<'_, ScheduledTable, FnKindReducer>`
[INFO] [stderr] note: required by a bound in `scheduled_typecheck`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub const fn scheduled_typecheck<'de, Row, FnKind>(_x: impl ExportFunctionForScheduledTable<'de, Row, FnKind>)
[INFO] [stderr]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `scheduled_typecheck`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] 
[INFO] [stderr] ACTUAL OUTPUT:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error: type parameters are not allowed on reducers
[INFO] [stderr]   --> tests/ui/reducers.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn type_param<T>() {}
[INFO] [stderr]    |               ^
[INFO] [stderr] 
[INFO] [stderr] error: const parameters are not allowed on reducers
[INFO] [stderr]   --> tests/ui/reducers.rs:20:16
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn const_param<const X: u8>() {}
[INFO] [stderr]    |                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: scheduled table missing required columns; add these to your struct:
[INFO] [stderr]        #[primary_key]
[INFO] [stderr]        #[auto_inc]
[INFO] [stderr]        scheduled_id: u64,
[INFO] [stderr]        scheduled_at: spacetimedb::ScheduleAt,
[INFO] [stderr]   --> tests/ui/reducers.rs:28:59
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[spacetimedb::table(name = scheduled_table_missing_rows, scheduled(scheduled_table_missing_rows_reducer))]
[INFO] [stderr]    |                                                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
[INFO] [stderr]   |    ^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]   |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the reducer argument `Test` does not implement `SpacetimeType`
[INFO] [stderr]  --> tests/ui/reducers.rs:6:40
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
[INFO] [stderr]   |                                        ^^^^ unsatisfied trait bound
[INFO] [stderr]   |
[INFO] [stderr] help: the trait `SpacetimeType` is not implemented for `Test`
[INFO] [stderr]  --> tests/ui/reducers.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | struct Test;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]   = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             AlgebraicType
[INFO] [stderr]             AlgebraicTypeRef
[INFO] [stderr]             Arc<T>
[INFO] [stderr]             ArrayType
[INFO] [stderr]             Box<T>
[INFO] [stderr]             ColumnAttribute
[INFO] [stderr]           and $N others
[INFO] [stderr]   = note: required for `Test` to implement `ReducerArg`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
[INFO] [stderr]   |    ^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]   |        -------------- required by a bound in this function
[INFO] [stderr]   |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]   |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `Test` is not a valid reducer return type
[INFO] [stderr]  --> tests/ui/reducers.rs:9:46
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
[INFO] [stderr]   |                                              ^^^^ unsatisfied trait bound
[INFO] [stderr]   |
[INFO] [stderr] help: the trait `IntoReducerResult` is not implemented for `Test`
[INFO] [stderr]  --> tests/ui/reducers.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | struct Test;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   = note: reducers cannot return values -- you can only return `()` or `Result<(), impl Display>`
[INFO] [stderr] help: the following other types implement trait `IntoReducerResult`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | impl IntoReducerResult for () {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `()`
[INFO] [stderr] ...
[INFO] [stderr]   | impl<E: fmt::Display> IntoReducerResult for Result<(), E> {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<(), E>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]  --> tests/ui/reducers.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[spacetimedb::reducer]
[INFO] [stderr]   | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
[INFO] [stderr]   = note:
[INFO] [stderr]   = note: reducer signatures must match the following pattern:
[INFO] [stderr]   = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]   = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]   = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]  --> src/rt.rs
[INFO] [stderr]   |
[INFO] [stderr]   | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]   |        -------------- required by a bound in this function
[INFO] [stderr]   |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:23:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 23 | fn missing_ctx(_a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(u8) {missing_ctx}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]    |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the first argument of a reducer must be `&ReducerContext`
[INFO] [stderr]   --> tests/ui/reducers.rs:23:20
[INFO] [stderr]    |
[INFO] [stderr] 23 | fn missing_ctx(_a: u8) {}
[INFO] [stderr]    |                    ^^ first argument must be `&ReducerContext`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `ReducerContextArg` is not implemented for `u8`
[INFO] [stderr] help: the trait `ReducerContextArg` is implemented for `&ReducerContext`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | impl ReducerContextArg for &ReducerContext {}
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:23:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 23 | fn missing_ctx(_a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(u8) {missing_ctx}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]    |        -------------- required by a bound in this function
[INFO] [stderr]    |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(ReducerContext, u8) {ctx_by_val}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `register_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn register_reducer<'a, A: Args<'a>, I: FnInfo<Invoke = ReducerFn>>(_: impl Reducer<'a, A>) {
[INFO] [stderr]    |                                                                                 ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the first argument of a reducer must be `&ReducerContext`
[INFO] [stderr]   --> tests/ui/reducers.rs:26:21
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^ first argument must be `&ReducerContext`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `ReducerContextArg` is not implemented for `ReducerContext`
[INFO] [stderr] help: the trait `ReducerContextArg` is implemented for `&ReducerContext`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | impl ReducerContextArg for &ReducerContext {}
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid reducer signature
[INFO] [stderr]   --> tests/ui/reducers.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[spacetimedb::reducer]
[INFO] [stderr]    | ----------------------- required by a bound introduced by this call
[INFO] [stderr] 26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
[INFO] [stderr]    |    ^^^^^^^^^^ this reducer signature is not valid
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(ReducerContext, u8) {ctx_by_val}`
[INFO] [stderr]    = note:
[INFO] [stderr]    = note: reducer signatures must match the following pattern:
[INFO] [stderr]    = note:     `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
[INFO] [stderr]    = note: where each `Ti` type implements `SpacetimeType`.
[INFO] [stderr]    = note:
[INFO] [stderr] note: required by a bound in `invoke_reducer`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub fn invoke_reducer<'a, A: Args<'a>>(
[INFO] [stderr]    |        -------------- required by a bound in this function
[INFO] [stderr]    |     reducer: impl Reducer<'a, A>,
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
[INFO] [stderr] 
[INFO] [stderr] error[E0593]: function is expected to take 2 arguments, but it takes 3 arguments
[INFO] [stderr]   --> tests/ui/reducers.rs:37:56
[INFO] [stderr]    |
[INFO] [stderr] 37 | #[spacetimedb::table(name = scheduled_table, scheduled(scheduled_table_reducer))]
[INFO] [stderr]    | -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stderr]    | |                                                      |
[INFO] [stderr]    | |                                                      expected function that takes 2 arguments
[INFO] [stderr]    | required by a bound introduced by this call
[INFO] [stderr] ...
[INFO] [stderr] 48 | fn scheduled_table_reducer(_ctx: &ReducerContext, _x: u8, _y: u8) {}
[INFO] [stderr]    | ----------------------------------------------------------------- takes 3 arguments
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `Reducer<'_, (ScheduledTable,)>`
[INFO] [stderr]    = note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `ExportFunctionForScheduledTable<'_, ScheduledTable, FnKindReducer>`
[INFO] [stderr] note: required by a bound in `scheduled_typecheck`
[INFO] [stderr]   --> src/rt.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub const fn scheduled_typecheck<'de, Row, FnKind>(_x: impl ExportFunctionForScheduledTable<'de, Row, FnKind>)
[INFO] [stderr]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `scheduled_typecheck`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] note: If the actual output is the correct output you can bless it by rerunning
[INFO] [stderr]       your test with the environment variable TRYBUILD=overwrite
[INFO] [stderr] 
[INFO] [stderr] test tests/ui/tables.rs ... mismatch
[INFO] [stderr] 
[INFO] [stderr] EXPECTED:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error: type parameters are not allowed on tables
[INFO] [stderr]  --> tests/ui/tables.rs:9:18
[INFO] [stderr]   |
[INFO] [stderr] 9 | struct TypeParam<T> {
[INFO] [stderr]   |                  ^
[INFO] [stderr] 
[INFO] [stderr] error: const parameters are not allowed on tables
[INFO] [stderr]   --> tests/ui/tables.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct ConstParam<const X: u8> {}
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: SpacetimeType` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ the trait `SpacetimeType` is not implemented for `Test`
[INFO] [stderr]   |
[INFO] [stderr]   = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]   = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             AlgebraicType
[INFO] [stderr]             AlgebraicTypeRef
[INFO] [stderr]             Alpha
[INFO] [stderr]             Arc<T>
[INFO] [stderr]             ArrayType
[INFO] [stderr]             Box<T>
[INFO] [stderr]           and $N others
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: Deserialize<'de>` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[spacetimedb::table(name = table)]
[INFO] [stderr]   | ----------------------------------- required by a bound introduced by this call
[INFO] [stderr] 4 | struct Table {
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ the trait `Deserialize<'de>` is not implemented for `Test`
[INFO] [stderr]   |
[INFO] [stderr]   = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stderr]             &'de [u8]
[INFO] [stderr]             &'de str
[INFO] [stderr]             ()
[INFO] [stderr]             (T0, T1)
[INFO] [stderr]             (T0, T1, T2)
[INFO] [stderr]             (T0, T1, T2, T3)
[INFO] [stderr]             (T0, T1, T2, T3, T4)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]           and $N others
[INFO] [stderr] note: required by a bound in `spacetimedb::spacetimedb_lib::de::SeqProductAccess::next_element`
[INFO] [stderr]  --> $WORKSPACE/crates/sats/src/de.rs
[INFO] [stderr]   |
[INFO] [stderr]   |     fn next_element<T: Deserialize<'de>>(&mut self) -> Result<Option<T>, Self::Error> {
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^^ required by this bound in `SeqProductAccess::next_element`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: Deserialize<'_>` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ the trait `Deserialize<'_>` is not implemented for `Test`
[INFO] [stderr]   |
[INFO] [stderr]   = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stderr]             &'de [u8]
[INFO] [stderr]             &'de str
[INFO] [stderr]             ()
[INFO] [stderr]             (T0, T1)
[INFO] [stderr]             (T0, T1, T2)
[INFO] [stderr]             (T0, T1, T2, T3)
[INFO] [stderr]             (T0, T1, T2, T3, T4)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]           and $N others
[INFO] [stderr] note: required by a bound in `get_field_value`
[INFO] [stderr]  --> $WORKSPACE/crates/sats/src/de.rs
[INFO] [stderr]   |
[INFO] [stderr]   |     fn get_field_value<T: Deserialize<'de>>(&mut self) -> Result<T, Self::Error> {
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^^^ required by this bound in `NamedProductAccess::get_field_value`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: Serialize` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ the trait `Serialize` is not implemented for `Test`
[INFO] [stderr]   |
[INFO] [stderr]   = help: the following other types implement trait `Serialize`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             (T0, T1)
[INFO] [stderr]             (T0, T1, T2)
[INFO] [stderr]             (T0, T1, T2, T3)
[INFO] [stderr]             (T0, T1, T2, T3, T4)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5, T6)
[INFO] [stderr]           and $N others
[INFO] [stderr] note: required by a bound in `spacetimedb::spacetimedb_lib::ser::SerializeNamedProduct::serialize_element`
[INFO] [stderr]  --> $WORKSPACE/crates/sats/src/ser.rs
[INFO] [stderr]   |
[INFO] [stderr]   |     fn serialize_element<T: Serialize + ?Sized>(&mut self, name: Option<&str>, elem: &T) -> Result<(), Self::Error>;
[INFO] [stderr]   |                             ^^^^^^^^^ required by this bound in `SerializeNamedProduct::serialize_element`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the column type `Test` does not implement `SpacetimeType`
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ the trait `SpacetimeType` is not implemented for `Test`
[INFO] [stderr]   |
[INFO] [stderr]   = note: table column types all must implement `SpacetimeType`
[INFO] [stderr]   = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]   = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             AlgebraicType
[INFO] [stderr]             AlgebraicTypeRef
[INFO] [stderr]             Alpha
[INFO] [stderr]             Arc<T>
[INFO] [stderr]             ArrayType
[INFO] [stderr]             Box<T>
[INFO] [stderr]           and $N others
[INFO] [stderr]   = note: required for `Test` to implement `TableColumn`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `&'a Alpha` cannot appear as an argument to an index filtering operation
[INFO] [stderr]   --> tests/ui/tables.rs:32:33
[INFO] [stderr]    |
[INFO] [stderr] 32 |     ctx.db.delta().compound_a().find(Alpha { beta: 0 });
[INFO] [stderr]    |                                 ^^^^ should be an integer type, `bool`, `String`, `&str`, `Identity`, `ConnectionId`, `Hash` or a no-payload enum which derives `SpacetimeType`, not `&'a Alpha`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `for<'a> FilterableValue` is not implemented for `&'a Alpha`
[INFO] [stderr]    = note: The allowed set of types are limited to integers, bool, strings, `Identity`, `ConnectionId`, `Hash` and no-payload enums which derive `SpacetimeType`,
[INFO] [stderr]    = help: the following other types implement trait `FilterableValue`:
[INFO] [stderr]              &ConnectionId
[INFO] [stderr]              &Identity
[INFO] [stderr]              &Lifecycle
[INFO] [stderr]              &TableAccess
[INFO] [stderr]              &TableType
[INFO] [stderr]              &bool
[INFO] [stderr]              &ethnum::int::I256
[INFO] [stderr]              &ethnum::uint::U256
[INFO] [stderr]            and $N others
[INFO] [stderr] note: required by a bound in `UniqueColumn::<Tbl, <Col as Column>::ColType, Col>::find`
[INFO] [stderr]   --> src/table.rs
[INFO] [stderr]    |
[INFO] [stderr]    |     pub fn find(&self, col_val: impl Borrow<Col::ColType>) -> Option<Tbl::Row>
[INFO] [stderr]    |            ---- required by a bound in this associated function
[INFO] [stderr]    |     where
[INFO] [stderr]    |         for<'a> &'a Col::ColType: FilterableValue,
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^ required by this bound in `UniqueColumn::<Tbl, <Col as Column>::ColType, Col>::find`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Alpha: IndexScanRangeBounds<(Alpha,), SingleBound>` is not satisfied
[INFO] [stderr]   --> tests/ui/tables.rs:33:40
[INFO] [stderr]    |
[INFO] [stderr] 33 |     ctx.db.delta().compound_b().filter(Alpha { beta: 1 });
[INFO] [stderr]    |                                 ------ ^^^^^^^^^^^^^^^^^ the trait `FilterableValue` is not implemented for `Alpha`
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 required by a bound introduced by this call
[INFO] [stderr]    |
[INFO] [stderr]    = help: the following other types implement trait `FilterableValue`:
[INFO] [stderr]              &ConnectionId
[INFO] [stderr]              &Identity
[INFO] [stderr]              &Lifecycle
[INFO] [stderr]              &TableAccess
[INFO] [stderr]              &TableType
[INFO] [stderr]              &bool
[INFO] [stderr]              &ethnum::int::I256
[INFO] [stderr]              &ethnum::uint::U256
[INFO] [stderr]            and $N others
[INFO] [stderr]    = note: required for `Alpha` to implement `IndexScanRangeBounds<(Alpha,), SingleBound>`
[INFO] [stderr] note: required by a bound in `RangedIndex::<Tbl, IndexType, Idx>::filter`
[INFO] [stderr]   --> src/table.rs
[INFO] [stderr]    |
[INFO] [stderr]    |     pub fn filter<B, K>(&self, b: B) -> impl Iterator<Item = Tbl::Row>
[INFO] [stderr]    |            ------ required by a bound in this associated function
[INFO] [stderr]    |     where
[INFO] [stderr]    |         B: IndexScanRangeBounds<IndexType, K>,
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RangedIndex::<Tbl, IndexType, Idx>::filter`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] 
[INFO] [stderr] ACTUAL OUTPUT:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error: type parameters are not allowed on tables
[INFO] [stderr]  --> tests/ui/tables.rs:9:18
[INFO] [stderr]   |
[INFO] [stderr] 9 | struct TypeParam<T> {
[INFO] [stderr]   |                  ^
[INFO] [stderr] 
[INFO] [stderr] error: const parameters are not allowed on tables
[INFO] [stderr]   --> tests/ui/tables.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct ConstParam<const X: u8> {}
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: SpacetimeType` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ unsatisfied trait bound
[INFO] [stderr]   |
[INFO] [stderr] help: the trait `SpacetimeType` is not implemented for `Test`
[INFO] [stderr]  --> tests/ui/tables.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | struct Test;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]   = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             AlgebraicType
[INFO] [stderr]             AlgebraicTypeRef
[INFO] [stderr]             Alpha
[INFO] [stderr]             Arc<T>
[INFO] [stderr]             ArrayType
[INFO] [stderr]             Box<T>
[INFO] [stderr]           and $N others
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: Deserialize<'de>` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[spacetimedb::table(name = table)]
[INFO] [stderr]   | ----------------------------------- required by a bound introduced by this call
[INFO] [stderr] 4 | struct Table {
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ unsatisfied trait bound
[INFO] [stderr]   |
[INFO] [stderr] help: the trait `Deserialize<'de>` is not implemented for `Test`
[INFO] [stderr]  --> tests/ui/tables.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | struct Test;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stderr]             &'de [u8]
[INFO] [stderr]             &'de str
[INFO] [stderr]             ()
[INFO] [stderr]             (T0, T1)
[INFO] [stderr]             (T0, T1, T2)
[INFO] [stderr]             (T0, T1, T2, T3)
[INFO] [stderr]             (T0, T1, T2, T3, T4)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]           and $N others
[INFO] [stderr] note: required by a bound in `spacetimedb::spacetimedb_lib::de::SeqProductAccess::next_element`
[INFO] [stderr]  --> $CARGO/spacetimedb-sats-$VERSION/src/de.rs
[INFO] [stderr]   |
[INFO] [stderr]   |     fn next_element<T: Deserialize<'de>>(&mut self) -> Result<Option<T>, Self::Error> {
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^^ required by this bound in `SeqProductAccess::next_element`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: Deserialize<'_>` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ unsatisfied trait bound
[INFO] [stderr]   |
[INFO] [stderr] help: the trait `Deserialize<'_>` is not implemented for `Test`
[INFO] [stderr]  --> tests/ui/tables.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | struct Test;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stderr]             &'de [u8]
[INFO] [stderr]             &'de str
[INFO] [stderr]             ()
[INFO] [stderr]             (T0, T1)
[INFO] [stderr]             (T0, T1, T2)
[INFO] [stderr]             (T0, T1, T2, T3)
[INFO] [stderr]             (T0, T1, T2, T3, T4)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]           and $N others
[INFO] [stderr] note: required by a bound in `get_field_value`
[INFO] [stderr]  --> $CARGO/spacetimedb-sats-$VERSION/src/de.rs
[INFO] [stderr]   |
[INFO] [stderr]   |     fn get_field_value<T: Deserialize<'de>>(&mut self) -> Result<T, Self::Error> {
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^^^ required by this bound in `NamedProductAccess::get_field_value`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Test: Serialize` is not satisfied
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ unsatisfied trait bound
[INFO] [stderr]   |
[INFO] [stderr] help: the trait `Serialize` is not implemented for `Test`
[INFO] [stderr]  --> tests/ui/tables.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | struct Test;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   = help: the following other types implement trait `Serialize`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             (T0, T1)
[INFO] [stderr]             (T0, T1, T2)
[INFO] [stderr]             (T0, T1, T2, T3)
[INFO] [stderr]             (T0, T1, T2, T3, T4)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]             (T0, T1, T2, T3, T4, T5, T6)
[INFO] [stderr]           and $N others
[INFO] [stderr] note: required by a bound in `spacetimedb::spacetimedb_lib::ser::SerializeNamedProduct::serialize_element`
[INFO] [stderr]  --> $CARGO/spacetimedb-sats-$VERSION/src/ser.rs
[INFO] [stderr]   |
[INFO] [stderr]   |     fn serialize_element<T: Serialize + ?Sized>(&mut self, name: Option<&str>, elem: &T) -> Result<(), Self::Error>;
[INFO] [stderr]   |                             ^^^^^^^^^ required by this bound in `SerializeNamedProduct::serialize_element`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the column type `Test` does not implement `SpacetimeType`
[INFO] [stderr]  --> tests/ui/tables.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     x: Test,
[INFO] [stderr]   |        ^^^^ unsatisfied trait bound
[INFO] [stderr]   |
[INFO] [stderr] help: the trait `SpacetimeType` is not implemented for `Test`
[INFO] [stderr]  --> tests/ui/tables.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | struct Test;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   = note: table column types all must implement `SpacetimeType`
[INFO] [stderr]   = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]   = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]             &T
[INFO] [stderr]             ()
[INFO] [stderr]             AlgebraicType
[INFO] [stderr]             AlgebraicTypeRef
[INFO] [stderr]             Alpha
[INFO] [stderr]             Arc<T>
[INFO] [stderr]             ArrayType
[INFO] [stderr]             Box<T>
[INFO] [stderr]           and $N others
[INFO] [stderr]   = note: required for `Test` to implement `TableColumn`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `&'a Alpha` cannot appear as an argument to an index filtering operation
[INFO] [stderr]   --> tests/ui/tables.rs:32:33
[INFO] [stderr]    |
[INFO] [stderr] 32 |     ctx.db.delta().compound_a().find(Alpha { beta: 0 });
[INFO] [stderr]    |                                 ^^^^ should be an integer type, `bool`, `String`, `&str`, `Identity`, `ConnectionId`, `Hash` or a no-payload enum which derives `SpacetimeType`, not `&'a Alpha`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `for<'a> FilterableValue` is not implemented for `&'a Alpha`
[INFO] [stderr]    = note: The allowed set of types are limited to integers, bool, strings, `Identity`, `ConnectionId`, `Hash` and no-payload enums which derive `SpacetimeType`,
[INFO] [stderr]    = help: the following other types implement trait `FilterableValue`:
[INFO] [stderr]              &ConnectionId
[INFO] [stderr]              &Identity
[INFO] [stderr]              &Lifecycle
[INFO] [stderr]              &TableAccess
[INFO] [stderr]              &TableType
[INFO] [stderr]              &bool
[INFO] [stderr]              &ethnum::int::I256
[INFO] [stderr]              &ethnum::uint::U256
[INFO] [stderr]            and $N others
[INFO] [stderr] note: required by a bound in `UniqueColumn::<Tbl, <Col as Column>::ColType, Col>::find`
[INFO] [stderr]   --> src/table.rs
[INFO] [stderr]    |
[INFO] [stderr]    |     pub fn find(&self, col_val: impl Borrow<Col::ColType>) -> Option<Tbl::Row>
[INFO] [stderr]    |            ---- required by a bound in this associated function
[INFO] [stderr]    |     where
[INFO] [stderr]    |         for<'a> &'a Col::ColType: FilterableValue,
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^ required by this bound in `UniqueColumn::<Tbl, <Col as Column>::ColType, Col>::find`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `Alpha: IndexScanRangeBounds<(Alpha,), SingleBound>` is not satisfied
[INFO] [stderr]   --> tests/ui/tables.rs:33:40
[INFO] [stderr]    |
[INFO] [stderr] 33 |     ctx.db.delta().compound_b().filter(Alpha { beta: 1 });
[INFO] [stderr]    |                                 ------ ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 required by a bound introduced by this call
[INFO] [stderr]    |
[INFO] [stderr] help: the trait `FilterableValue` is not implemented for `Alpha`
[INFO] [stderr]   --> tests/ui/tables.rs:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | struct Alpha {
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    = help: the following other types implement trait `FilterableValue`:
[INFO] [stderr]              &ConnectionId
[INFO] [stderr]              &Identity
[INFO] [stderr]              &Lifecycle
[INFO] [stderr]              &TableAccess
[INFO] [stderr]              &TableType
[INFO] [stderr]              &bool
[INFO] [stderr]              &ethnum::int::I256
[INFO] [stderr]              &ethnum::uint::U256
[INFO] [stderr]            and $N others
[INFO] [stderr]    = note: required for `Alpha` to implement `IndexScanRangeBounds<(Alpha,), SingleBound>`
[INFO] [stderr] note: required by a bound in `RangedIndex::<Tbl, IndexType, Idx>::filter`
[INFO] [stderr]   --> src/table.rs
[INFO] [stderr]    |
[INFO] [stderr]    |     pub fn filter<B, K>(&self, b: B) -> impl Iterator<Item = Tbl::Row>
[INFO] [stderr]    |            ------ required by a bound in this associated function
[INFO] [stderr]    |     where
[INFO] [stderr]    |         B: IndexScanRangeBounds<IndexType, K>,
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RangedIndex::<Tbl, IndexType, Idx>::filter`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] note: If the actual output is the correct output you can bless it by rerunning
[INFO] [stderr]       your test with the environment variable TRYBUILD=overwrite
[INFO] [stderr] 
[INFO] [stderr] test tests/ui/views.rs ... mismatch
[INFO] [stderr] 
[INFO] [stderr] EXPECTED:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error: views must be `public`, e.g. `#[view(public)]`
[INFO] [stderr]   --> tests/ui/views.rs:76:1
[INFO] [stderr]    |
[INFO] [stderr] 76 | #[view(name = view_def_no_public)]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: `public` already specified
[INFO] [stderr]   --> tests/ui/views.rs:82:44
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[view(name = view_def_dup_public, public, public)]
[INFO] [stderr]    |                                            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: `name` already specified
[INFO] [stderr]   --> tests/ui/views.rs:88:34
[INFO] [stderr]    |
[INFO] [stderr] 88 | #[view(name = view_def_dup_name, name = view_def_dup_name, public)]
[INFO] [stderr]    |                                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: expected `name` or `public`
[INFO] [stderr]   --> tests/ui/views.rs:94:49
[INFO] [stderr]    |
[INFO] [stderr] 94 | #[view(name = view_def_unsupported_arg, public, anonymous)]
[INFO] [stderr]    |                                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: Views must always have a context parameter: `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:101:1
[INFO] [stderr]     |
[INFO] [stderr] 101 | fn view_def_no_context() -> Vec<Player> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: The first parameter of a view must be a context parameter: `&ViewContext` or `&AnonymousViewContext`; passed by reference
[INFO] [stderr]    --> tests/ui/views.rs:113:38
[INFO] [stderr]     |
[INFO] [stderr] 113 | fn view_def_pass_context_by_value(_: ViewContext) -> Vec<Player> {
[INFO] [stderr]     |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: Views do not take parameters other than `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:119:1
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn view_def_wrong_context_position(_: &u32, _: &ViewContext) -> Vec<Player> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: views must return `Vec<T>` or `Option<T>` where `T` is a `SpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:125:1
[INFO] [stderr]     |
[INFO] [stderr] 125 | fn view_def_no_return(_: &ViewContext) {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: Views do not take parameters other than `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:154:1
[INFO] [stderr]     |
[INFO] [stderr] 154 | fn scheduled_table_view(_: &ViewContext, _args: ScheduledTable) -> Vec<Player> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0573]: expected type, found function `scheduled_table_view`
[INFO] [stderr]    --> tests/ui/views.rs:142:56
[INFO] [stderr]     |
[INFO] [stderr] 142 | #[spacetimedb::table(name = scheduled_table, scheduled(scheduled_table_view))]
[INFO] [stderr]     |                             ---------------            ^^^^^^^^^^^^^^^^^^^^ help: a trait with a similar name exists: `scheduled_table__view`
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             similarly named trait `scheduled_table__view` defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `ViewKind<ReducerContext>: ViewKindTrait` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ViewKindTrait` is not implemented for `ViewKind<ReducerContext>`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following other types implement trait `ViewKindTrait`:
[INFO] [stderr]               ViewKind<AnonymousViewContext>
[INFO] [stderr]               ViewKind<ViewContext>
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0276]: impl has stricter requirements than trait
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `ViewKind<ReducerContext>: ViewKindTrait`
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `iter` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:15:34
[INFO] [stderr]    |
[INFO] [stderr] 15 |     for _ in read_only.db.test().iter() {}
[INFO] [stderr]    |                                  ^^^^ method not found in `&test__ViewHandle`
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `iter`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]            candidate #2: `bitflags::traits::Flags`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: `&test__ViewHandle` is not an iterator
[INFO] [stderr]   --> tests/ui/views.rs:22:33
[INFO] [stderr]    |
[INFO] [stderr]  3 | #[table(name = test)]
[INFO] [stderr]    | ------------------- doesn't satisfy `test__ViewHandle: Iterator`
[INFO] [stderr] ...
[INFO] [stderr] 22 |     let _ = read_only.db.test().count();
[INFO] [stderr]    |                                 ^^^^^ `&test__ViewHandle` is not an iterator
[INFO] [stderr]    |
[INFO] [stderr]    = note: the following trait bounds were not satisfied:
[INFO] [stderr]            `&test__ViewHandle: Iterator`
[INFO] [stderr]            which is required by `&mut &test__ViewHandle: Iterator`
[INFO] [stderr]            `test__ViewHandle: Iterator`
[INFO] [stderr]            which is required by `&mut test__ViewHandle: Iterator`
[INFO] [stderr] note: the trait `Iterator` must be implemented
[INFO] [stderr]   --> $RUST/core/src/iter/traits/iterator.rs
[INFO] [stderr]    |
[INFO] [stderr]    | pub trait Iterator {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `count`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]    = note: the trait `Iterator` defines an item `count`, but is explicitly unimplemented
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `insert` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:29:25
[INFO] [stderr]    |
[INFO] [stderr] 29 |     read_only.db.test().insert(Test { id: 0, x: 0 });
[INFO] [stderr]    |                         ^^^^^^ method not found in `&test__ViewHandle`
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `insert`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]            candidate #2: `bitflags::traits::Flags`
[INFO] [stderr]            candidate #3: `ppv_lite86::types::Vec2`
[INFO] [stderr]            candidate #4: `ppv_lite86::types::Vec4`
[INFO] [stderr]            candidate #5: `similar::algorithms::DiffHook`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `try_insert` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:36:25
[INFO] [stderr]    |
[INFO] [stderr] 36 |     read_only.db.test().try_insert(Test { id: 0, x: 0 });
[INFO] [stderr]    |                         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following trait defines an item `try_insert`, perhaps you need to implement it:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr] help: there is a method `try_into` with a similar name, but with different arguments
[INFO] [stderr]   --> $RUST/core/src/convert/mod.rs
[INFO] [stderr]    |
[INFO] [stderr]    |     fn try_into(self) -> Result<T, Self::Error>;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `delete` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:43:25
[INFO] [stderr]    |
[INFO] [stderr] 43 |     read_only.db.test().delete(Test { id: 0, x: 0 });
[INFO] [stderr]    |                         ^^^^^^ method not found in `&test__ViewHandle`
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `delete`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]            candidate #2: `similar::algorithms::DiffHook`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `delete` found for struct `UniqueColumnReadOnly` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:50:30
[INFO] [stderr]    |
[INFO] [stderr] 50 |     read_only.db.test().id().delete(&0);
[INFO] [stderr]    |                              ^^^^^^ method not found in `UniqueColumnReadOnly<test__TableHandle, u32, id>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `update` found for struct `UniqueColumnReadOnly` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:57:30
[INFO] [stderr]    |
[INFO] [stderr] 57 |     read_only.db.test().id().update(Test { id: 0, x: 0 });
[INFO] [stderr]    |                              ^^^^^^ method not found in `UniqueColumnReadOnly<test__TableHandle, u32, id>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `delete` found for struct `RangedIndexReadOnly` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:64:29
[INFO] [stderr]    |
[INFO] [stderr] 64 |     read_only.db.test().x().delete(0u32..);
[INFO] [stderr]    |                             ^^^^^^ method not found in `RangedIndexReadOnly<test__TableHandle, (u32,), x>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `register` found for struct `ViewRegistrar<ReducerContext>` in the current scope
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function or associated item not found in `ViewRegistrar<ReducerContext>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the function or associated item was found for
[INFO] [stderr]             - `ViewRegistrar<AnonymousViewContext>`
[INFO] [stderr]             - `ViewRegistrar<ViewContext>`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: The first parameter of a `#[view]` must be `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:107:31
[INFO] [stderr]     |
[INFO] [stderr] 107 | fn view_def_wrong_context(_: &ReducerContext) -> Vec<Player> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^ the trait `ViewContextArg` is not implemented for `ReducerContext`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following other types implement trait `ViewContextArg`:
[INFO] [stderr]               AnonymousViewContext
[INFO] [stderr]               ViewContext
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `invoke` found for struct `ViewDispatcher<ReducerContext>` in the current scope
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function or associated item not found in `ViewDispatcher<ReducerContext>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the function or associated item was found for
[INFO] [stderr]             - `ViewDispatcher<AnonymousViewContext>`
[INFO] [stderr]             - `ViewDispatcher<ViewContext>`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid view signature
[INFO] [stderr]    --> tests/ui/views.rs:128:1
[INFO] [stderr]     |
[INFO] [stderr] 128 | #[view(name = view_def_wrong_return, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this view signature is not valid
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `spacetimedb::rt::View<'_, _, _>` is not implemented for fn item `for<'a> fn(&'a ViewContext) -> Player {view_def_wrong_return}`
[INFO] [stderr]     = note:
[INFO] [stderr]     = note: view signatures must match:
[INFO] [stderr]     = note:     `Fn(&ViewContext, [T1, ...]) -> Vec<Tn> | Option<Tn>`
[INFO] [stderr]     = note: where each `Ti` implements `SpacetimeType`.
[INFO] [stderr]     = note:
[INFO] [stderr] note: required by a bound in `ViewRegistrar::<ViewContext>::register`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn register<'a, A, I, T, V>(view: V)
[INFO] [stderr]     |            -------- required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: View<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^ required by this bound in `ViewRegistrar::<ViewContext>::register`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: Views must return `Vec<T>` or `Option<T>` where `T` is a `SpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:129:46
[INFO] [stderr]     |
[INFO] [stderr] 129 | fn view_def_wrong_return(_: &ViewContext) -> Player {
[INFO] [stderr]     |                                              ^^^^^^ the trait `ViewReturn` is not implemented for `Player`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following other types implement trait `ViewReturn`:
[INFO] [stderr]               Option<T>
[INFO] [stderr]               Vec<T>
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid view signature
[INFO] [stderr]    --> tests/ui/views.rs:128:1
[INFO] [stderr]     |
[INFO] [stderr] 128 | #[view(name = view_def_wrong_return, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this view signature is not valid
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `spacetimedb::rt::View<'_, _, _>` is not implemented for fn item `for<'a> fn(&'a ViewContext) -> Player {view_def_wrong_return}`
[INFO] [stderr]     = note:
[INFO] [stderr]     = note: view signatures must match:
[INFO] [stderr]     = note:     `Fn(&ViewContext, [T1, ...]) -> Vec<Tn> | Option<Tn>`
[INFO] [stderr]     = note: where each `Ti` implements `SpacetimeType`.
[INFO] [stderr]     = note:
[INFO] [stderr] note: required by a bound in `ViewDispatcher::<ViewContext>::invoke`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn invoke<'a, A, T, V>(view: V, ctx: ViewContext, args: &'a [u8]) -> Vec<u8>
[INFO] [stderr]     |            ------ required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: View<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^ required by this bound in `ViewDispatcher::<ViewContext>::invoke`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColId
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn register<'a, A, I, T, V>(view: V)
[INFO] [stderr]     |            -------- required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: Serialize` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Serialize` is not implemented for `NotSpacetimeType`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following other types implement trait `Serialize`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               (T0, T1)
[INFO] [stderr]               (T0, T1, T2)
[INFO] [stderr]               (T0, T1, T2, T3)
[INFO] [stderr]               (T0, T1, T2, T3, T4)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5, T6)
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn register<'a, A, I, T, V>(view: V)
[INFO] [stderr]     |            -------- required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:137:71
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn view_def_returns_not_a_spacetime_type(_: &AnonymousViewContext) -> Option<NotSpacetimeType> {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColId
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `Option<NotSpacetimeType>` to implement `ViewReturn`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColId
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn invoke<'a, A, T, V>(view: V, ctx: AnonymousViewContext, args: &'a [u8]) -> Vec<u8>
[INFO] [stderr]     |            ------ required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: Serialize` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Serialize` is not implemented for `NotSpacetimeType`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the following other types implement trait `Serialize`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               (T0, T1)
[INFO] [stderr]               (T0, T1, T2)
[INFO] [stderr]               (T0, T1, T2, T3)
[INFO] [stderr]               (T0, T1, T2, T3, T4)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5, T6)
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn invoke<'a, A, T, V>(view: V, ctx: AnonymousViewContext, args: &'a [u8]) -> Vec<u8>
[INFO] [stderr]     |            ------ required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:137:71
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn view_def_returns_not_a_spacetime_type(_: &AnonymousViewContext) -> Option<NotSpacetimeType> {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColId
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `Option<NotSpacetimeType>` to implement `SpacetimeType`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] 
[INFO] [stderr] ACTUAL OUTPUT:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error: views must be `public`, e.g. `#[view(public)]`
[INFO] [stderr]   --> tests/ui/views.rs:76:1
[INFO] [stderr]    |
[INFO] [stderr] 76 | #[view(name = view_def_no_public)]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: `public` already specified
[INFO] [stderr]   --> tests/ui/views.rs:82:44
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[view(name = view_def_dup_public, public, public)]
[INFO] [stderr]    |                                            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: `name` already specified
[INFO] [stderr]   --> tests/ui/views.rs:88:34
[INFO] [stderr]    |
[INFO] [stderr] 88 | #[view(name = view_def_dup_name, name = view_def_dup_name, public)]
[INFO] [stderr]    |                                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: expected `name` or `public`
[INFO] [stderr]   --> tests/ui/views.rs:94:49
[INFO] [stderr]    |
[INFO] [stderr] 94 | #[view(name = view_def_unsupported_arg, public, anonymous)]
[INFO] [stderr]    |                                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: Views must always have a context parameter: `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:101:1
[INFO] [stderr]     |
[INFO] [stderr] 101 | fn view_def_no_context() -> Vec<Player> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: The first parameter of a view must be a context parameter: `&ViewContext` or `&AnonymousViewContext`; passed by reference
[INFO] [stderr]    --> tests/ui/views.rs:113:38
[INFO] [stderr]     |
[INFO] [stderr] 113 | fn view_def_pass_context_by_value(_: ViewContext) -> Vec<Player> {
[INFO] [stderr]     |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: Views do not take parameters other than `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:119:1
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn view_def_wrong_context_position(_: &u32, _: &ViewContext) -> Vec<Player> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: views must return `Vec<T>` or `Option<T>` where `T` is a `SpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:125:1
[INFO] [stderr]     |
[INFO] [stderr] 125 | fn view_def_no_return(_: &ViewContext) {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: Views do not take parameters other than `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:154:1
[INFO] [stderr]     |
[INFO] [stderr] 154 | fn scheduled_table_view(_: &ViewContext, _args: ScheduledTable) -> Vec<Player> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0573]: expected type, found function `scheduled_table_view`
[INFO] [stderr]    --> tests/ui/views.rs:142:56
[INFO] [stderr]     |
[INFO] [stderr] 142 | #[spacetimedb::table(name = scheduled_table, scheduled(scheduled_table_view))]
[INFO] [stderr]     |                             ---------------            ^^^^^^^^^^^^^^^^^^^^ help: a trait with a similar name exists: `scheduled_table__view`
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             similarly named trait `scheduled_table__view` defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `ViewKind<ReducerContext>: ViewKindTrait` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ViewKindTrait` is not implemented for `ViewKind<ReducerContext>`
[INFO] [stderr]     |
[INFO] [stderr] help: the following other types implement trait `ViewKindTrait`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     | impl ViewKindTrait for ViewKind<ViewContext> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ViewKind<ViewContext>`
[INFO] [stderr] ...
[INFO] [stderr]     | impl ViewKindTrait for ViewKind<AnonymousViewContext> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ViewKind<AnonymousViewContext>`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0276]: impl has stricter requirements than trait
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `ViewKind<ReducerContext>: ViewKindTrait`
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `iter` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:15:34
[INFO] [stderr]    |
[INFO] [stderr] 15 |     for _ in read_only.db.test().iter() {}
[INFO] [stderr]    |                                  ^^^^ method not found in `&test__ViewHandle`
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `iter`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]            candidate #2: `bitflags::traits::Flags`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: `&test__ViewHandle` is not an iterator
[INFO] [stderr]   --> tests/ui/views.rs:22:33
[INFO] [stderr]    |
[INFO] [stderr]  3 | #[table(name = test)]
[INFO] [stderr]    | ------------------- doesn't satisfy `test__ViewHandle: Iterator`
[INFO] [stderr] ...
[INFO] [stderr] 22 |     let _ = read_only.db.test().count();
[INFO] [stderr]    |                                 ^^^^^ `&test__ViewHandle` is not an iterator
[INFO] [stderr]    |
[INFO] [stderr]    = note: the following trait bounds were not satisfied:
[INFO] [stderr]            `&test__ViewHandle: Iterator`
[INFO] [stderr]            which is required by `&mut &test__ViewHandle: Iterator`
[INFO] [stderr]            `test__ViewHandle: Iterator`
[INFO] [stderr]            which is required by `&mut test__ViewHandle: Iterator`
[INFO] [stderr] note: the trait `Iterator` must be implemented
[INFO] [stderr]   --> $RUST/core/src/iter/traits/iterator.rs
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `count`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]    = note: the trait `Iterator` defines an item `count`, but is explicitly unimplemented
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `insert` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:29:25
[INFO] [stderr]    |
[INFO] [stderr] 29 |     read_only.db.test().insert(Test { id: 0, x: 0 });
[INFO] [stderr]    |                         ^^^^^^ method not found in `&test__ViewHandle`
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `insert`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]            candidate #2: `bitflags::traits::Flags`
[INFO] [stderr]            candidate #3: `ppv_lite86::types::Vec2`
[INFO] [stderr]            candidate #4: `ppv_lite86::types::Vec4`
[INFO] [stderr]            candidate #5: `similar::algorithms::DiffHook`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `try_insert` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:36:25
[INFO] [stderr]    |
[INFO] [stderr] 36 |     read_only.db.test().try_insert(Test { id: 0, x: 0 });
[INFO] [stderr]    |                         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following trait defines an item `try_insert`, perhaps you need to implement it:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr] help: there is a method `try_into` with a similar name, but with different arguments
[INFO] [stderr]   --> $RUST/core/src/convert/mod.rs
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `delete` found for reference `&test__ViewHandle` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:43:25
[INFO] [stderr]    |
[INFO] [stderr] 43 |     read_only.db.test().delete(Test { id: 0, x: 0 });
[INFO] [stderr]    |                         ^^^^^^ method not found in `&test__ViewHandle`
[INFO] [stderr]    |
[INFO] [stderr]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]    = note: the following traits define an item `delete`, perhaps you need to implement one of them:
[INFO] [stderr]            candidate #1: `Table`
[INFO] [stderr]            candidate #2: `similar::algorithms::DiffHook`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `delete` found for struct `UniqueColumnReadOnly<Tbl, ColType, Col>` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:50:30
[INFO] [stderr]    |
[INFO] [stderr] 50 |     read_only.db.test().id().delete(&0);
[INFO] [stderr]    |                              ^^^^^^ method not found in `UniqueColumnReadOnly<test__TableHandle, u32, id>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `update` found for struct `UniqueColumnReadOnly<Tbl, ColType, Col>` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:57:30
[INFO] [stderr]    |
[INFO] [stderr] 57 |     read_only.db.test().id().update(Test { id: 0, x: 0 });
[INFO] [stderr]    |                              ^^^^^^ method not found in `UniqueColumnReadOnly<test__TableHandle, u32, id>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `delete` found for struct `RangedIndexReadOnly<Tbl, IndexType, Idx>` in the current scope
[INFO] [stderr]   --> tests/ui/views.rs:64:29
[INFO] [stderr]    |
[INFO] [stderr] 64 |     read_only.db.test().x().delete(0u32..);
[INFO] [stderr]    |                             ^^^^^^ method not found in `RangedIndexReadOnly<test__TableHandle, (u32,), x>`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `register` found for struct `ViewRegistrar<ReducerContext>` in the current scope
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function or associated item not found in `ViewRegistrar<ReducerContext>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the function or associated item was found for
[INFO] [stderr]             - `ViewRegistrar<AnonymousViewContext>`
[INFO] [stderr]             - `ViewRegistrar<ViewContext>`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: The first parameter of a `#[view]` must be `&ViewContext` or `&AnonymousViewContext`
[INFO] [stderr]    --> tests/ui/views.rs:107:31
[INFO] [stderr]     |
[INFO] [stderr] 107 | fn view_def_wrong_context(_: &ReducerContext) -> Vec<Player> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^ the trait `ViewContextArg` is not implemented for `ReducerContext`
[INFO] [stderr]     |
[INFO] [stderr] help: the following other types implement trait `ViewContextArg`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     | impl ViewContextArg for ViewContext {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ViewContext`
[INFO] [stderr]     | impl ViewContextArg for AnonymousViewContext {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AnonymousViewContext`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `invoke` found for struct `ViewDispatcher<ReducerContext>` in the current scope
[INFO] [stderr]    --> tests/ui/views.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | #[view(name = view_def_wrong_context, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function or associated item not found in `ViewDispatcher<ReducerContext>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the function or associated item was found for
[INFO] [stderr]             - `ViewDispatcher<AnonymousViewContext>`
[INFO] [stderr]             - `ViewDispatcher<ViewContext>`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid view signature
[INFO] [stderr]    --> tests/ui/views.rs:128:1
[INFO] [stderr]     |
[INFO] [stderr] 128 | #[view(name = view_def_wrong_return, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this view signature is not valid
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `spacetimedb::rt::View<'_, _, _>` is not implemented for fn item `for<'a> fn(&'a ViewContext) -> Player {view_def_wrong_return}`
[INFO] [stderr]     = note:
[INFO] [stderr]     = note: view signatures must match:
[INFO] [stderr]     = note:     `Fn(&ViewContext, [T1, ...]) -> Vec<Tn> | Option<Tn>`
[INFO] [stderr]     = note: where each `Ti` implements `SpacetimeType`.
[INFO] [stderr]     = note:
[INFO] [stderr] note: required by a bound in `ViewRegistrar::<ViewContext>::register`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn register<'a, A, I, T, V>(view: V)
[INFO] [stderr]     |            -------- required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: View<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^ required by this bound in `ViewRegistrar::<ViewContext>::register`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: Views must return `Vec<T>` or `Option<T>` where `T` is a `SpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:129:46
[INFO] [stderr]     |
[INFO] [stderr] 129 | fn view_def_wrong_return(_: &ViewContext) -> Player {
[INFO] [stderr]     |                                              ^^^^^^ unsatisfied trait bound
[INFO] [stderr]     |
[INFO] [stderr] help: the trait `ViewReturn` is not implemented for `Player`
[INFO] [stderr]    --> tests/ui/views.rs:68:1
[INFO] [stderr]     |
[INFO] [stderr]  68 | struct Player {
[INFO] [stderr]     | ^^^^^^^^^^^^^
[INFO] [stderr] help: the following other types implement trait `ViewReturn`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     | impl<T: SpacetimeType> ViewReturn for Vec<T> {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Vec<T>`
[INFO] [stderr]     | impl<T: SpacetimeType> ViewReturn for Option<T> {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Option<T>`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: invalid view signature
[INFO] [stderr]    --> tests/ui/views.rs:128:1
[INFO] [stderr]     |
[INFO] [stderr] 128 | #[view(name = view_def_wrong_return, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this view signature is not valid
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `spacetimedb::rt::View<'_, _, _>` is not implemented for fn item `for<'a> fn(&'a ViewContext) -> Player {view_def_wrong_return}`
[INFO] [stderr]     = note:
[INFO] [stderr]     = note: view signatures must match:
[INFO] [stderr]     = note:     `Fn(&ViewContext, [T1, ...]) -> Vec<Tn> | Option<Tn>`
[INFO] [stderr]     = note: where each `Ti` implements `SpacetimeType`.
[INFO] [stderr]     = note:
[INFO] [stderr] note: required by a bound in `ViewDispatcher::<ViewContext>::invoke`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn invoke<'a, A, T, V>(view: V, ctx: ViewContext, args: &'a [u8]) -> Vec<u8>
[INFO] [stderr]     |            ------ required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: View<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^ required by this bound in `ViewDispatcher::<ViewContext>::invoke`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]     |
[INFO] [stderr] help: the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:73:1
[INFO] [stderr]     |
[INFO] [stderr]  73 | struct NotSpacetimeType {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColumnAttribute
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn register<'a, A, I, T, V>(view: V)
[INFO] [stderr]     |            -------- required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: Serialize` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]     |
[INFO] [stderr] help: the trait `Serialize` is not implemented for `NotSpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:73:1
[INFO] [stderr]     |
[INFO] [stderr]  73 | struct NotSpacetimeType {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = help: the following other types implement trait `Serialize`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               (T0, T1)
[INFO] [stderr]               (T0, T1, T2)
[INFO] [stderr]               (T0, T1, T2, T3)
[INFO] [stderr]               (T0, T1, T2, T3, T4)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5, T6)
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn register<'a, A, I, T, V>(view: V)
[INFO] [stderr]     |            -------- required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewRegistrar::<AnonymousViewContext>::register`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:137:71
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn view_def_returns_not_a_spacetime_type(_: &AnonymousViewContext) -> Option<NotSpacetimeType> {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]     |
[INFO] [stderr] help: the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:73:1
[INFO] [stderr]     |
[INFO] [stderr]  73 | struct NotSpacetimeType {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColumnAttribute
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `Option<NotSpacetimeType>` to implement `ViewReturn`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]     |
[INFO] [stderr] help: the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:73:1
[INFO] [stderr]     |
[INFO] [stderr]  73 | struct NotSpacetimeType {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColumnAttribute
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn invoke<'a, A, T, V>(view: V, ctx: AnonymousViewContext, args: &'a [u8]) -> Vec<u8>
[INFO] [stderr]     |            ------ required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: Serialize` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[view(name = view_def_returns_not_a_spacetime_type, public)]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]     |
[INFO] [stderr] help: the trait `Serialize` is not implemented for `NotSpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:73:1
[INFO] [stderr]     |
[INFO] [stderr]  73 | struct NotSpacetimeType {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = help: the following other types implement trait `Serialize`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               (T0, T1)
[INFO] [stderr]               (T0, T1, T2)
[INFO] [stderr]               (T0, T1, T2, T3)
[INFO] [stderr]               (T0, T1, T2, T3, T4)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5)
[INFO] [stderr]               (T0, T1, T2, T3, T4, T5, T6)
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `for<'a> fn(&'a AnonymousViewContext) -> Option<NotSpacetimeType> {view_def_returns_not_a_spacetime_type}` to implement `AnonymousView<'_, (), NotSpacetimeType>`
[INFO] [stderr] note: required by a bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]    --> src/rt.rs
[INFO] [stderr]     |
[INFO] [stderr]     |     pub fn invoke<'a, A, T, V>(view: V, ctx: AnonymousViewContext, args: &'a [u8]) -> Vec<u8>
[INFO] [stderr]     |            ------ required by a bound in this associated function
[INFO] [stderr] ...
[INFO] [stderr]     |         V: AnonymousView<'a, A, T>,
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ViewDispatcher::<AnonymousViewContext>::invoke`
[INFO] [stderr]     = note: this error originates in the attribute macro `view` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `NotSpacetimeType: SpacetimeType` is not satisfied
[INFO] [stderr]    --> tests/ui/views.rs:137:71
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn view_def_returns_not_a_spacetime_type(_: &AnonymousViewContext) -> Option<NotSpacetimeType> {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]     |
[INFO] [stderr] help: the trait `SpacetimeType` is not implemented for `NotSpacetimeType`
[INFO] [stderr]    --> tests/ui/views.rs:73:1
[INFO] [stderr]     |
[INFO] [stderr]  73 | struct NotSpacetimeType {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: if you own the type, try adding `#[derive(SpacetimeType)]` to its definition
[INFO] [stderr]     = help: the following other types implement trait `SpacetimeType`:
[INFO] [stderr]               &T
[INFO] [stderr]               ()
[INFO] [stderr]               AlgebraicType
[INFO] [stderr]               AlgebraicTypeRef
[INFO] [stderr]               Arc<T>
[INFO] [stderr]               ArrayType
[INFO] [stderr]               Box<T>
[INFO] [stderr]               ColumnAttribute
[INFO] [stderr]             and $N others
[INFO] [stderr]     = note: required for `Option<NotSpacetimeType>` to implement `SpacetimeType`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] note: If the actual output is the correct output you can bless it by rerunning
[INFO] [stderr]       your test with the environment variable TRYBUILD=overwrite
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stdout] test ui has been running for over 60 seconds
[INFO] [stdout] test ui ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- ui stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'ui' (57) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/trybuild-1.0.112/src/run.rs:102:13:
[INFO] [stdout] 3 of 3 tests failed
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d2a28ab5802 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d2a28ab5802 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d2a28ab5802 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d2a28ab5802 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d2a28ac710f - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d2a28ac710f - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d2a28a7ff23 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d2a28a7ff23 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d2a28a8d392 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d2a28a929ef - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d2a28a92881 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d2a28a528be - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d2a28a528be - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d2a28a92fff - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d2a28a92fff - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d2a28a92e5a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d2a28a8d4c9 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d2a28a737ad - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d2a28ad0400 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d2a288cb38b - trybuild::run::<impl trybuild::Runner>::run::h6204fcbb0fd39395
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/trybuild-1.0.112/src/run.rs:102:13
[INFO] [stdout]   20:     0x5d2a288c5638 - <trybuild::TestCases as core::ops::drop::Drop>::drop::h6bfa2140a409085d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/trybuild-1.0.112/src/lib.rs:342:38
[INFO] [stdout]   21:     0x5d2a287f5207 - core::ptr::drop_in_place<trybuild::TestCases>::hd3df48804cb0c77f
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ptr/mod.rs:805:1
[INFO] [stdout]   22:     0x5d2a287f5033 - ui::ui::hd3759420275ee882
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/ui.rs:5:1
[INFO] [stdout]   23:     0x5d2a287f5067 - ui::ui::{{closure}}::hf2b563e399abb133
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/ui.rs:2:8
[INFO] [stdout]   24:     0x5d2a287f5176 - core::ops::function::FnOnce::call_once::h8b03d42f28c4a40a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5d2a28a5270b - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5d2a28a5270b - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5d2a28a6671d - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5d2a28a6671d - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5d2a28a6671d - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   30:     0x5d2a28a6671d - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   31:     0x5d2a28a6671d - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5d2a28a6671d - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5d2a28a6671d - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5d2a28a3fc64 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5d2a28a3fc64 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   36:     0x5d2a28a4359a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   37:     0x5d2a28a4359a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5d2a28a4359a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   39:     0x5d2a28a4359a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   40:     0x5d2a28a4359a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5d2a28a4359a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   42:     0x5d2a28a4359a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5d2a28a8814f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   44:     0x5d2a28a8814f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   45:     0x7a8501021aa4 - <unknown>
[INFO] [stdout]   46:     0x7a85010aea64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     ui
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 60.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test ui`
[INFO] running `Command { std: "docker" "inspect" "7ebe38e2aa7c93ab13a754901f6f16264eadb631277a9c686c654324aa0f1aa1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ebe38e2aa7c93ab13a754901f6f16264eadb631277a9c686c654324aa0f1aa1", kill_on_drop: false }`
[INFO] [stdout] 7ebe38e2aa7c93ab13a754901f6f16264eadb631277a9c686c654324aa0f1aa1
