[INFO] cloning repository https://github.com/Johnabell/birthday-kata [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Johnabell/birthday-kata" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnabell%2Fbirthday-kata", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnabell%2Fbirthday-kata'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 080ef3c76060856bc81b11c5e101c5eae1455444 [INFO] testing Johnabell/birthday-kata against try#a7ee93192a766fb0dafa23def7154fc03cfcfc3e for pr-146989 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnabell%2Fbirthday-kata" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Johnabell/birthday-kata [INFO] finished tweaking git repo https://github.com/Johnabell/birthday-kata [INFO] tweaked toml for git repo https://github.com/Johnabell/birthday-kata written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Johnabell/birthday-kata on toolchain a7ee93192a766fb0dafa23def7154fc03cfcfc3e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Johnabell/birthday-kata 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" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3788fa37c39807baaa2d2b18dddba22caee98266d4cf3e4b6bcbe6c214f078ef [INFO] running `Command { std: "docker" "start" "-a" "3788fa37c39807baaa2d2b18dddba22caee98266d4cf3e4b6bcbe6c214f078ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3788fa37c39807baaa2d2b18dddba22caee98266d4cf3e4b6bcbe6c214f078ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3788fa37c39807baaa2d2b18dddba22caee98266d4cf3e4b6bcbe6c214f078ef", kill_on_drop: false }` [INFO] [stdout] 3788fa37c39807baaa2d2b18dddba22caee98266d4cf3e4b6bcbe6c214f078ef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be913d0058f44681cb5cfaa115d1fae50533f901183f256d3ea1b42d7693d21b [INFO] running `Command { std: "docker" "start" "-a" "be913d0058f44681cb5cfaa115d1fae50533f901183f256d3ea1b42d7693d21b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling mockall_derive v0.13.1 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling fragile v2.0.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling downcast v0.11.0 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Compiling chrono v0.4.39 [INFO] [stderr] Compiling mockall v0.13.1 [INFO] [stderr] Compiling birthday-kata v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/main.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | mod tests { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friends` [INFO] [stdout] --> src/main.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | fn send_birthday_emails(friends: Vec, sender: impl Sender) -> Result<(), ()>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friends` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/main.rs:8:47 [INFO] [stdout] | [INFO] [stdout] 8 | fn send_birthday_emails(friends: Vec, sender: impl Sender) -> Result<(), ()>{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `email` [INFO] [stdout] --> src/main.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_email` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/main.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `subject` [INFO] [stdout] --> src/main.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subject` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_birthday_emails` is never used [INFO] [stdout] --> src/main.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn send_birthday_emails(friends: Vec, sender: impl Sender) -> Result<(), ()>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_birthday_today` is never used [INFO] [stdout] --> src/main.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn is_birthday_today() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Friend` is never constructed [INFO] [stdout] --> src/main.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct Friend { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Sender` is never used [INFO] [stdout] --> src/main.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | trait Sender { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SenderImpl` is never constructed [INFO] [stdout] --> src/main.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct SenderImpl; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.58s [INFO] running `Command { std: "docker" "inspect" "be913d0058f44681cb5cfaa115d1fae50533f901183f256d3ea1b42d7693d21b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be913d0058f44681cb5cfaa115d1fae50533f901183f256d3ea1b42d7693d21b", kill_on_drop: false }` [INFO] [stdout] be913d0058f44681cb5cfaa115d1fae50533f901183f256d3ea1b42d7693d21b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dbd0bb712cd475a21ff953443f173fc3b70adef03bcfcb1dcfedb75c84070aa0 [INFO] running `Command { std: "docker" "start" "-a" "dbd0bb712cd475a21ff953443f173fc3b70adef03bcfcb1dcfedb75c84070aa0", kill_on_drop: false }` [INFO] [stderr] Compiling birthday-kata v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `friends` [INFO] [stdout] --> src/main.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | fn send_birthday_emails(friends: Vec, sender: impl Sender) -> Result<(), ()>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friends` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/main.rs:8:47 [INFO] [stdout] | [INFO] [stdout] 8 | fn send_birthday_emails(friends: Vec, sender: impl Sender) -> Result<(), ()>{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `email` [INFO] [stdout] --> src/main.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_email` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/main.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `subject` [INFO] [stdout] --> src/main.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subject` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let mut mock_sender = MockSender::new(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_birthday_today` is never used [INFO] [stdout] --> src/main.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn is_birthday_today() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `first_name`, `last_name`, `date_of_birth`, and `email` are never read [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct Friend { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 17 | first_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | last_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | date_of_birth: NaiveDate, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 20 | email: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `send` is never used [INFO] [stdout] --> src/main.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | trait Sender { [INFO] [stdout] | ------ associated function in this trait [INFO] [stdout] 25 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()>; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SenderImpl` is never constructed [INFO] [stdout] --> src/main.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct SenderImpl; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] running `Command { std: "docker" "inspect" "dbd0bb712cd475a21ff953443f173fc3b70adef03bcfcb1dcfedb75c84070aa0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dbd0bb712cd475a21ff953443f173fc3b70adef03bcfcb1dcfedb75c84070aa0", kill_on_drop: false }` [INFO] [stdout] dbd0bb712cd475a21ff953443f173fc3b70adef03bcfcb1dcfedb75c84070aa0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 72b3497b9bb76eeeeb6200261c7f608bba8fbb90c32ec1a976ba6db94f135f7d [INFO] running `Command { std: "docker" "start" "-a" "72b3497b9bb76eeeeb6200261c7f608bba8fbb90c32ec1a976ba6db94f135f7d", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `friends` [INFO] [stderr] --> src/main.rs:8:25 [INFO] [stderr] | [INFO] [stderr] 8 | fn send_birthday_emails(friends: Vec, sender: impl Sender) -> Result<(), ()>{ [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friends` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sender` [INFO] [stderr] --> src/main.rs:8:47 [INFO] [stderr] | [INFO] [stderr] 8 | fn send_birthday_emails(friends: Vec, sender: impl Sender) -> Result<(), ()>{ [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `email` [INFO] [stderr] --> src/main.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_email` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `content` [INFO] [stderr] --> src/main.rs:31:26 [INFO] [stderr] | [INFO] [stderr] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `subject` [INFO] [stderr] --> src/main.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subject` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let mut mock_sender = MockSender::new(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `is_birthday_today` is never used [INFO] [stderr] --> src/main.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | fn is_birthday_today() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `first_name`, `last_name`, `date_of_birth`, and `email` are never read [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 16 | struct Friend { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 17 | first_name: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 18 | last_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 19 | date_of_birth: NaiveDate, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 20 | email: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `send` is never used [INFO] [stderr] --> src/main.rs:25:8 [INFO] [stderr] | [INFO] [stderr] 24 | trait Sender { [INFO] [stderr] | ------ associated function in this trait [INFO] [stderr] 25 | fn send(email: &str, content: &str, subject: &str) -> Result<(), ()>; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SenderImpl` is never constructed [INFO] [stderr] --> src/main.rs:28:8 [INFO] [stderr] | [INFO] [stderr] 28 | struct SenderImpl; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `birthday-kata` (bin "birthday-kata" test) generated 10 warnings (run `cargo fix --bin "birthday-kata" -p birthday-kata --tests` to apply 6 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/birthday_kata-49b1933c68b45ca9) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::is_birthday_today ... ok [INFO] [stdout] test tests::is_single_friend_birthday ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tests::is_single_friend_birthday stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'tests::is_single_friend_birthday' (26) panicked at src/main.rs:9:5: [INFO] [stdout] not yet implemented [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x608d5b4b80f2 - std[b14e17aa63033746]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x608d5b4b80f2 - std[b14e17aa63033746]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x608d5b4b80f2 - std[b14e17aa63033746]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x608d5b4b80f2 - <::print::DisplayBacktrace as core[7ebf52c056bd56a4]::fmt::Display>::fmt [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x608d5b4cc92a - ::fmt [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x608d5b4cc92a - core[7ebf52c056bd56a4]::fmt::write [INFO] [stdout] 6: 0x608d5b4bcf26 - std[b14e17aa63033746]::io::default_write_fmt::> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x608d5b4bcf26 - as std[b14e17aa63033746]::io::Write>::write_fmt [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x608d5b4965bf - ::print [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x608d5b4965bf - std[b14e17aa63033746]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x608d5b4b03d9 - std[b14e17aa63033746]::panicking::default_hook [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x608d5b44b07e - core[7ebf52c056bd56a4]::ops::function::Fn<(&'a std[b14e17aa63033746]::panic::PanicHookInfo<'b>,), Output = ()> + core[7ebf52c056bd56a4]::marker::Send + core[7ebf52c056bd56a4]::marker::Sync> as core[7ebf52c056bd56a4]::ops::function::Fn<(&std[b14e17aa63033746]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/alloc/src/boxed.rs:2220:9 [INFO] [stdout] 12: 0x608d5b44b07e - test[3318909d72adbd73]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x608d5b4b0592 - core[7ebf52c056bd56a4]::ops::function::Fn<(&'a std[b14e17aa63033746]::panic::PanicHookInfo<'b>,), Output = ()> + core[7ebf52c056bd56a4]::marker::Send + core[7ebf52c056bd56a4]::marker::Sync> as core[7ebf52c056bd56a4]::ops::function::Fn<(&std[b14e17aa63033746]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/alloc/src/boxed.rs:2220:9 [INFO] [stdout] 14: 0x608d5b4b0592 - std[b14e17aa63033746]::panicking::panic_with_hook [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x608d5b4966aa - std[b14e17aa63033746]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x608d5b48e0d9 - std[b14e17aa63033746]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x608d5b4974cd - __rustc[f8abce35e9738d16]::rust_begin_unwind [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x608d5b4ccffc - core[7ebf52c056bd56a4]::panicking::panic_fmt [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x608d5b4ccfc2 - core[7ebf52c056bd56a4]::panicking::panic [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x608d5b43e2c5 - birthday_kata[e1e1e572f5014d38]::send_birthday_emails:: [INFO] [stdout] at /opt/rustwide/workdir/src/main.rs:9:5 [INFO] [stdout] 21: 0x608d5b43eb65 - birthday_kata[e1e1e572f5014d38]::tests::is_single_friend_birthday [INFO] [stdout] at /opt/rustwide/workdir/src/main.rs:51:22 [INFO] [stdout] 22: 0x608d5b43e627 - birthday_kata[e1e1e572f5014d38]::tests::is_single_friend_birthday::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/main.rs:40:35 [INFO] [stdout] 23: 0x608d5b43f386 - >::call_once [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x608d5b43f42b - core[7ebf52c056bd56a4]::result::Result<(), alloc[ed4a2d6a5f8966cc]::string::String> as core[7ebf52c056bd56a4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x608d5b43f42b - test[3318909d72adbd73]::__rust_begin_short_backtrace::, fn() -> core[7ebf52c056bd56a4]::result::Result<(), alloc[ed4a2d6a5f8966cc]::string::String>> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x608d5b44bc8a - test[3318909d72adbd73]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x608d5b44bc8a - as core[7ebf52c056bd56a4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x608d5b44bc8a - std[b14e17aa63033746]::panicking::catch_unwind::do_call::, core[7ebf52c056bd56a4]::result::Result<(), alloc[ed4a2d6a5f8966cc]::string::String>> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x608d5b44bc8a - std[b14e17aa63033746]::panicking::catch_unwind::, core[7ebf52c056bd56a4]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x608d5b44bc8a - std[b14e17aa63033746]::panic::catch_unwind::, core[7ebf52c056bd56a4]::result::Result<(), alloc[ed4a2d6a5f8966cc]::string::String>> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x608d5b44bc8a - test[3318909d72adbd73]::run_test_in_process [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x608d5b44bc8a - test[3318909d72adbd73]::run_test::{closure#0} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x608d5b447234 - test[3318909d72adbd73]::run_test::{closure#1} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x608d5b447234 - std[b14e17aa63033746]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x608d5b44e782 - std[b14e17aa63033746]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x608d5b44e782 - ::{closure#1}::{closure#0}> as core[7ebf52c056bd56a4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x608d5b44e782 - std[b14e17aa63033746]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x608d5b44e782 - std[b14e17aa63033746]::panicking::catch_unwind::<(), core[7ebf52c056bd56a4]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x608d5b44e782 - std[b14e17aa63033746]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x608d5b44e782 - std[b14e17aa63033746]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x608d5b44e782 - ::{closure#1} as core[7ebf52c056bd56a4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x608d5b4b799f - + core[7ebf52c056bd56a4]::marker::Send> as core[7ebf52c056bd56a4]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/alloc/src/boxed.rs:2206:9 [INFO] [stdout] 43: 0x608d5b4b799f - ::new::thread_start [INFO] [stdout] at /rustc/a7ee93192a766fb0dafa23def7154fc03cfcfc3e/library/std/src/sys/thread/unix.rs:127:17 [INFO] [stdout] 44: 0x719c69bd7aa4 - [INFO] [stdout] 45: 0x719c69c64a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tests::is_single_friend_birthday [INFO] [stdout] [INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin birthday-kata` [INFO] running `Command { std: "docker" "inspect" "72b3497b9bb76eeeeb6200261c7f608bba8fbb90c32ec1a976ba6db94f135f7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72b3497b9bb76eeeeb6200261c7f608bba8fbb90c32ec1a976ba6db94f135f7d", kill_on_drop: false }` [INFO] [stdout] 72b3497b9bb76eeeeb6200261c7f608bba8fbb90c32ec1a976ba6db94f135f7d