[INFO] cloning repository https://github.com/rcdomigan/atl-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rcdomigan/atl-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frcdomigan%2Fatl-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frcdomigan%2Fatl-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 43fe0e01a69e3911c11103b025a1e3ba636bea1c
[INFO] checking rcdomigan/atl-rs against try#bac5816c5f3d02cebd0599070af62d1782530294 for pr-150408
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frcdomigan%2Fatl-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rcdomigan/atl-rs
[INFO] finished tweaking git repo https://github.com/rcdomigan/atl-rs
[INFO] tweaked toml for git repo https://github.com/rcdomigan/atl-rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rcdomigan/atl-rs on toolchain bac5816c5f3d02cebd0599070af62d1782530294
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rcdomigan/atl-rs 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" "+bac5816c5f3d02cebd0599070af62d1782530294" "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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking rcdomigan/atl-rs against try#bac5816c5f3d02cebd0599070af62d1782530294 for pr-150408
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frcdomigan%2Fatl-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rcdomigan/atl-rs
[INFO] finished tweaking git repo https://github.com/rcdomigan/atl-rs
[INFO] tweaked toml for git repo https://github.com/rcdomigan/atl-rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rcdomigan/atl-rs on toolchain bac5816c5f3d02cebd0599070af62d1782530294
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rcdomigan/atl-rs 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" "+bac5816c5f3d02cebd0599070af62d1782530294" "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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f2223af971b474d2ffa4bcdd94612df5310f959cc435f69c918a4831f4429e13
[INFO] running `Command { std: "docker" "start" "-a" "f2223af971b474d2ffa4bcdd94612df5310f959cc435f69c918a4831f4429e13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f2223af971b474d2ffa4bcdd94612df5310f959cc435f69c918a4831f4429e13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2223af971b474d2ffa4bcdd94612df5310f959cc435f69c918a4831f4429e13", kill_on_drop: false }`
[INFO] [stdout] f2223af971b474d2ffa4bcdd94612df5310f959cc435f69c918a4831f4429e13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d463d68f4d3622c66a787463f4a17de01754b3734d406212456c68d21a46ef5
[INFO] running `Command { std: "docker" "start" "-a" "3d463d68f4d3622c66a787463f4a17de01754b3734d406212456c68d21a46ef5", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking atl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/asts.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn to_ast(&self, &mut Ast);
[INFO] [stdout]     |                      ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Ast`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(nll)]
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lexical_scope.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn _close_sym(closures: &mut Iterator<Item = &mut Closure>, name: &str) -> CaptureKind {
[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] 129 |     fn _close_sym(closures: &mut dyn Iterator<Item = &mut Closure>, name: &str) -> CaptureKind {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/op_codes.rs:115:55
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn will_patch(code: &'a mut BuildCode) -> Box<Fn(&mut BuildCode, F) -> UsePosAtDrop<F>> {
[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] 115 |     pub fn will_patch(code: &'a mut BuildCode) -> Box<dyn Fn(&mut BuildCode, F) -> UsePosAtDrop<F>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/asts.rs:221:24
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn build(factory: &ToAst) -> Ast {
[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] 221 | pub fn build(factory: &dyn ToAst) -> Ast {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 35 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/parser.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |             ParseError::IOError(err) => err.description(),
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/rep.rs:48:65
[INFO] [stdout]    |
[INFO] [stdout] 48 |                     Err(err) => panic!("Parsing error: {}", err.description()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/rep.rs:51:78
[INFO] [stdout]    |
[INFO] [stdout] 51 |             Err(err) => panic!("Can't load file {}: {}", path.display(), err.description()),
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]     = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 385 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 406 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 427 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:457:5
[INFO] [stdout]     |
[INFO] [stdout] 457 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 485 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:521:5
[INFO] [stdout]     |
[INFO] [stdout] 521 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:579:5
[INFO] [stdout]     |
[INFO] [stdout] 579 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:649:5
[INFO] [stdout]     |
[INFO] [stdout] 649 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/compile.rs:667:5
[INFO] [stdout]     |
[INFO] [stdout] 667 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/rep.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/rep.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/rep.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:418:5
[INFO] [stdout]     |
[INFO] [stdout] 418 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 440 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 462 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:497:5
[INFO] [stdout]     |
[INFO] [stdout] 497 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:528:5
[INFO] [stdout]     |
[INFO] [stdout] 528 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:553:5
[INFO] [stdout]     |
[INFO] [stdout] 553 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]    --> src/vm.rs:572:5
[INFO] [stdout]     |
[INFO] [stdout] 572 |     #[test()]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/asts.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn to_ast(&self, &mut Ast);
[INFO] [stdout]     |                      ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Ast`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:461:10
[INFO] [stdout]     |
[INFO] [stdout] 461 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:464:10
[INFO] [stdout]     |
[INFO] [stdout] 464 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:489:10
[INFO] [stdout]     |
[INFO] [stdout] 489 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:492:10
[INFO] [stdout]     |
[INFO] [stdout] 492 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:528:10
[INFO] [stdout]     |
[INFO] [stdout] 528 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:531:10
[INFO] [stdout]     |
[INFO] [stdout] 531 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:534:10
[INFO] [stdout]     |
[INFO] [stdout] 534 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:586:10
[INFO] [stdout]     |
[INFO] [stdout] 586 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:589:10
[INFO] [stdout]     |
[INFO] [stdout] 589 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/compile.rs:592:10
[INFO] [stdout]     |
[INFO] [stdout] 592 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lexical_scope.rs:551:35
[INFO] [stdout]     |
[INFO] [stdout] 551 |         use types::Any::Parameter;;
[INFO] [stdout]     |                                   ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lexical_scope.rs:594:45
[INFO] [stdout]     |
[INFO] [stdout] 594 |         use types::Any::{Fixnum, Parameter};;
[INFO] [stdout]     |                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(nll)]
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lexical_scope.rs:129:34
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn _close_sym(closures: &mut Iterator<Item = &mut Closure>, name: &str) -> CaptureKind {
[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] 129 |     fn _close_sym(closures: &mut dyn Iterator<Item = &mut Closure>, name: &str) -> CaptureKind {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/op_codes.rs:115:55
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn will_patch(code: &'a mut BuildCode) -> Box<Fn(&mut BuildCode, F) -> UsePosAtDrop<F>> {
[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] 115 |     pub fn will_patch(code: &'a mut BuildCode) -> Box<dyn Fn(&mut BuildCode, F) -> UsePosAtDrop<F>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/types.rs:134:49
[INFO] [stdout]     |
[INFO] [stdout] 134 |     Any::Symbol(Rc::new(SymbolMetadata::new(name.clone())))
[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: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/asts.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn from_ast(ast: &'a Ast) -> Option<Subex> {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn from_ast(ast: &'a Ast) -> Option<Subex<'a>> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/asts.rs:28:58
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn from_ast_and_len(ast: &'a Ast, len: usize) -> Subex {
[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] 28 |     pub fn from_ast_and_len(ast: &'a Ast, len: usize) -> Subex<'a> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/asts.rs:221:24
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn build(factory: &ToAst) -> Ast {
[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] 221 | pub fn build(factory: &dyn ToAst) -> Ast {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/asts.rs:187:37
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn new(ast: &'a mut Ast) -> NestAst {
[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] 187 |     pub fn new(ast: &'a mut Ast) -> NestAst<'a> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/compile.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn replace_define(&self, is_define: bool) -> Context {
[INFO] [stdout]    |                       ^^^^^                      ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[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] 72 |     fn replace_define(&self, is_define: bool) -> Context<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexical_scope.rs:105:27
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn rust_functions(&self) -> RustFnItr {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[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] 105 |     pub fn rust_functions(&self) -> RustFnItr<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lexical_scope.rs:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 |             None => panic!(TOPLEVEL_EXPECTED),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 122 |             None => panic!("{}", TOPLEVEL_EXPECTED),
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |     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] 35 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]   --> tests/compile_run.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[test()]
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]    = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]   --> tests/compile_run.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[test()]
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]   --> tests/compile_run.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[test()]
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]   --> tests/compile_run.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[test()]
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]   --> tests/compile_run.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[test()]
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: attribute must be of the form `#[test]`
[INFO] [stdout]   --> tests/compile_run.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[test()]
[INFO] [stdout]    | ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/parser.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |             ParseError::IOError(err) => err.description(),
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `atl` (test "compile_run") due to 12 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/rep.rs:48:65
[INFO] [stdout]    |
[INFO] [stdout] 48 |                     Err(err) => panic!("Parsing error: {}", err.description()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/rep.rs:51:78
[INFO] [stdout]    |
[INFO] [stdout] 51 |             Err(err) => panic!("Can't load file {}: {}", path.display(), err.description()),
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/types.rs:134:49
[INFO] [stdout]     |
[INFO] [stdout] 134 |     Any::Symbol(Rc::new(SymbolMetadata::new(name.clone())))
[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: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/asts.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn from_ast(ast: &'a Ast) -> Option<Subex> {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn from_ast(ast: &'a Ast) -> Option<Subex<'a>> {
[INFO] [stdout]    |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/asts.rs:28:58
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn from_ast_and_len(ast: &'a Ast, len: usize) -> Subex {
[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] 28 |     pub fn from_ast_and_len(ast: &'a Ast, len: usize) -> Subex<'a> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/asts.rs:187:37
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn new(ast: &'a mut Ast) -> NestAst {
[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] 187 |     pub fn new(ast: &'a mut Ast) -> NestAst<'a> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/compile.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn replace_define(&self, is_define: bool) -> Context {
[INFO] [stdout]    |                       ^^^^^                      ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[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] 72 |     fn replace_define(&self, is_define: bool) -> Context<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexical_scope.rs:105:27
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn rust_functions(&self) -> RustFnItr {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[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] 105 |     pub fn rust_functions(&self) -> RustFnItr<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lexical_scope.rs:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 |             None => panic!(TOPLEVEL_EXPECTED),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 122 |             None => panic!("{}", TOPLEVEL_EXPECTED),
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `atl` (lib test) due to 52 previous errors; 28 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3d463d68f4d3622c66a787463f4a17de01754b3734d406212456c68d21a46ef5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d463d68f4d3622c66a787463f4a17de01754b3734d406212456c68d21a46ef5", kill_on_drop: false }`
[INFO] [stdout] 3d463d68f4d3622c66a787463f4a17de01754b3734d406212456c68d21a46ef5
