[INFO] cloning repository https://github.com/nikita-skobov/context-based-variable-substitution
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nikita-skobov/context-based-variable-substitution" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikita-skobov%2Fcontext-based-variable-substitution", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikita-skobov%2Fcontext-based-variable-substitution'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3c7b2f2db643ee2f665354ac3662334a0c16bfe4
[INFO] checking nikita-skobov/context-based-variable-substitution against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikita-skobov%2Fcontext-based-variable-substitution" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nikita-skobov/context-based-variable-substitution
[INFO] finished tweaking git repo https://github.com/nikita-skobov/context-based-variable-substitution
[INFO] tweaked toml for git repo https://github.com/nikita-skobov/context-based-variable-substitution written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nikita-skobov/context-based-variable-substitution on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nikita-skobov/context-based-variable-substitution 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded regex v1.4.0
[INFO] [stderr]   Downloaded regex-syntax v0.6.19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8b37bf3dd8fc8039d82c2f7287e590cf47629c25b3af050512cdbfaa06e996b0
[INFO] running `Command { std: "docker" "start" "-a" "8b37bf3dd8fc8039d82c2f7287e590cf47629c25b3af050512cdbfaa06e996b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8b37bf3dd8fc8039d82c2f7287e590cf47629c25b3af050512cdbfaa06e996b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b37bf3dd8fc8039d82c2f7287e590cf47629c25b3af050512cdbfaa06e996b0", kill_on_drop: false }`
[INFO] [stdout] 8b37bf3dd8fc8039d82c2f7287e590cf47629c25b3af050512cdbfaa06e996b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ae30093bdb5b11d596a7d05374d7e762d3419ede1ba154b927f57b2a187a9a0
[INFO] running `Command { std: "docker" "start" "-a" "5ae30093bdb5b11d596a7d05374d7e762d3419ede1ba154b927f57b2a187a9a0", kill_on_drop: false }`
[INFO] [stderr]     Checking regex-syntax v0.6.19
[INFO] [stderr]     Checking aho-corasick v0.7.13
[INFO] [stderr]     Checking regex v1.4.0
[INFO] [stderr]     Checking context_based_variable_substitution v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/lib.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, string::ToString, hash::Hash};
[INFO] [stdout]   |                                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_ignore` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     FM_ignore,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FmIgnore`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_panic` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     FM_panic,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `FmPanic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_default` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     FM_default(String),
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FmDefault`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_callback` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     FM_callback(F),
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FmCallback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_ignore` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     FM_ignore,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FmIgnore`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_panic` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     FM_panic,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `FmPanic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_default` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     FM_default(String),
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FmDefault`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/lib.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, string::ToString, hash::Hash};
[INFO] [stdout]   |                                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_ignore` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     FM_ignore,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FmIgnore`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_panic` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     FM_panic,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `FmPanic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_default` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     FM_default(String),
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FmDefault`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_callback` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     FM_callback(F),
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FmCallback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_ignore` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     FM_ignore,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FmIgnore`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_panic` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     FM_panic,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `FmPanic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FM_default` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     FM_default(String),
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FmDefault`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lib.rs:9:40
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn capture_parameter_of_type(text: &str) -> regex::CaptureMatches {
[INFO] [stdout]   |                                        ^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |                                        |        |
[INFO] [stdout]   |                                        |        the same lifetime is hidden here
[INFO] [stdout]   |                                        |        the same lifetime is hidden here
[INFO] [stdout]   |                                        the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn capture_parameter_of_type(text: &str) -> regex::CaptureMatches<'_> {
[INFO] [stdout]   |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn capture_default(text: &str) -> regex::CaptureMatches {
[INFO] [stdout]    |                              ^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                              |        |
[INFO] [stdout]    |                              |        the same lifetime is hidden here
[INFO] [stdout]    |                              |        the same lifetime is hidden here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn capture_default(text: &str) -> regex::CaptureMatches<'_> {
[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:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let mut s: String = text.clone().to_string();
[INFO] [stdout]     |                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `syntax_char`
[INFO] [stdout]    --> src/lib.rs:282:49
[INFO] [stdout]     |
[INFO] [stdout] 282 |         fn get_value_from_key(&self, key: &str, syntax_char: char) -> Option<String> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_syntax_char`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/lib.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |         let expected = "this is my custom_context";
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `replaced`
[INFO] [stdout]    --> src/lib.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let replaced = replace_all_from(text, &context, FailureMode::FM_panic, None);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_replaced`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/lib.rs:429:42
[INFO] [stdout]     |
[INFO] [stdout] 429 |             fn get_value_from_key(&self, key: &str, syntax_char: char) -> Option<String> {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lib.rs:9:40
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn capture_parameter_of_type(text: &str) -> regex::CaptureMatches {
[INFO] [stdout]   |                                        ^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |                                        |        |
[INFO] [stdout]   |                                        |        the same lifetime is hidden here
[INFO] [stdout]   |                                        |        the same lifetime is hidden here
[INFO] [stdout]   |                                        the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn capture_parameter_of_type(text: &str) -> regex::CaptureMatches<'_> {
[INFO] [stdout]   |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn capture_default(text: &str) -> regex::CaptureMatches {
[INFO] [stdout]    |                              ^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                              |        |
[INFO] [stdout]    |                              |        the same lifetime is hidden here
[INFO] [stdout]    |                              |        the same lifetime is hidden here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn capture_default(text: &str) -> regex::CaptureMatches<'_> {
[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:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let mut s: String = text.clone().to_string();
[INFO] [stdout]     |                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.38s
[INFO] running `Command { std: "docker" "inspect" "5ae30093bdb5b11d596a7d05374d7e762d3419ede1ba154b927f57b2a187a9a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ae30093bdb5b11d596a7d05374d7e762d3419ede1ba154b927f57b2a187a9a0", kill_on_drop: false }`
[INFO] [stdout] 5ae30093bdb5b11d596a7d05374d7e762d3419ede1ba154b927f57b2a187a9a0
