[INFO] cloning repository https://github.com/eliovir/rust-ini
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/eliovir/rust-ini" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feliovir%2Frust-ini", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feliovir%2Frust-ini'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cd847a3104a6a9066fd8b01773c33212f5014cb6
[INFO] testing eliovir/rust-ini against beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feliovir%2Frust-ini" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/eliovir/rust-ini on toolchain beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/eliovir/rust-ini
[INFO] finished tweaking git repo https://github.com/eliovir/rust-ini
[INFO] tweaked toml for git repo https://github.com/eliovir/rust-ini written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/eliovir/rust-ini 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" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `inifile` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 888631ffb57ad1ad78c62ad2a2067864ad9e55297f7b5053b37eb9c1de0c25d2
[INFO] running `Command { std: "docker" "start" "-a" "888631ffb57ad1ad78c62ad2a2067864ad9e55297f7b5053b37eb9c1de0c25d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "888631ffb57ad1ad78c62ad2a2067864ad9e55297f7b5053b37eb9c1de0c25d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "888631ffb57ad1ad78c62ad2a2067864ad9e55297f7b5053b37eb9c1de0c25d2", kill_on_drop: false }`
[INFO] [stdout] 888631ffb57ad1ad78c62ad2a2067864ad9e55297f7b5053b37eb9c1de0c25d2
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7667f5a7f7aad20a3750c3703fb75bab27041abc903c4e7e31bfbf7a12e11607
[INFO] running `Command { std: "docker" "start" "-a" "7667f5a7f7aad20a3750c3703fb75bab27041abc903c4e7e31bfbf7a12e11607", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `inifile` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling libc v0.2.6
[INFO] [stderr]    Compiling log v0.3.5
[INFO] [stderr]    Compiling inifile v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]    --> src/lib.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("Section [{:?}] does not exist!");
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]    --> src/lib.rs:261:21
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("Section [{:?}] does not exist!");
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.43s
[INFO] running `Command { std: "docker" "inspect" "7667f5a7f7aad20a3750c3703fb75bab27041abc903c4e7e31bfbf7a12e11607", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7667f5a7f7aad20a3750c3703fb75bab27041abc903c4e7e31bfbf7a12e11607", kill_on_drop: false }`
[INFO] [stdout] 7667f5a7f7aad20a3750c3703fb75bab27041abc903c4e7e31bfbf7a12e11607
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e5dd88222903ca2023ac20828a5db4be426019a11dfc4dd96da88946fbe9ff77
[INFO] running `Command { std: "docker" "start" "-a" "e5dd88222903ca2023ac20828a5db4be426019a11dfc4dd96da88946fbe9ff77", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `inifile` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]    --> src/lib.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("Section [{:?}] does not exist!");
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]    --> src/lib.rs:261:21
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("Section [{:?}] does not exist!");
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling inifile v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]    --> src/lib.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("Section [{:?}] does not exist!");
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 205 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]    --> src/lib.rs:261:21
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("Section [{:?}] does not exist!");
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 261 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:346:30
[INFO] [stdout]     |
[INFO] [stdout] 346 |         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 346 -         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout] 346 +         assert!(expected == found, "Default file path must be \"{}\", not \"{}\".", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:354:30
[INFO] [stdout]     |
[INFO] [stdout] 354 |         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 354 -         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout] 354 +         assert!(expected == found, "Default file path must be \"{}\", not \"{}\".", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:363:30
[INFO] [stdout]     |
[INFO] [stdout] 363 |         assert!(expected == found, format!("{} sections are expected, not {}.", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 363 -         assert!(expected == found, format!("{} sections are expected, not {}.", expected, found));
[INFO] [stdout] 363 +         assert!(expected == found, "{} sections are expected, not {}.", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:371:30
[INFO] [stdout]     |
[INFO] [stdout] 371 |         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 371 -         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout] 371 +         assert!(expected == found, "Sections must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:407:30
[INFO] [stdout]     |
[INFO] [stdout] 407 |         assert!(expected == found, format!("[section1] value11 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 407 -         assert!(expected == found, format!("[section1] value11 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout] 407 +         assert!(expected == found, "[section1] value11 must be \"{}\", not \"{}\".", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:416:19
[INFO] [stdout]     |
[INFO] [stdout] 416 |             assert!(found, format!("[Booleans] {:?} must be true.", key));
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 416 -             assert!(found, format!("[Booleans] {:?} must be true.", key));
[INFO] [stdout] 416 +             assert!(found, "[Booleans] {:?} must be true.", key);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:426:20
[INFO] [stdout]     |
[INFO] [stdout] 426 |             assert!(!found, format!("[Booleans] {:?} must be false.", key));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 426 -             assert!(!found, format!("[Booleans] {:?} must be false.", key));
[INFO] [stdout] 426 +             assert!(!found, "[Booleans] {:?} must be false.", key);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 |                 format!("[Integers] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 448 -                 format!("[Integers] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stdout] 448 +                 "[Integers] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:470:5
[INFO] [stdout]     |
[INFO] [stdout] 470 |                 format!("[Floats] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 470 -                 format!("[Floats] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stdout] 470 +                 "[Floats] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:479:30
[INFO] [stdout]     |
[INFO] [stdout] 479 |         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 479 -         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout] 479 +         assert!(expected == found, "Sections must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:483:32
[INFO] [stdout]     |
[INFO] [stdout] 483 |         assert!(expected2 == found2, format!("Sections must be \"{:?}\", not {:?}.", expected2, found2));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 483 -         assert!(expected2 == found2, format!("Sections must be \"{:?}\", not {:?}.", expected2, found2));
[INFO] [stdout] 483 +         assert!(expected2 == found2, "Sections must be \"{:?}\", not {:?}.", expected2, found2);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:500:30
[INFO] [stdout]     |
[INFO] [stdout] 500 |         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 500 -         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout] 500 +         assert!(expected == found, "Sections must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:509:30
[INFO] [stdout]     |
[INFO] [stdout] 509 |         assert!(expected == found, format!("[section1] value2 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 509 -         assert!(expected == found, format!("[section1] value2 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stdout] 509 +         assert!(expected == found, "[section1] value2 must be \"{}\", not \"{}\".", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:517:30
[INFO] [stdout]     |
[INFO] [stdout] 517 |         assert!(expected == found, format!("Items of [section1] must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 517 -         assert!(expected == found, format!("Items of [section1] must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stdout] 517 +         assert!(expected == found, "Items of [section1] must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:551:25
[INFO] [stdout]     |
[INFO] [stdout] 551 |         assert!(exists(path), format!("{} should exist after writing inifile!", writepath));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 551 -         assert!(exists(path), format!("{} should exist after writing inifile!", writepath));
[INFO] [stdout] 551 +         assert!(exists(path), "{} should exist after writing inifile!", writepath);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:561:25
[INFO] [stdout]     |
[INFO] [stdout] 561 |         assert!(exists(path), format!("{} should exist after reading the new inifile!", writepath));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 561 -         assert!(exists(path), format!("{} should exist after reading the new inifile!", writepath));
[INFO] [stdout] 561 +         assert!(exists(path), "{} should exist after reading the new inifile!", writepath);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:563:29
[INFO] [stdout]     |
[INFO] [stdout] 563 |         assert!(!result.is_err(), format!("Unlinking {} should not panic!", writepath));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 563 -         assert!(!result.is_err(), format!("Unlinking {} should not panic!", writepath));
[INFO] [stdout] 563 +         assert!(!result.is_err(), "Unlinking {} should not panic!", writepath);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:579:20
[INFO] [stdout]     |
[INFO] [stdout] 579 |         ini.set_path(path.clone());
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 579 -         ini.set_path(path.clone());
[INFO] [stdout] 579 +         ini.set_path(path);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.03s
[INFO] running `Command { std: "docker" "inspect" "e5dd88222903ca2023ac20828a5db4be426019a11dfc4dd96da88946fbe9ff77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5dd88222903ca2023ac20828a5db4be426019a11dfc4dd96da88946fbe9ff77", kill_on_drop: false }`
[INFO] [stdout] e5dd88222903ca2023ac20828a5db4be426019a11dfc4dd96da88946fbe9ff77
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 16a6d550fde98022cd7271801a666ddc3c88a88221be102a554d5a9eb2a40b4c
[INFO] running `Command { std: "docker" "start" "-a" "16a6d550fde98022cd7271801a666ddc3c88a88221be102a554d5a9eb2a40b4c", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `inifile` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: panic message contains an unused formatting placeholder
[INFO] [stderr]    --> src/lib.rs:205:21
[INFO] [stderr]     |
[INFO] [stderr] 205 |             panic!("Section [{:?}] does not exist!");
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add the missing argument
[INFO] [stderr]     |
[INFO] [stderr] 205 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stderr]     |                                                    +++++
[INFO] [stderr] help: or add a "{}" format string to use the message literally
[INFO] [stderr]     |
[INFO] [stderr] 205 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message contains an unused formatting placeholder
[INFO] [stderr]    --> src/lib.rs:261:21
[INFO] [stderr]     |
[INFO] [stderr] 261 |             panic!("Section [{:?}] does not exist!");
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stderr] help: add the missing argument
[INFO] [stderr]     |
[INFO] [stderr] 261 |             panic!("Section [{:?}] does not exist!", ...);
[INFO] [stderr]     |                                                    +++++
[INFO] [stderr] help: or add a "{}" format string to use the message literally
[INFO] [stderr]     |
[INFO] [stderr] 261 |             panic!("{}", "Section [{:?}] does not exist!");
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `inifile` (lib) generated 2 warnings (run `cargo fix --lib -p inifile` to apply 2 suggestions)
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:346:30
[INFO] [stderr]     |
[INFO] [stderr] 346 |         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 346 -         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr] 346 +         assert!(expected == found, "Default file path must be \"{}\", not \"{}\".", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:354:30
[INFO] [stderr]     |
[INFO] [stderr] 354 |         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 354 -         assert!(expected == found, format!("Default file path must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr] 354 +         assert!(expected == found, "Default file path must be \"{}\", not \"{}\".", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:363:30
[INFO] [stderr]     |
[INFO] [stderr] 363 |         assert!(expected == found, format!("{} sections are expected, not {}.", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 363 -         assert!(expected == found, format!("{} sections are expected, not {}.", expected, found));
[INFO] [stderr] 363 +         assert!(expected == found, "{} sections are expected, not {}.", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:371:30
[INFO] [stderr]     |
[INFO] [stderr] 371 |         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 371 -         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr] 371 +         assert!(expected == found, "Sections must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:407:30
[INFO] [stderr]     |
[INFO] [stderr] 407 |         assert!(expected == found, format!("[section1] value11 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 407 -         assert!(expected == found, format!("[section1] value11 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr] 407 +         assert!(expected == found, "[section1] value11 must be \"{}\", not \"{}\".", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:416:19
[INFO] [stderr]     |
[INFO] [stderr] 416 |             assert!(found, format!("[Booleans] {:?} must be true.", key));
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 416 -             assert!(found, format!("[Booleans] {:?} must be true.", key));
[INFO] [stderr] 416 +             assert!(found, "[Booleans] {:?} must be true.", key);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:426:20
[INFO] [stderr]     |
[INFO] [stderr] 426 |             assert!(!found, format!("[Booleans] {:?} must be false.", key));
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 426 -             assert!(!found, format!("[Booleans] {:?} must be false.", key));
[INFO] [stderr] 426 +             assert!(!found, "[Booleans] {:?} must be false.", key);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:448:5
[INFO] [stderr]     |
[INFO] [stderr] 448 |                 format!("[Integers] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 448 -                 format!("[Integers] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stderr] 448 +                 "[Integers] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:470:5
[INFO] [stderr]     |
[INFO] [stderr] 470 |                 format!("[Floats] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 470 -                 format!("[Floats] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found));
[INFO] [stderr] 470 +                 "[Floats] {:?} must be \"{:?}\", not \"{:?}\".", key, expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:479:30
[INFO] [stderr]     |
[INFO] [stderr] 479 |         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 479 -         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr] 479 +         assert!(expected == found, "Sections must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:483:32
[INFO] [stderr]     |
[INFO] [stderr] 483 |         assert!(expected2 == found2, format!("Sections must be \"{:?}\", not {:?}.", expected2, found2));
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 483 -         assert!(expected2 == found2, format!("Sections must be \"{:?}\", not {:?}.", expected2, found2));
[INFO] [stderr] 483 +         assert!(expected2 == found2, "Sections must be \"{:?}\", not {:?}.", expected2, found2);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:500:30
[INFO] [stderr]     |
[INFO] [stderr] 500 |         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 500 -         assert!(expected == found, format!("Sections must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr] 500 +         assert!(expected == found, "Sections must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:509:30
[INFO] [stderr]     |
[INFO] [stderr] 509 |         assert!(expected == found, format!("[section1] value2 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 509 -         assert!(expected == found, format!("[section1] value2 must be \"{}\", not \"{}\".", expected, found));
[INFO] [stderr] 509 +         assert!(expected == found, "[section1] value2 must be \"{}\", not \"{}\".", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:517:30
[INFO] [stderr]     |
[INFO] [stderr] 517 |         assert!(expected == found, format!("Items of [section1] must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 517 -         assert!(expected == found, format!("Items of [section1] must be \"{:?}\", not {:?}.", expected, found));
[INFO] [stderr] 517 +         assert!(expected == found, "Items of [section1] must be \"{:?}\", not {:?}.", expected, found);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:551:25
[INFO] [stderr]     |
[INFO] [stderr] 551 |         assert!(exists(path), format!("{} should exist after writing inifile!", writepath));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 551 -         assert!(exists(path), format!("{} should exist after writing inifile!", writepath));
[INFO] [stderr] 551 +         assert!(exists(path), "{} should exist after writing inifile!", writepath);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:561:25
[INFO] [stderr]     |
[INFO] [stderr] 561 |         assert!(exists(path), format!("{} should exist after reading the new inifile!", writepath));
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 561 -         assert!(exists(path), format!("{} should exist after reading the new inifile!", writepath));
[INFO] [stderr] 561 +         assert!(exists(path), "{} should exist after reading the new inifile!", writepath);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:563:29
[INFO] [stderr]     |
[INFO] [stderr] 563 |         assert!(!result.is_err(), format!("Unlinking {} should not panic!", writepath));
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 563 -         assert!(!result.is_err(), format!("Unlinking {} should not panic!", writepath));
[INFO] [stderr] 563 +         assert!(!result.is_err(), "Unlinking {} should not panic!", writepath);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/lib.rs:579:20
[INFO] [stderr]     |
[INFO] [stderr] 579 |         ini.set_path(path.clone());
[INFO] [stderr]     |                          ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 579 -         ini.set_path(path.clone());
[INFO] [stderr] 579 +         ini.set_path(path);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `inifile` (lib test) generated 20 warnings (2 duplicates) (run `cargo fix --lib -p inifile --tests` to apply 18 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/inifile-2b3926a1b8aca212)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test tests::default_filepath_is_empty ... ok
[INFO] [stdout] test tests::filepath ... ok
[INFO] [stdout] test tests::get ... ok
[INFO] [stdout] test tests::add_section ... ok
[INFO] [stdout] test tests::get_bool_false ... ok
[INFO] [stdout] test tests::get_f64 ... ok
[INFO] [stdout] test tests::get_int ... ok
[INFO] [stdout] test tests::get_bool_true ... ok
[INFO] [stdout] test tests::has_section_false ... ok
[INFO] [stdout] test tests::has_section_true ... ok
[INFO] [stdout] test tests::options ... ok
[INFO] [stdout] test tests::sections_names ... ok
[INFO] [stdout] test tests::to_string ... ok
[INFO] [stdout] test tests::set ... ok
[INFO] [stdout] test tests::sections_length ... ok
[INFO] [stdout] test tests::has_option_false ... ok
[INFO] [stdout] test tests::remove_section ... ok
[INFO] [stdout] test tests::has_option_true ... ok
[INFO] [stdout] test tests::add_section_twice - should panic ... ok
[INFO] [stdout] test tests::get_bool_fail - should panic ... ok
[INFO] [stdout] test tests::get_int_fail - should panic ... ok
[INFO] [stdout] test tests::save ... FAILED
[INFO] [stdout] test tests::write ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::save stdout ----
[INFO] [stdout] failed to create "src/data/save_test.ini": Read-only file system (os error 30)
[INFO] [stdout] thread 'tests::save' panicked at src/lib.rs:585:23:
[INFO] [stdout] open of "src/data/save_test.ini" failed: No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b5b6da7d4da - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5b5b6da7d4da - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5b5b6da7d4da - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5b5b6da7d4da - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5b5b6daa43f3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5b5b6daa43f3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x5b5b6da7a653 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x5b5b6da7d322 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5b5b6da7e95d - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x5b5b6da7e767 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x5b5b6da47807 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x5b5b6da47807 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5b5b6da7f008 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x5b5b6da7f008 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x5b5b6da7edca - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x5b5b6da7d9b9 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x5b5b6da7ea5c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x5b5b6d9e3b60 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x5b5b6d9f6c70 - inifile::tests::save::haa67c2cae0bb8b8b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:585:14
[INFO] [stdout]   19:     0x5b5b6d9f64c7 - inifile::tests::save::{{closure}}::h7f99ba49add431d1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:566:11
[INFO] [stdout]   20:     0x5b5b6da05056 - core::ops::function::FnOnce::call_once::hce2e4fc437e854be
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x5b5b6da4c32b - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5b5b6da4c32b - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   23:     0x5b5b6da4bd18 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   24:     0x5b5b6da4bd18 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   25:     0x5b5b6da4bd18 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   26:     0x5b5b6da4bd18 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   27:     0x5b5b6da4bd18 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   28:     0x5b5b6da4bd18 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   29:     0x5b5b6da4bd18 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   30:     0x5b5b6da0f7ba - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   31:     0x5b5b6da0f7ba - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   32:     0x5b5b6da13134 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   33:     0x5b5b6da13134 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   34:     0x5b5b6da13134 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   35:     0x5b5b6da13134 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   36:     0x5b5b6da13134 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   37:     0x5b5b6da13134 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   38:     0x5b5b6da13134 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   39:     0x5b5b6da8303b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   40:     0x5b5b6da8303b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   41:     0x5b5b6da8303b - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   42:     0x7a89fdac1ac3 - <unknown>
[INFO] [stdout]   43:     0x7a89fdb52a04 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::write stdout ----
[INFO] [stdout] failed to create "src/data/config.ini": Read-only file system (os error 30)
[INFO] [stdout] thread 'tests::write' panicked at src/lib.rs:551:9:
[INFO] [stdout] src/data/write_test.ini should exist after writing inifile!
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b5b6da7d4da - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x5b5b6da7d4da - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5b5b6da7d4da - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5b5b6da7d4da - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5b5b6daa43f3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x5b5b6daa43f3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x5b5b6da7a653 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x5b5b6da7d322 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x5b5b6da7e95d - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x5b5b6da7e767 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x5b5b6da47807 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x5b5b6da47807 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x5b5b6da7f008 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x5b5b6da7f008 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x5b5b6d9efa5b - std::panicking::begin_panic::{{closure}}::h9a14e42f45a8d7ba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:738:9
[INFO] [stdout]   15:     0x5b5b6d9fb336 - std::sys::backtrace::__rust_end_short_backtrace::hbce248989d555e7a
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x5b5b6d9ef95b - std::panicking::begin_panic::h13464de7b6800b0c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:737:5
[INFO] [stdout]   17:     0x5b5b6d9f609c - inifile::tests::write::hc5d44e7766386f8d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:551:3
[INFO] [stdout]   18:     0x5b5b6d9f5ea7 - inifile::tests::write::{{closure}}::h1b3704442c22934d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:542:12
[INFO] [stdout]   19:     0x5b5b6da04a16 - core::ops::function::FnOnce::call_once::h60355f9292da4503
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   20:     0x5b5b6da4c32b - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x5b5b6da4c32b - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   22:     0x5b5b6da4bd18 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   23:     0x5b5b6da4bd18 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   24:     0x5b5b6da4bd18 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   25:     0x5b5b6da4bd18 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   26:     0x5b5b6da4bd18 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   27:     0x5b5b6da4bd18 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   28:     0x5b5b6da4bd18 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   29:     0x5b5b6da0f7ba - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   30:     0x5b5b6da0f7ba - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   31:     0x5b5b6da13134 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   32:     0x5b5b6da13134 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   33:     0x5b5b6da13134 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   34:     0x5b5b6da13134 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   35:     0x5b5b6da13134 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   36:     0x5b5b6da13134 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   37:     0x5b5b6da13134 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   38:     0x5b5b6da8303b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   39:     0x5b5b6da8303b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   40:     0x5b5b6da8303b - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   41:     0x7a89fdac1ac3 - <unknown>
[INFO] [stdout]   42:     0x7a89fdb52a04 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::save
[INFO] [stdout]     tests::write
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 21 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "16a6d550fde98022cd7271801a666ddc3c88a88221be102a554d5a9eb2a40b4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16a6d550fde98022cd7271801a666ddc3c88a88221be102a554d5a9eb2a40b4c", kill_on_drop: false }`
[INFO] [stdout] 16a6d550fde98022cd7271801a666ddc3c88a88221be102a554d5a9eb2a40b4c
