[INFO] fetching crate redis-macros-derive 1.0.0...
[INFO] testing redis-macros-derive-1.0.0 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate redis-macros-derive 1.0.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate redis-macros-derive 1.0.0
[INFO] finished tweaking crates.io crate redis-macros-derive 1.0.0
[INFO] tweaked toml for crates.io crate redis-macros-derive 1.0.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate redis-macros-derive 1.0.0 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate redis-macros-derive 1.0.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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 73f8be6ea80976d0bcb9d8fd39b4414cd1e61fe1593b0811804b3a1559da531f
[INFO] running `Command { std: "docker" "start" "-a" "73f8be6ea80976d0bcb9d8fd39b4414cd1e61fe1593b0811804b3a1559da531f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73f8be6ea80976d0bcb9d8fd39b4414cd1e61fe1593b0811804b3a1559da531f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73f8be6ea80976d0bcb9d8fd39b4414cd1e61fe1593b0811804b3a1559da531f", kill_on_drop: false }`
[INFO] [stdout] 73f8be6ea80976d0bcb9d8fd39b4414cd1e61fe1593b0811804b3a1559da531f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6ec6a8fad1e1c05f7fe82d779b772be9a9adb85f9ff0ec14142e629b3a70451f
[INFO] running `Command { std: "docker" "start" "-a" "6ec6a8fad1e1c05f7fe82d779b772be9a9adb85f9ff0ec14142e629b3a70451f", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling arcstr v1.2.0
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling redis v1.0.0
[INFO] [stderr]    Compiling redis-macros-derive v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.10s
[INFO] running `Command { std: "docker" "inspect" "6ec6a8fad1e1c05f7fe82d779b772be9a9adb85f9ff0ec14142e629b3a70451f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ec6a8fad1e1c05f7fe82d779b772be9a9adb85f9ff0ec14142e629b3a70451f", kill_on_drop: false }`
[INFO] [stdout] 6ec6a8fad1e1c05f7fe82d779b772be9a9adb85f9ff0ec14142e629b3a70451f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 80cd52fb1abcbadee933b3fbdbae939c32f2fd46fccfbf11a4b22d546c7d93ef
[INFO] running `Command { std: "docker" "start" "-a" "80cd52fb1abcbadee933b3fbdbae939c32f2fd46fccfbf11a4b22d546c7d93ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling redis v1.0.0
[INFO] [stderr]    Compiling redis-macros-derive v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.51s
[INFO] running `Command { std: "docker" "inspect" "80cd52fb1abcbadee933b3fbdbae939c32f2fd46fccfbf11a4b22d546c7d93ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80cd52fb1abcbadee933b3fbdbae939c32f2fd46fccfbf11a4b22d546c7d93ef", kill_on_drop: false }`
[INFO] [stdout] 80cd52fb1abcbadee933b3fbdbae939c32f2fd46fccfbf11a4b22d546c7d93ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4c714e9936399a69e22078d118a79bda49bca9768e892781077899d1d68e5c69
[INFO] running `Command { std: "docker" "start" "-a" "4c714e9936399a69e22078d118a79bda49bca9768e892781077899d1d68e5c69", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/redis_macros_derive-cece3873999d73aa)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests redis_macros_derive
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/lib.rs - from_redis_value_macro (line 49) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - to_redis_args_macro (line 173) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - from_redis_value_macro (line 29) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - to_redis_args_macro (line 153) - compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - from_redis_value_macro (line 49) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `redis_macros`
[INFO] [stdout]   --> src/lib.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | use redis_macros::{FromRedisValue};
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `redis_macros`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis_macros`, use `cargo add redis_macros` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `redis_serializer` in this scope
[INFO] [stdout]   --> src/lib.rs:54:3
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[redis_serializer(serde_yaml)]
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `redis_serializer` is an attribute that can be used by the derive macros `FromRedisValue` and `ToRedisArgs`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - to_redis_args_macro (line 173) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `redis_macros`
[INFO] [stdout]    --> src/lib.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | use redis_macros::{ToRedisArgs};
[INFO] [stdout]     |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `redis_macros`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `redis_macros`, use `cargo add redis_macros` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `redis_serializer` in this scope
[INFO] [stdout]    --> src/lib.rs:179:3
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[redis_serializer(serde_yaml)]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `redis_serializer` is an attribute that can be used by the derive macros `FromRedisValue` and `ToRedisArgs`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - from_redis_value_macro (line 29) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `redis_macros`
[INFO] [stdout]   --> src/lib.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use redis_macros::{FromRedisValue};
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `redis_macros`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `redis_macros`, use `cargo add redis_macros` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: FromRedisValue` is not satisfied
[INFO] [stdout]     --> src/lib.rs:41:22
[INFO] [stdout]      |
[INFO] [stdout]   41 | let user: User = con.get("user")?;  // => User { id: 1 }
[INFO] [stdout]      |                      ^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `FromRedisValue` is not implemented for `User`
[INFO] [stdout]     --> src/lib.rs:35:1
[INFO] [stdout]      |
[INFO] [stdout]   35 | struct User { id: u32 }
[INFO] [stdout]      | ^^^^^^^^^^^
[INFO] [stdout]      = help: the following other types implement trait `FromRedisValue`:
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T1, T2)
[INFO] [stdout]                (T1, T2, T3)
[INFO] [stdout]                (T1, T2, T3, T4)
[INFO] [stdout]                (T1, T2, T3, T4, T5)
[INFO] [stdout]                (T1, T2, T3, T4, T5, T6)
[INFO] [stdout]                (T1, T2, T3, T4, T5, T6, T7)
[INFO] [stdout]              and 58 others
[INFO] [stdout] note: required by a bound in `redis::Commands::get`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-1.0.0/src/commands/macros.rs:218:60
[INFO] [stdout]      |
[INFO] [stdout]  218 |                   fn $name<$lifetime, $($tyargs: $ty, )* RV: FromRedisValue>(
[INFO] [stdout]      |                                                              ^^^^^^^^^^^^^^ required by this bound in `Commands::get`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-1.0.0/src/commands/mod.rs:256:1
[INFO] [stdout]      |
[INFO] [stdout]  256 | / implement_commands! {
[INFO] [stdout]  257 | |     'a
[INFO] [stdout] ...    |
[INFO] [stdout]  262 | |     fn get<K: ToSingleRedisArg >(key: K) -> (Option<String>) {
[INFO] [stdout]      | |        --- required by a bound in this associated function
[INFO] [stdout] ...    |
[INFO] [stdout] 2943 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn main () -> redis::RedisResult<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/lib.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | con.set("user", &r#"{ "id": 1 }"#)?;
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 40 | con.set::<_, _, ()>("user", &r#"{ "id": 1 }"#)?;
[INFO] [stdout]    |        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - to_redis_args_macro (line 153) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `redis_macros`
[INFO] [stdout]    --> src/lib.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | use redis_macros::{ToRedisArgs};
[INFO] [stdout]     |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `redis_macros`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `redis_macros`, use `cargo add redis_macros` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `User: ToSingleRedisArg` is not satisfied
[INFO] [stdout]     --> src/lib.rs:164:17
[INFO] [stdout]      |
[INFO] [stdout]  164 | con.set("user", User { id: 1 })?;
[INFO] [stdout]      |     ---         ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |     |
[INFO] [stdout]      |     required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `ToSingleRedisArg` is not implemented for `User`
[INFO] [stdout]     --> src/lib.rs:159:1
[INFO] [stdout]      |
[INFO] [stdout]  159 | struct User { id: u32 }
[INFO] [stdout]      | ^^^^^^^^^^^
[INFO] [stdout]      = help: the following other types implement trait `ToSingleRedisArg`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                &[u8; N]
[INFO] [stdout]                &[u8]
[INFO] [stdout]                &mut [u8]
[INFO] [stdout]                &str
[INFO] [stdout]                Arc<T>
[INFO] [stdout]                Arc<[u8]>
[INFO] [stdout]              and 41 others
[INFO] [stdout] note: required by a bound in `redis::Commands::set`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-1.0.0/src/commands/macros.rs:218:48
[INFO] [stdout]      |
[INFO] [stdout]  218 |                   fn $name<$lifetime, $($tyargs: $ty, )* RV: FromRedisValue>(
[INFO] [stdout]      |                                                  ^^^ required by this bound in `Commands::set`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-1.0.0/src/commands/mod.rs:256:1
[INFO] [stdout]      |
[INFO] [stdout]  256 | / implement_commands! {
[INFO] [stdout]  257 | |     'a
[INFO] [stdout] ...    |
[INFO] [stdout]  280 | |     fn set<K: ToSingleRedisArg, V: ToSingleRedisArg>(key: K, value: V) -> (()) {
[INFO] [stdout]      | |        --- required by a bound in this associated function
[INFO] [stdout] ...    |
[INFO] [stdout] 2943 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/lib.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn main () -> redis::RedisResult<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/lib.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | con.set("user", User { id: 1 })?;
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 164 | con.set::<_, _, ()>("user", User { id: 1 })?;
[INFO] [stdout]     |        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - from_redis_value_macro (line 29)
[INFO] [stdout]     src/lib.rs - from_redis_value_macro (line 49)
[INFO] [stdout]     src/lib.rs - to_redis_args_macro (line 153)
[INFO] [stdout]     src/lib.rs - to_redis_args_macro (line 173)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "4c714e9936399a69e22078d118a79bda49bca9768e892781077899d1d68e5c69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c714e9936399a69e22078d118a79bda49bca9768e892781077899d1d68e5c69", kill_on_drop: false }`
[INFO] [stdout] 4c714e9936399a69e22078d118a79bda49bca9768e892781077899d1d68e5c69
