[INFO] cloning repository https://github.com/kei-s/wacir
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kei-s/wacir" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkei-s%2Fwacir", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkei-s%2Fwacir'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2f11280a87157ce21e9348521e1184d858238154
[INFO] checking kei-s/wacir against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkei-s%2Fwacir" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kei-s/wacir
[INFO] finished tweaking git repo https://github.com/kei-s/wacir
[INFO] tweaked toml for git repo https://github.com/kei-s/wacir written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kei-s/wacir on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kei-s/wacir 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d8ef1fe30416331a4bb069fee31198278ed1241cb62b14dba6ec70e46a9256b9
[INFO] running `Command { std: "docker" "start" "-a" "d8ef1fe30416331a4bb069fee31198278ed1241cb62b14dba6ec70e46a9256b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d8ef1fe30416331a4bb069fee31198278ed1241cb62b14dba6ec70e46a9256b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8ef1fe30416331a4bb069fee31198278ed1241cb62b14dba6ec70e46a9256b9", kill_on_drop: false }`
[INFO] [stdout] d8ef1fe30416331a4bb069fee31198278ed1241cb62b14dba6ec70e46a9256b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dbfee0c16dc429a07f737b05401f73e524f4bcf0b521d41df649af48a7f00e57
[INFO] running `Command { std: "docker" "start" "-a" "dbfee0c16dc429a07f737b05401f73e524f4bcf0b521d41df649af48a7f00e57", kill_on_drop: false }`
[INFO] [stderr]     Checking wacir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `Node` is never used
[INFO] [stdout]    --> src/ast.rs:298:10
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub enum Node {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modify` is never used
[INFO] [stdout]    --> src/ast.rs:305:8
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn modify<P: FnMut(Node) -> Node>(target: Node, modifier: Rc<RefCell<P>>) -> Node {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConcatInstructions` is never used
[INFO] [stdout]  --> src/code.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait ConcatInstructions {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRUE` is never used
[INFO] [stdout]   --> src/evaluator.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TRUE: Object = Object::Boolean(true);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALSE` is never used
[INFO] [stdout]   --> src/evaluator.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const FALSE: Object = Object::Boolean(false);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL` is never used
[INFO] [stdout]   --> src/evaluator.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const NULL: Object = Object::Null;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_enclosed`, `get`, and `set` are never used
[INFO] [stdout]   --> src/evaluator.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Rc<RefCell<Environment>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn new_enclosed(outer: Rc<RefCell<Environment>>) -> Rc<RefCell<Environment>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn get(&self, name: &str) -> Option<Object> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn set(&mut self, name: &str, val: &Object) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eval` is never used
[INFO] [stdout]   --> src/evaluator.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub trait Eval {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `native_bool_to_boolean_object` is never used
[INFO] [stdout]    --> src/evaluator.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn native_bool_to_boolean_object(input: bool) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_prefix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn eval_prefix_expression(operator: &str, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_bang_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn eval_bang_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_minus_prefix_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn eval_minus_prefix_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn eval_infix_expression(operator: &str, left: Object, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_integer_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn eval_integer_infix_expression(operator: &str, left_val: i64, right_val: i64) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_function` is never used
[INFO] [stdout]    --> src/evaluator.rs:312:4
[INFO] [stdout]     |
[INFO] [stdout] 312 | fn apply_function(func: Object, args: Vec<Object>) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrap_return_value` is never used
[INFO] [stdout]    --> src/evaluator.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn unwrap_return_value(obj: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_string_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn eval_string_infix_expression(operator: &str, left: &str, right: &str) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:375:4
[INFO] [stdout]     |
[INFO] [stdout] 375 | fn eval_index_expression(left: Object, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_array_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn eval_array_index_expression(elements: &[Object], idx: i64) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_hash_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:418:4
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn eval_hash_index_expression(hash_object: &Hash, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_truthy` is never used
[INFO] [stdout]    --> src/evaluator.rs:431:4
[INFO] [stdout]     |
[INFO] [stdout] 431 | fn is_truthy(obj: Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_error` is never used
[INFO] [stdout]    --> src/evaluator.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn new_error(message: String) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_error` is never used
[INFO] [stdout]    --> src/evaluator.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn is_error(obj: &Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote` is never used
[INFO] [stdout]    --> src/evaluator.rs:452:4
[INFO] [stdout]     |
[INFO] [stdout] 452 | fn quote(node: &Expression, env: &mut Rc<RefCell<Environment>>) -> Object {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_unquote_calls` is never used
[INFO] [stdout]    --> src/evaluator.rs:457:4
[INFO] [stdout]     |
[INFO] [stdout] 457 | fn eval_unquote_calls(quoted: &Expression, env: &mut Rc<RefCell<Environment>>) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_object_to_ast_node` is never used
[INFO] [stdout]    --> src/evaluator.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn convert_object_to_ast_node(obj: Object) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_unquote_call` is never used
[INFO] [stdout]    --> src/evaluator.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn is_unquote_call(node: &Node) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `define_macros` is never used
[INFO] [stdout]    --> src/evaluator.rs:502:8
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn define_macros(program: &mut Program, env: Rc<RefCell<Environment>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_macro_definition` is never used
[INFO] [stdout]    --> src/evaluator.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn is_macro_definition(node: &Statement) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_macro` is never used
[INFO] [stdout]    --> src/evaluator.rs:529:4
[INFO] [stdout]     |
[INFO] [stdout] 529 | fn add_macro(stmt: &Statement, env: Rc<RefCell<Environment>>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_macros` is never used
[INFO] [stdout]    --> src/evaluator.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub fn expand_macros(program: Program, env: &mut Rc<RefCell<Environment>>) -> Program {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_macro_call` is never used
[INFO] [stdout]    --> src/evaluator.rs:577:4
[INFO] [stdout]     |
[INFO] [stdout] 577 | fn is_macro_call(exp: &CallExpression, env: &Rc<RefCell<Environment>>) -> Option<Macro> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote_args` is never used
[INFO] [stdout]    --> src/evaluator.rs:593:4
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn quote_args(exp: &CallExpression) -> Vec<Object> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `len` is never used
[INFO] [stdout]    --> src/evaluator.rs:606:12
[INFO] [stdout]     |
[INFO] [stdout] 606 |     pub fn len(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first` is never used
[INFO] [stdout]    --> src/evaluator.rs:623:12
[INFO] [stdout]     |
[INFO] [stdout] 623 |     pub fn first(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last` is never used
[INFO] [stdout]    --> src/evaluator.rs:644:12
[INFO] [stdout]     |
[INFO] [stdout] 644 |     pub fn last(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rest` is never used
[INFO] [stdout]    --> src/evaluator.rs:665:12
[INFO] [stdout]     |
[INFO] [stdout] 665 |     pub fn rest(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push` is never used
[INFO] [stdout]    --> src/evaluator.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |     pub fn push(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puts` is never used
[INFO] [stdout]    --> src/evaluator.rs:707:12
[INFO] [stdout]     |
[INFO] [stdout] 707 |     pub fn puts(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ReturnValue`, `Function`, `Builtin`, `Quote`, `Macro`, and `Error` are never constructed
[INFO] [stdout]   --> src/object.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub enum Object {
[INFO] [stdout]    |              ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |         ReturnValue(Box<Object>),
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |         Function(Function),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 18 |         CompiledFunction(CompiledFunction),
[INFO] [stdout] 19 |         Builtin(Builtin),
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |         Quote(Quote),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         Macro(Macro),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |         => // custom format
[INFO] [stdout] 26 |         Error(String) => "Error: {}",
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Object` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `enum_with_fmt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Eof` is never constructed
[INFO] [stdout]  --> src/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TokenType {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 3 |     Illegal,
[INFO] [stdout] 4 |     Eof,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]    --> src/vm/mod.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl<'a> VM<'a> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn stack_top(&self) -> Option<&Object> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] 86 | pub struct Builtin {
[INFO] [stdout] 87 |     pub func: fn(Vec<Object>) -> Object,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Eof` is never constructed
[INFO] [stdout]  --> src/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TokenType {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 3 |     Illegal,
[INFO] [stdout] 4 |     Eof,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]    --> src/vm/mod.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl<'a> VM<'a> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn stack_top(&self) -> Option<&Object> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:165:32
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 assert!(false, format!("name {} not resolvable", sym.name));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 165 -                 assert!(false, format!("name {} not resolvable", sym.name));
[INFO] [stdout] 165 +                 assert!(false, "name {} not resolvable", sym.name);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 210 -                 assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout] 210 +                 assert!(false, "name {} not resulved", sym.name)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout] 261 +                     assert!(false, "name {} not resulved", sym.name)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:295:36
[INFO] [stdout]     |
[INFO] [stdout] 295 |                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 295 -                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout] 295 +                     assert!(false, "name {} not resulved", sym.name)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/evaluator.rs:990:28
[INFO] [stdout]     |
[INFO] [stdout] 990 |             assert!(false, message);
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 990 |             assert!(false, "{}", message);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] 86 | pub struct Builtin {
[INFO] [stdout] 87 |     pub func: fn(Vec<Object>) -> Object,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.32s
[INFO] running `Command { std: "docker" "inspect" "dbfee0c16dc429a07f737b05401f73e524f4bcf0b521d41df649af48a7f00e57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbfee0c16dc429a07f737b05401f73e524f4bcf0b521d41df649af48a7f00e57", kill_on_drop: false }`
[INFO] [stdout] dbfee0c16dc429a07f737b05401f73e524f4bcf0b521d41df649af48a7f00e57
