[INFO] fetching crate edo 0.3.0...
[INFO] testing edo-0.3.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate edo 0.3.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate edo 0.3.0
[INFO] finished tweaking crates.io crate edo 0.3.0
[INFO] tweaked toml for crates.io crate edo 0.3.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate edo 0.3.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 1 package to latest compatible version
[INFO] [stderr]       Adding nom v1.2.4 (available: v8.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 468a025de872bb23218cdd2b37c3d61960a87fab2267c6706adf8ab0b112e9b7
[INFO] running `Command { std: "docker" "start" "-a" "468a025de872bb23218cdd2b37c3d61960a87fab2267c6706adf8ab0b112e9b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "468a025de872bb23218cdd2b37c3d61960a87fab2267c6706adf8ab0b112e9b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "468a025de872bb23218cdd2b37c3d61960a87fab2267c6706adf8ab0b112e9b7", kill_on_drop: false }`
[INFO] [stdout] 468a025de872bb23218cdd2b37c3d61960a87fab2267c6706adf8ab0b112e9b7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3b00f514a995299e7ea55fc958836070a89645965878f3da36112e008e5b20d
[INFO] running `Command { std: "docker" "start" "-a" "b3b00f514a995299e7ea55fc958836070a89645965878f3da36112e008e5b20d", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling nom v1.2.4
[INFO] [stderr]    Compiling edo v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |             template: try!(parse::parse(template_string)),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Handler(Box<Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Handler(Box<dyn Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 | named!(function<&[u8], Expression>, chain!(
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |                 the same 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] 35 | named!(function<&[u8], Expression<'_>>, chain!(
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 | named!(literal<&[u8], Expression>, map!(
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |                the same 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] 55 | named!(literal<&[u8], Expression<'_>>, map!(
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 | named!(pub expressions<&[u8], Vec<Expression> >, many0!(alt!(
[INFO] [stdout]    |                        ^^^^^      ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |                        the same 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] 64 | named!(pub expressions<&[u8], Vec<Expression<'_>> >, many0!(alt!(
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:70:48
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression>, EdoError> {
[INFO] [stdout]    |                          --                    ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression<'a>>, EdoError> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.92s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v1.2.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "b3b00f514a995299e7ea55fc958836070a89645965878f3da36112e008e5b20d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3b00f514a995299e7ea55fc958836070a89645965878f3da36112e008e5b20d", kill_on_drop: false }`
[INFO] [stdout] b3b00f514a995299e7ea55fc958836070a89645965878f3da36112e008e5b20d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a753d39af6f31cb7803e23140ce70d8346e0de53d4aad4593f20b17a625443c
[INFO] running `Command { std: "docker" "start" "-a" "7a753d39af6f31cb7803e23140ce70d8346e0de53d4aad4593f20b17a625443c", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling edo v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |             template: try!(parse::parse(template_string)),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Handler(Box<Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Handler(Box<dyn Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 | named!(function<&[u8], Expression>, chain!(
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |                 the same 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] 35 | named!(function<&[u8], Expression<'_>>, chain!(
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 | named!(literal<&[u8], Expression>, map!(
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |                the same 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] 55 | named!(literal<&[u8], Expression<'_>>, map!(
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 | named!(pub expressions<&[u8], Vec<Expression> >, many0!(alt!(
[INFO] [stdout]    |                        ^^^^^      ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |                        the same 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] 64 | named!(pub expressions<&[u8], Vec<Expression<'_>> >, many0!(alt!(
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:70:48
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression>, EdoError> {
[INFO] [stdout]    |                          --                    ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression<'a>>, EdoError> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |             template: try!(parse::parse(template_string)),
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Handler(Box<Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Handler(Box<dyn Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 | named!(function<&[u8], Expression>, chain!(
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |                 the same 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] 35 | named!(function<&[u8], Expression<'_>>, chain!(
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 | named!(literal<&[u8], Expression>, map!(
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |                the same 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] 55 | named!(literal<&[u8], Expression<'_>>, map!(
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 | named!(pub expressions<&[u8], Vec<Expression> >, many0!(alt!(
[INFO] [stdout]    |                        ^^^^^      ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |                        the same 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] 64 | named!(pub expressions<&[u8], Vec<Expression<'_>> >, many0!(alt!(
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/parse.rs:70:48
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression>, EdoError> {
[INFO] [stdout]    |                          --                    ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression<'a>>, EdoError> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |             Err(err) => panic!(err),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 176 |             Err(err) => panic!("{}", err),
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 176 -             Err(err) => panic!(err),
[INFO] [stdout] 176 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:186:32
[INFO] [stdout]     |
[INFO] [stdout] 186 |             Err(err) => panic!(err),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 186 |             Err(err) => panic!("{}", err),
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 186 -             Err(err) => panic!(err),
[INFO] [stdout] 186 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:196:32
[INFO] [stdout]     |
[INFO] [stdout] 196 |             Err(err) => panic!(err),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 196 |             Err(err) => panic!("{}", err),
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 196 -             Err(err) => panic!(err),
[INFO] [stdout] 196 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |             Err(err) => panic!(err),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 209 |             Err(err) => panic!("{}", err),
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 209 -             Err(err) => panic!(err),
[INFO] [stdout] 209 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:221:32
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Err(err) => panic!(err),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Err(err) => panic!("{}", err),
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 221 -             Err(err) => panic!(err),
[INFO] [stdout] 221 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |             Err(err) => panic!(err),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 236 |             Err(err) => panic!("{}", err),
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 236 -             Err(err) => panic!(err),
[INFO] [stdout] 236 +             Err(err) => std::panic::panic_any(err),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.13s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v1.2.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7a753d39af6f31cb7803e23140ce70d8346e0de53d4aad4593f20b17a625443c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a753d39af6f31cb7803e23140ce70d8346e0de53d4aad4593f20b17a625443c", kill_on_drop: false }`
[INFO] [stdout] 7a753d39af6f31cb7803e23140ce70d8346e0de53d4aad4593f20b17a625443c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c573e41af1d34e2992d08d16b45ae9d45d8090bde2b7e19e94f859afb44974de
[INFO] running `Command { std: "docker" "start" "-a" "c573e41af1d34e2992d08d16b45ae9d45d8090bde2b7e19e94f859afb44974de", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:74:23
[INFO] [stderr]    |
[INFO] [stderr] 74 |             template: try!(parse::parse(template_string)),
[INFO] [stderr]    |                       ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:51:17
[INFO] [stderr]    |
[INFO] [stderr] 51 |     Handler(Box<Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 51 |     Handler(Box<dyn Fn(Vec<&'a str>) -> Result<String, String>>),
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:28:32
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]    |                                ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/parse.rs:35:17
[INFO] [stderr]    |
[INFO] [stderr] 35 | named!(function<&[u8], Expression>, chain!(
[INFO] [stderr]    |                 ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |                 the same lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 35 | named!(function<&[u8], Expression<'_>>, chain!(
[INFO] [stderr]    |                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/parse.rs:55:16
[INFO] [stderr]    |
[INFO] [stderr] 55 | named!(literal<&[u8], Expression>, map!(
[INFO] [stderr]    |                ^^^^^  ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                |
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |                the same lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 55 | named!(literal<&[u8], Expression<'_>>, map!(
[INFO] [stderr]    |                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/parse.rs:64:24
[INFO] [stderr]    |
[INFO] [stderr] 64 | named!(pub expressions<&[u8], Vec<Expression> >, many0!(alt!(
[INFO] [stderr]    |                        ^^^^^      ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |                        the same lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 64 | named!(pub expressions<&[u8], Vec<Expression<'_>> >, many0!(alt!(
[INFO] [stderr]    |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/parse.rs:70:48
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression>, EdoError> {
[INFO] [stderr]    |                          --                    ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub fn parse<'a>(input: &'a str) -> Result<Vec<Expression<'a>>, EdoError> {
[INFO] [stderr]    |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `edo` (lib) generated 7 warnings (run `cargo fix --lib -p edo` to apply 6 suggestions)
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:176:32
[INFO] [stderr]     |
[INFO] [stderr] 176 |             Err(err) => panic!(err),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 176 |             Err(err) => panic!("{}", err),
[INFO] [stderr]     |                                +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 176 -             Err(err) => panic!(err),
[INFO] [stderr] 176 +             Err(err) => std::panic::panic_any(err),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:186:32
[INFO] [stderr]     |
[INFO] [stderr] 186 |             Err(err) => panic!(err),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 186 |             Err(err) => panic!("{}", err),
[INFO] [stderr]     |                                +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 186 -             Err(err) => panic!(err),
[INFO] [stderr] 186 +             Err(err) => std::panic::panic_any(err),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:196:32
[INFO] [stderr]     |
[INFO] [stderr] 196 |             Err(err) => panic!(err),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 196 |             Err(err) => panic!("{}", err),
[INFO] [stderr]     |                                +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 196 -             Err(err) => panic!(err),
[INFO] [stderr] 196 +             Err(err) => std::panic::panic_any(err),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:209:32
[INFO] [stderr]     |
[INFO] [stderr] 209 |             Err(err) => panic!(err),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 209 |             Err(err) => panic!("{}", err),
[INFO] [stderr]     |                                +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 209 -             Err(err) => panic!(err),
[INFO] [stderr] 209 +             Err(err) => std::panic::panic_any(err),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:221:32
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Err(err) => panic!(err),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 221 |             Err(err) => panic!("{}", err),
[INFO] [stderr]     |                                +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 221 -             Err(err) => panic!(err),
[INFO] [stderr] 221 +             Err(err) => std::panic::panic_any(err),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/lib.rs:236:32
[INFO] [stderr]     |
[INFO] [stderr] 236 |             Err(err) => panic!(err),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 236 |             Err(err) => panic!("{}", err),
[INFO] [stderr]     |                                +++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 236 -             Err(err) => panic!(err),
[INFO] [stderr] 236 +             Err(err) => std::panic::panic_any(err),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `edo` (lib test) generated 13 warnings (7 duplicates) (run `cargo fix --lib -p edo --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v1.2.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/edo-e211dd35ee38bce9)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test parse::tests::parse_function ... ok
[INFO] [stdout] test parse::tests::parse_method ... ok
[INFO] [stdout] test parse::tests::parse_literal ... ok
[INFO] [stdout] test parse::tests::parse_multiple_expressions ... ok
[INFO] [stdout] test tests::render_template ... ok
[INFO] [stdout] test tests::create_new_edo ... ok
[INFO] [stdout] test parse::tests::parse_arguments ... ok
[INFO] [stdout] test tests::register_static ... ok
[INFO] [stdout] test tests::render_with_errors ... ok
[INFO] [stdout] test tests::render_template_with_arguments ... ok
[INFO] [stdout] test tests::register_handler ... ok
[INFO] [stdout] test tests::render_template_with_missing_handler ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests edo
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/lib.rs - Edo<'a>::register_handler (line 81) - compile ... ok
[INFO] [stdout] test src/lib.rs - Edo<'a>::register_static (line 95) - compile ... ok
[INFO] [stdout] test src/lib.rs - Edo<'a>::new (line 66) - compile ... ok
[INFO] [stdout] test src/lib.rs - Edo<'a>::render (line 108) ... ok
[INFO] [stdout] test src/lib.rs - (line 18) ... ok
[INFO] [stdout] test src/lib.rs - (line 8) ... ok
[INFO] [stdout] test src/lib.rs - Edo<'a>::render_with_errors (line 123) ... ok
[INFO] [stdout] test src/lib.rs - (line 28) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c573e41af1d34e2992d08d16b45ae9d45d8090bde2b7e19e94f859afb44974de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c573e41af1d34e2992d08d16b45ae9d45d8090bde2b7e19e94f859afb44974de", kill_on_drop: false }`
[INFO] [stdout] c573e41af1d34e2992d08d16b45ae9d45d8090bde2b7e19e94f859afb44974de
