[INFO] fetching crate rsmemgen 0.1.0... [INFO] testing rsmemgen-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8 [INFO] extracting crate rsmemgen 0.1.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate rsmemgen 0.1.0 [INFO] finished tweaking crates.io crate rsmemgen 0.1.0 [INFO] tweaked toml for crates.io crate rsmemgen 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rsmemgen 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rsmemgen 0.1.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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded syn v2.0.103 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2021484def0334caa7b1072984846d1aa919015dc8a13470727ac6bbb73ec09b [INFO] running `Command { std: "docker" "start" "-a" "2021484def0334caa7b1072984846d1aa919015dc8a13470727ac6bbb73ec09b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2021484def0334caa7b1072984846d1aa919015dc8a13470727ac6bbb73ec09b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2021484def0334caa7b1072984846d1aa919015dc8a13470727ac6bbb73ec09b", kill_on_drop: false }` [INFO] [stdout] 2021484def0334caa7b1072984846d1aa919015dc8a13470727ac6bbb73ec09b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9c92a107ad4d136d1077ea41af798f39ba3b2fa84df6718df4f91b543ff99cce [INFO] running `Command { std: "docker" "start" "-a" "9c92a107ad4d136d1077ea41af798f39ba3b2fa84df6718df4f91b543ff99cce", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling bytes v0.5.6 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rsmemgen v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.41s [INFO] running `Command { std: "docker" "inspect" "9c92a107ad4d136d1077ea41af798f39ba3b2fa84df6718df4f91b543ff99cce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c92a107ad4d136d1077ea41af798f39ba3b2fa84df6718df4f91b543ff99cce", kill_on_drop: false }` [INFO] [stdout] 9c92a107ad4d136d1077ea41af798f39ba3b2fa84df6718df4f91b543ff99cce [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7183863c2087d13dc2e711d047a1ecc70cffae55c7ac5088b5eac7ca19a812c0 [INFO] running `Command { std: "docker" "start" "-a" "7183863c2087d13dc2e711d047a1ecc70cffae55c7ac5088b5eac7ca19a812c0", kill_on_drop: false }` [INFO] [stderr] Compiling rsmemgen v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.56s [INFO] running `Command { std: "docker" "inspect" "7183863c2087d13dc2e711d047a1ecc70cffae55c7ac5088b5eac7ca19a812c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7183863c2087d13dc2e711d047a1ecc70cffae55c7ac5088b5eac7ca19a812c0", kill_on_drop: false }` [INFO] [stdout] 7183863c2087d13dc2e711d047a1ecc70cffae55c7ac5088b5eac7ca19a812c0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8e44958b0ba47d014f03474f533f6c96e6addfc86c0dd61e3ce6abe37773596a [INFO] running `Command { std: "docker" "start" "-a" "8e44958b0ba47d014f03474f533f6c96e6addfc86c0dd61e3ce6abe37773596a", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rsmemgen-e53691984360b047) [INFO] [stdout] [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] [stderr] Doc-tests rsmemgen [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test src/logger.rs - logger::rsmemgen_debug_buffer_debug (line 303) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_debug_buffer_error (line 267) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_debug_buffer_trace (line 355) ... FAILED [INFO] [stdout] test src/errors.rs - errors::rsmemgen_new_error (line 86) ... FAILED [INFO] [stdout] test src/errors.rs - errors::rsmemgen_error_create (line 104) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_log_trace (line 331) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_log_warn (line 158) ... FAILED [INFO] [stdout] test src/errors.rs - errors::rsmemgen_error_class (line 4) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_format_buffer_log (line 200) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_log_info (line 171) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_log_error (line 145) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_assert (line 184) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_debug_buffer_info (line 291) ... FAILED [INFO] [stdout] test src/logger.rs - logger::rsmemgen_debug_buffer_warn (line 279) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_debug_buffer_debug (line 303) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_format_buffer_debug` in this scope [INFO] [stdout] --> src/logger.rs:306:1 [INFO] [stdout] | [INFO] [stdout] 306 | rsmemgen_format_buffer_debug!(buf.as_ptr(),buf.len(),"buffer output value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_debug_buffer_error (line 267) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_format_buffer_error` in this scope [INFO] [stdout] --> src/logger.rs:270:1 [INFO] [stdout] | [INFO] [stdout] 270 | rsmemgen_format_buffer_error!(buf.as_ptr(),buf.len(),"buffer output value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_debug_buffer_trace (line 355) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_format_buffer_trace` in this scope [INFO] [stdout] --> src/logger.rs:358:1 [INFO] [stdout] | [INFO] [stdout] 358 | rsmemgen_format_buffer_trace!(buf.as_ptr(),buf.len(),"buffer output value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/errors.rs - errors::rsmemgen_new_error (line 86) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_new_error` in this scope [INFO] [stdout] --> src/errors.rs:88:1 [INFO] [stdout] | [INFO] [stdout] 88 | rsmemgen_new_error!{ExampleError,"example error call {}","new error"} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/errors.rs - errors::rsmemgen_error_create (line 104) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_error_create` in this scope [INFO] [stdout] --> src/errors.rs:106:1 [INFO] [stdout] | [INFO] [stdout] 106 | rsmemgen_error_create!{ExampleError,"example error call {}","new error"} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_log_trace (line 331) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_log_trace` in this scope [INFO] [stdout] --> src/logger.rs:333:1 [INFO] [stdout] | [INFO] [stdout] 333 | rsmemgen_log_trace!("call value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_log_warn (line 158) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_log_warn` in this scope [INFO] [stdout] --> src/logger.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | rsmemgen_log_warn!("exampl error value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/errors.rs - errors::rsmemgen_error_class (line 4) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_error_class` in this scope [INFO] [stdout] --> src/errors.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | rsmemgen_error_class!{ExampleClass} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_format_buffer_log (line 200) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_format_buffer_log` in this scope [INFO] [stdout] --> src/logger.rs:203:1 [INFO] [stdout] | [INFO] [stdout] 203 | rsmemgen_format_buffer_log!(buf.as_ptr(),buf.len(),"buffer output value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_log_info (line 171) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_log_info` in this scope [INFO] [stdout] --> src/logger.rs:173:1 [INFO] [stdout] | [INFO] [stdout] 173 | rsmemgen_log_info!("exampl error value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_log_error (line 145) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_log_error` in this scope [INFO] [stdout] --> src/logger.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | rsmemgen_log_error!("exampl error value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_assert (line 184) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_assert` in this scope [INFO] [stdout] --> src/logger.rs:186:1 [INFO] [stdout] | [INFO] [stdout] 186 | rsmemgen_assert!(1 == 1 , "can not call 1 == {}", 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_debug_buffer_info (line 291) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_format_buffer_info` in this scope [INFO] [stdout] --> src/logger.rs:294:1 [INFO] [stdout] | [INFO] [stdout] 294 | rsmemgen_format_buffer_info!(buf.as_ptr(),buf.len(),"buffer output value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/logger.rs - logger::rsmemgen_debug_buffer_warn (line 279) stdout ---- [INFO] [stdout] error: cannot find macro `rsmemgen_format_buffer_warn` in this scope [INFO] [stdout] --> src/logger.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | rsmemgen_format_buffer_warn!(buf.as_ptr(),buf.len(),"buffer output value {}",3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/errors.rs - errors::rsmemgen_error_class (line 4) [INFO] [stdout] src/errors.rs - errors::rsmemgen_error_create (line 104) [INFO] [stdout] src/errors.rs - errors::rsmemgen_new_error (line 86) [INFO] [stdout] src/logger.rs - logger::rsmemgen_assert (line 184) [INFO] [stdout] src/logger.rs - logger::rsmemgen_debug_buffer_debug (line 303) [INFO] [stdout] src/logger.rs - logger::rsmemgen_debug_buffer_error (line 267) [INFO] [stdout] src/logger.rs - logger::rsmemgen_debug_buffer_info (line 291) [INFO] [stdout] src/logger.rs - logger::rsmemgen_debug_buffer_trace (line 355) [INFO] [stdout] src/logger.rs - logger::rsmemgen_debug_buffer_warn (line 279) [INFO] [stdout] src/logger.rs - logger::rsmemgen_format_buffer_log (line 200) [INFO] [stdout] src/logger.rs - logger::rsmemgen_log_error (line 145) [INFO] [stdout] src/logger.rs - logger::rsmemgen_log_info (line 171) [INFO] [stdout] src/logger.rs - logger::rsmemgen_log_trace (line 331) [INFO] [stdout] src/logger.rs - logger::rsmemgen_log_warn (line 158) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 14 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "8e44958b0ba47d014f03474f533f6c96e6addfc86c0dd61e3ce6abe37773596a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e44958b0ba47d014f03474f533f6c96e6addfc86c0dd61e3ce6abe37773596a", kill_on_drop: false }` [INFO] [stdout] 8e44958b0ba47d014f03474f533f6c96e6addfc86c0dd61e3ce6abe37773596a