[INFO] cloning repository https://github.com/mazixuan69/gitchat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mazixuan69/gitchat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmazixuan69%2Fgitchat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmazixuan69%2Fgitchat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 776ec33b09e7591dab8f84d145bb687aae1a94a6
[INFO] testing mazixuan69/gitchat against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmazixuan69%2Fgitchat" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mazixuan69/gitchat
[INFO] finished tweaking git repo https://github.com/mazixuan69/gitchat
[INFO] tweaked toml for git repo https://github.com/mazixuan69/gitchat written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mazixuan69/gitchat on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mazixuan69/gitchat already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398
[INFO] running `Command { std: "docker" "start" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling zmij v1.0.15
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling gitchat v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `MsgId` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let MsgId:Uuid;
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case: `msg_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MsgIndex` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |             I64OrUuid::Index(MsgIndex) => {
[INFO] [stdout]    |                              ^^^^^^^^ help: convert the identifier to snake case: `msg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let _ = &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 9.84s
[INFO] running `Command { std: "docker" "inspect" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: variable `MsgId` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let MsgId:Uuid;
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case: `msg_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MsgIndex` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |             I64OrUuid::Index(MsgIndex) => {
[INFO] [stdout]    |                              ^^^^^^^^ help: convert the identifier to snake case: `msg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let _ = &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gitchat v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `dev_idx`
[INFO] [stdout]    --> src/tests/mod.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |     let dev_idx = ok(root.find_branch_index_by_uuid(&dev_id));
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dev_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MsgId` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let MsgId:Uuid;
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case: `msg_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MsgIndex` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |             I64OrUuid::Index(MsgIndex) => {
[INFO] [stdout]    |                              ^^^^^^^^ help: convert the identifier to snake case: `msg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let _ = &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1.51s
[INFO] running `Command { std: "docker" "inspect" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: variable `MsgId` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:49:13
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let MsgId:Uuid;
[INFO] [stderr]    |             ^^^^^ help: convert the identifier to snake case: `msg_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `MsgIndex` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:67:30
[INFO] [stderr]    |
[INFO] [stderr] 67 |             I64OrUuid::Index(MsgIndex) => {
[INFO] [stderr]    |                              ^^^^^^^^ help: convert the identifier to snake case: `msg_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]    --> src/lib.rs:120:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |         &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 120 |         let _ = &mut self.branches.push(Branch::new(name.clone()));
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dev_idx`
[INFO] [stderr]    --> src/tests/mod.rs:262:9
[INFO] [stderr]     |
[INFO] [stderr] 262 |     let dev_idx = ok(root.find_branch_index_by_uuid(&dev_id));
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dev_idx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gitchat` (lib) generated 3 warnings
[INFO] [stderr] warning: `gitchat` (lib test) generated 4 warnings (3 duplicates) (run `cargo fix --lib -p gitchat --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/gitchat-a2288ae23941575a)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::export_import_roundtrip_empty_root ... ok
[INFO] [stdout] test tests::create_branch_rejects_duplicate_name ... ok
[INFO] [stdout] test tests::export_import_roundtrip_with_branches_and_messages ... ok
[INFO] [stdout] test tests::fork_on_empty_branch_by_index_panics_currently - should panic ... FAILED
[INFO] [stdout] test tests::fork_branch_by_name_and_by_id ... ok
[INFO] [stdout] test tests::import_invalid_json_returns_error ... ok
[INFO] [stdout] test tests::manual_merge_modes_work_as_expected ... ok
[INFO] [stdout] test tests::fork_branch_reports_not_found_errors ... ok
[INFO] [stdout] test tests::merge_human_conflict_requires_manual_resolution ... ok
[INFO] [stdout] test tests::merge_human_fast_forward_child_to_parent ... ok
[INFO] [stdout] test tests::remove_branch_deletes_target ... ok
[INFO] [stdout] test tests::merge_force_overwrites_target_but_keeps_target_identity ... ok
[INFO] [stdout] test tests::merge_human_without_relationship_returns_merge_record_not_found ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] test tests::fork_with_negative_index_panics_currently - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::fork_on_empty_branch_by_index_panics_currently stdout ----
[INFO] [stdout] note: test did not panic as expected at src/tests/mod.rs:197:4
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::fork_on_empty_branch_by_index_panics_currently
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 13 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398", kill_on_drop: false }`
[INFO] [stdout] 9fadbb592bbf8982e75aae4ae524c67eb3a04c92ffe4c8fc5e8caff84ec6e398
