[INFO] cloning repository https://github.com/yu-i9/mini_python
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yu-i9/mini_python" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyu-i9%2Fmini_python", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyu-i9%2Fmini_python'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d62b9040f8427057a20d18340a27bdf2dfc8c22e
[INFO] checking yu-i9/mini_python against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyu-i9%2Fmini_python" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/yu-i9/mini_python
[INFO] finished tweaking git repo https://github.com/yu-i9/mini_python
[INFO] tweaked toml for git repo https://github.com/yu-i9/mini_python written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yu-i9/mini_python on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yu-i9/mini_python 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5db95957790cb5151f5242a7582b3e1d28eabab24ca048d46f1e802528b79251
[INFO] running `Command { std: "docker" "start" "-a" "5db95957790cb5151f5242a7582b3e1d28eabab24ca048d46f1e802528b79251", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5db95957790cb5151f5242a7582b3e1d28eabab24ca048d46f1e802528b79251", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5db95957790cb5151f5242a7582b3e1d28eabab24ca048d46f1e802528b79251", kill_on_drop: false }`
[INFO] [stdout] 5db95957790cb5151f5242a7582b3e1d28eabab24ca048d46f1e802528b79251
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ec457654ea1fc4976b99c759fbb71ffa4eb53caca576568d2bbabdb2aaa2de00
[INFO] running `Command { std: "docker" "start" "-a" "ec457654ea1fc4976b99c759fbb71ffa4eb53caca576568d2bbabdb2aaa2de00", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking mini_python v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/core/lexer.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         '0' ... '9' => true,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[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(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/core/lexer.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |         '_' | 'a' ... 'z' | 'A' ... 'Z' => true,
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/core/lexer.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |         '_' | 'a' ... 'z' | 'A' ... 'Z' => true,
[INFO] [stdout]    |                                 ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/lexer.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 179 |                     try!(lexer.calc_indent(indent_level));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/core/lexer.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |             '0' ... '9' => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/lexer.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 try!(lexer.consume('\'').ok_or(lexer.error("\' expected".to_string())));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opcode::*`
[INFO] [stdout]  --> src/core/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use opcode::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/core/lexer.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         '0' ... '9' => true,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[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(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/core/lexer.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |         '_' | 'a' ... 'z' | 'A' ... 'Z' => true,
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/core/lexer.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |         '_' | 'a' ... 'z' | 'A' ... 'Z' => true,
[INFO] [stdout]    |                                 ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/lexer.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 179 |                     try!(lexer.calc_indent(indent_level));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/core/lexer.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |             '0' ... '9' => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/lexer.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 try!(lexer.consume('\'').ok_or(lexer.error("\' expected".to_string())));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opcode::*`
[INFO] [stdout]  --> src/core/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use opcode::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `iterator_find_map` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/core/mod.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(iterator_find_map)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `iterator_find_map` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/core/mod.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(iterator_find_map)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ch` is never read
[INFO] [stdout]    --> src/core/lexer.rs:186:22
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let mut ch = '0';
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ch` is never read
[INFO] [stdout]    --> src/core/lexer.rs:186:22
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let mut ch = '0';
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta`
[INFO] [stdout]    --> src/core/object/typeobj.rs:225:17
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn type_new(meta: Rc<PyObject>, args: &Vec<Rc<PyObject>>) -> PyRes<Rc<PyObject>> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta`
[INFO] [stdout]    --> src/core/object/typeobj.rs:225:17
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn type_new(meta: Rc<PyObject>, args: &Vec<Rc<PyObject>>) -> PyRes<Rc<PyObject>> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/core/object/typeobj.rs:556:34
[INFO] [stdout]     |
[INFO] [stdout] 556 | fn object_new(typ: Rc<PyObject>, args: &Vec<Rc<PyObject>>) -> PyRes<Rc<PyObject>> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/core/object/typeobj.rs:556:34
[INFO] [stdout]     |
[INFO] [stdout] 556 | fn object_new(typ: Rc<PyObject>, args: &Vec<Rc<PyObject>>) -> PyRes<Rc<PyObject>> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/eval.rs:275:25
[INFO] [stdout]     |
[INFO] [stdout] 275 |                     let mut dictobj = PyObject::pydict_new();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/eval.rs:275:25
[INFO] [stdout]     |
[INFO] [stdout] 275 |                     let mut dictobj = PyObject::pydict_new();
[INFO] [stdout]     |                         ----^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/core/object/excobj.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct PyExcObject {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 106 |     args: Rc<PyObject>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/core/object/excobj.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct PyExcObject {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 106 |     args: Rc<PyObject>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/env.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             dictobj.pydict_update(key, Rc::clone(v));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let _ = dictobj.pydict_update(key, Rc::clone(v));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/env.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             dictobj.pydict_update(key, Rc::clone(v));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let _ = dictobj.pydict_update(key, Rc::clone(v));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/object/typeobj.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn pytype_typeobj_borrow(&self) -> Ref<PyTypeObject> {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn pytype_typeobj_borrow(&self) -> Ref<'_, PyTypeObject> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/object/typeobj.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn pytype_typeobj_borrow(&self) -> Ref<PyTypeObject> {
[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]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn pytype_typeobj_borrow(&self) -> Ref<'_, PyTypeObject> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/object/typeobj.rs:99:38
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn pytype_typeobj_borrow_mut(&self) -> RefMut<PyTypeObject> {
[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] 99 |     pub fn pytype_typeobj_borrow_mut(&self) -> RefMut<'_, PyTypeObject> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/core/eval.rs:278:25
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         dictobj.pydict_update(Rc::clone(&vs[i*2]), Rc::clone(&vs[i*2+1]));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         let _ = dictobj.pydict_update(Rc::clone(&vs[i*2]), Rc::clone(&vs[i*2+1]));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/object/typeobj.rs:99:38
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn pytype_typeobj_borrow_mut(&self) -> RefMut<PyTypeObject> {
[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] 99 |     pub fn pytype_typeobj_borrow_mut(&self) -> RefMut<'_, PyTypeObject> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/core/eval.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     eval(&codeobj.pycode_code(), Rc::clone(&new_env));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     let _ = eval(&codeobj.pycode_code(), Rc::clone(&new_env));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     PY_BASEOBJ_TYPE.with(|tp| { pytype_ready(Rc::clone(tp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = PY_BASEOBJ_TYPE.with(|tp| { pytype_ready(Rc::clone(tp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     PY_BOOL_TYPE.with(|booltp| { pytype_ready(Rc::clone(booltp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let _ = PY_BOOL_TYPE.with(|booltp| { pytype_ready(Rc::clone(booltp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     PY_LIST_TYPE.with(|listtp| { pytype_ready(Rc::clone(listtp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let _ = PY_LIST_TYPE.with(|listtp| { pytype_ready(Rc::clone(listtp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     PY_BASEEXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let _ = PY_BASEEXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PY_EXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let _ = PY_EXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     PY_TYPEERROR_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = PY_TYPEERROR_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/utils.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             eval(&code, env);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |             let _ = eval(&code, env);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/utils.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Err(err) => panic!(err.to_string()),
[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] 26 |         Err(err) => panic!("{}", err.to_string()),
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/core/eval.rs:278:25
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         dictobj.pydict_update(Rc::clone(&vs[i*2]), Rc::clone(&vs[i*2+1]));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         let _ = dictobj.pydict_update(Rc::clone(&vs[i*2]), Rc::clone(&vs[i*2+1]));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/core/eval.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     eval(&codeobj.pycode_code(), Rc::clone(&new_env));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     let _ = eval(&codeobj.pycode_code(), Rc::clone(&new_env));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     PY_BASEOBJ_TYPE.with(|tp| { pytype_ready(Rc::clone(tp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = PY_BASEOBJ_TYPE.with(|tp| { pytype_ready(Rc::clone(tp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     PY_BOOL_TYPE.with(|booltp| { pytype_ready(Rc::clone(booltp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let _ = PY_BOOL_TYPE.with(|booltp| { pytype_ready(Rc::clone(booltp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     PY_LIST_TYPE.with(|listtp| { pytype_ready(Rc::clone(listtp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let _ = PY_LIST_TYPE.with(|listtp| { pytype_ready(Rc::clone(listtp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     PY_BASEEXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let _ = PY_BASEEXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     PY_EXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let _ = PY_EXC_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/builtinmodule.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     PY_TYPEERROR_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = PY_TYPEERROR_TYPE.with(|exctp| { pytype_ready(Rc::clone(exctp)) });
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/core/utils.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             eval(&code, env);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |             let _ = eval(&code, env);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/utils.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Err(err) => panic!(err.to_string()),
[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] 26 |         Err(err) => panic!("{}", err.to_string()),
[INFO] [stdout]    |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.72s
[INFO] running `Command { std: "docker" "inspect" "ec457654ea1fc4976b99c759fbb71ffa4eb53caca576568d2bbabdb2aaa2de00", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec457654ea1fc4976b99c759fbb71ffa4eb53caca576568d2bbabdb2aaa2de00", kill_on_drop: false }`
[INFO] [stdout] ec457654ea1fc4976b99c759fbb71ffa4eb53caca576568d2bbabdb2aaa2de00
