[INFO] cloning repository https://github.com/chenx6/make-a-lisp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chenx6/make-a-lisp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchenx6%2Fmake-a-lisp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchenx6%2Fmake-a-lisp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d6f92bff29bdaf1a4536811c5779d9ee625d020e [INFO] checking chenx6/make-a-lisp/d6f92bff29bdaf1a4536811c5779d9ee625d020e against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchenx6%2Fmake-a-lisp" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/chenx6/make-a-lisp on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/chenx6/make-a-lisp [INFO] finished tweaking git repo https://github.com/chenx6/make-a-lisp [INFO] tweaked toml for git repo https://github.com/chenx6/make-a-lisp written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/chenx6/make-a-lisp 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2cba988e2467076c84ce3b9f6cb26eadb46af3d4c9813a2927dabeaf903c9294 [INFO] running `Command { std: "docker" "start" "-a" "2cba988e2467076c84ce3b9f6cb26eadb46af3d4c9813a2927dabeaf903c9294", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2cba988e2467076c84ce3b9f6cb26eadb46af3d4c9813a2927dabeaf903c9294", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2cba988e2467076c84ce3b9f6cb26eadb46af3d4c9813a2927dabeaf903c9294", kill_on_drop: false }` [INFO] [stdout] 2cba988e2467076c84ce3b9f6cb26eadb46af3d4c9813a2927dabeaf903c9294 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0842e557a8513fbea0d7cd7ecbd5e0cdadc765cb1a1d862204389ed1cbf53b65 [INFO] running `Command { std: "docker" "start" "-a" "0842e557a8513fbea0d7cd7ecbd5e0cdadc765cb1a1d862204389ed1cbf53b65", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking mal v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `READ` is never used [INFO] [stdout] --> src/step0_repl.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn READ() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` is never used [INFO] [stdout] --> src/step0_repl.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn EVAL() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` is never used [INFO] [stdout] --> src/step0_repl.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn PRINT() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rep` is never used [INFO] [stdout] --> src/step0_repl.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn rep() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step0_repl.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn READ() {} [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step0_repl.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn EVAL() {} [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step0_repl.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn PRINT() {} [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` is never used [INFO] [stdout] --> src/step0_repl.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn READ() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` is never used [INFO] [stdout] --> src/step0_repl.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn EVAL() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` is never used [INFO] [stdout] --> src/step0_repl.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn PRINT() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rep` is never used [INFO] [stdout] --> src/step0_repl.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn rep() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step0_repl.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn READ() {} [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step0_repl.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn EVAL() {} [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step0_repl.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn PRINT() {} [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::env` [INFO] [stdout] --> src/types.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::env::Env; [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | unresolved import [INFO] [stdout] | help: a similar path exists: `std::env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::env` [INFO] [stdout] --> src/types.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::env::Env; [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | unresolved import [INFO] [stdout] | help: a similar path exists: `std::env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/printer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub` is never used [INFO] [stdout] --> src/core.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sub(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mul` is never used [INFO] [stdout] --> src/core.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn mul(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `int_operation` is never used [INFO] [stdout] --> src/core.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn int_operation(args: MalArgs, op: fn(&i32, &i32) -> MalType) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/core.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn add(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub` is never used [INFO] [stdout] --> src/core.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sub(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mul` is never used [INFO] [stdout] --> src/core.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn mul(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/core.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn div(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `equal` is never used [INFO] [stdout] --> src/core.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn equal(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `less` is never used [INFO] [stdout] --> src/core.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn less(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/core.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn div(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `le` is never used [INFO] [stdout] --> src/core.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn le(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `equal` is never used [INFO] [stdout] --> src/core.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn equal(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `less` is never used [INFO] [stdout] --> src/core.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn less(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `great` is never used [INFO] [stdout] --> src/core.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn great(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ge` is never used [INFO] [stdout] --> src/core.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ge(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `le` is never used [INFO] [stdout] --> src/core.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn le(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `great` is never used [INFO] [stdout] --> src/core.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn great(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prn` is never used [INFO] [stdout] --> src/core.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn prn(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ge` is never used [INFO] [stdout] --> src/core.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ge(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/core.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn list(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prn` is never used [INFO] [stdout] --> src/core.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn prn(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/core.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn list(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_q` is never used [INFO] [stdout] --> src/core.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn list_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_q` is never used [INFO] [stdout] --> src/core.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn list_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_q` is never used [INFO] [stdout] --> src/core.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn empty_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_q` is never used [INFO] [stdout] --> src/core.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn empty_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_q` is never used [INFO] [stdout] --> src/core.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn count_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_q` is never used [INFO] [stdout] --> src/core.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn count_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/core.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn read_string(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/core.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn read_string(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slurp` is never used [INFO] [stdout] --> src/core.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn slurp(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom` is never used [INFO] [stdout] --> src/core.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn atom(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slurp` is never used [INFO] [stdout] --> src/core.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn slurp(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom_q` is never used [INFO] [stdout] --> src/core.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn atom_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom` is never used [INFO] [stdout] --> src/core.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn atom(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deref` is never used [INFO] [stdout] --> src/core.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn deref(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_b` is never used [INFO] [stdout] --> src/core.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn reset_b(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom_q` is never used [INFO] [stdout] --> src/core.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn atom_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cons` is never used [INFO] [stdout] --> src/core.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn cons(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deref` is never used [INFO] [stdout] --> src/core.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn deref(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat` is never used [INFO] [stdout] --> src/core.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn concat(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_b` is never used [INFO] [stdout] --> src/core.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn reset_b(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stdout] warning: function `cons` is never used [INFO] [stdout] --> src/core.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn cons(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `init`, `bind`, and `outer` are never used [INFO] [stdout] --> src/env.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 18 | pub fn init() -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn bind(outer: Option, binds: MalType, exprs: MalType) -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat` is never used [INFO] [stdout] --> src/core.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn concat(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `int_operation` is never used [INFO] [stdout] --> src/core.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn int_operation(args: MalArgs, op: fn(&i32, &i32) -> MalType) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/core.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn add(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub` is never used [INFO] [stdout] --> src/core.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sub(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data` and `outer` are never read [INFO] [stdout] --> src/env.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EnvStruct { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 10 | data: RefCell>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub outer: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnvStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:18:33 [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ---- field in this variant ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/env.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Env(Rc); [INFO] [stdout] | --- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Env` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mul` is never used [INFO] [stdout] --> src/core.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn mul(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Vector`, `Hash`, `MalFunc`, and `Atom` are never constructed [INFO] [stdout] --> src/types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Atom(Rc>), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/env.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 18 | pub fn init() -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn new(outer: Option) -> Env { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn bind(outer: Option, binds: MalType, exprs: MalType) -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn find(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn get(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn set(&mut self, key: MalType, value: MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/core.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn div(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ErrValue` and `OsErr` are never constructed [INFO] [stdout] --> src/types.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_string` is never used [INFO] [stdout] --> src/types.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error_string(s: String) -> MalErr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `equal` is never used [INFO] [stdout] --> src/core.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn equal(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `atom` and `func` are never used [INFO] [stdout] --> src/types.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl MalType { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn atom(v: MalType) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn func(f: fn(args: MalArgs) -> MalRet) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Vector`, `Hash`, `Func`, `MalFunc`, and `Atom` are never constructed [INFO] [stdout] --> src/types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Atom(Rc>), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step3_env.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step3_env.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn EVAL(val: &MalType, env: &mut env::Env) -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `less` is never used [INFO] [stdout] --> src/core.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn less(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step3_env.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ErrValue`, `ErrorMsg`, and `OsErr` are never constructed [INFO] [stdout] --> src/types.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `le` is never used [INFO] [stdout] --> src/core.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn le(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_msg` is never used [INFO] [stdout] --> src/types.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn error_msg(s: &str) -> MalErr { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `great` is never used [INFO] [stdout] --> src/core.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn great(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_string` is never used [INFO] [stdout] --> src/types.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error_string(s: String) -> MalErr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `atom` and `func` are never used [INFO] [stdout] --> src/types.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl MalType { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn atom(v: MalType) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn func(f: fn(args: MalArgs) -> MalRet) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ge` is never used [INFO] [stdout] --> src/core.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ge(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step1_read_print.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn READ() -> String { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prn` is never used [INFO] [stdout] --> src/core.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn prn(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/core.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn list(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step1_read_print.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn EVAL(input: String) -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_q` is never used [INFO] [stdout] --> src/core.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn list_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step1_read_print.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn PRINT(val: &types::MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mal` (bin "step2_eval") due to 2 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: function `empty_q` is never used [INFO] [stdout] --> src/core.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn empty_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_q` is never used [INFO] [stdout] --> src/core.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn count_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/core.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn read_string(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slurp` is never used [INFO] [stdout] --> src/core.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn slurp(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom` is never used [INFO] [stdout] --> src/core.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn atom(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom_q` is never used [INFO] [stdout] --> src/core.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn atom_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deref` is never used [INFO] [stdout] --> src/core.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn deref(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_b` is never used [INFO] [stdout] --> src/core.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn reset_b(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cons` is never used [INFO] [stdout] --> src/core.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn cons(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat` is never used [INFO] [stdout] --> src/core.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn concat(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data` and `outer` are never read [INFO] [stdout] --> src/env.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EnvStruct { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 10 | data: RefCell>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub outer: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnvStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/env.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Env(Rc); [INFO] [stdout] | --- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Env` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/env.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 18 | pub fn init() -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn new(outer: Option) -> Env { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn bind(outer: Option, binds: MalType, exprs: MalType) -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn find(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn get(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn set(&mut self, key: MalType, value: MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pr_str` is never used [INFO] [stdout] --> src/printer.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn pr_str(val: &MalType) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fmt_str` is never used [INFO] [stdout] --> src/printer.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn fmt_str(val: &MalType) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fmt_seq` is never used [INFO] [stdout] --> src/printer.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn fmt_seq(seq: &Vec) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Reader` is never constructed [INFO] [stdout] --> src/reader.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Reader { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `next`, and `peek` are never used [INFO] [stdout] --> src/reader.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl Reader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 21 | fn new(tokens: Vec) -> Reader { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn peek(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_str` is never used [INFO] [stdout] --> src/reader.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn read_str(input: &String) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize` is never used [INFO] [stdout] --> src/reader.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn tokenize(input: &String) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_shorthand` is never used [INFO] [stdout] --> src/reader.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn read_shorthand(reader: &mut Reader, sym_name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_form` is never used [INFO] [stdout] --> src/reader.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn read_form(reader: &mut Reader) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/step1_read_print.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | std::io::stdout().flush(); [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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_list` is never used [INFO] [stdout] --> src/reader.rs:90:4 [INFO] [stdout] | [INFO] [stdout] 90 | fn read_list(reader: &mut Reader, end: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_atom` is never used [INFO] [stdout] --> src/reader.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn read_atom(reader: &mut Reader) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/reader.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn read_string(reader: &mut Reader) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 9 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | Int(i32), [INFO] [stdout] | ^^^ [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | Sym(String), [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Atom(Rc>), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ErrValue`, `ErrorMsg`, and `OsErr` are never constructed [INFO] [stdout] --> src/types.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_msg` is never used [INFO] [stdout] --> src/types.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn error_msg(s: &str) -> MalErr { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `outer` is never used [INFO] [stdout] --> src/env.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_string` is never used [INFO] [stdout] --> src/types.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error_string(s: String) -> MalErr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:18:33 [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ---- field in this variant ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_macro` and `meta` are never read [INFO] [stdout] --> src/types.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ------- fields in this variant [INFO] [stdout] ... [INFO] [stdout] 23 | is_macro: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 24 | meta: Rc, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `list`, `atom`, and `func` are never used [INFO] [stdout] --> src/types.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl MalType { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 69 | pub fn list(v: Vec) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn atom(v: MalType) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn func(f: fn(args: MalArgs) -> MalRet) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `int_operation` is never used [INFO] [stdout] --> src/core.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn int_operation(args: MalArgs, op: fn(&i32, &i32) -> MalType) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/core.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn add(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Vector`, and `Hash` are never constructed [INFO] [stdout] --> src/types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub` is never used [INFO] [stdout] --> src/core.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sub(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mul` is never used [INFO] [stdout] --> src/core.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn mul(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/core.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn div(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `equal` is never used [INFO] [stdout] --> src/core.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn equal(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | -------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | ErrValue(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `less` is never used [INFO] [stdout] --> src/core.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn less(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `le` is never used [INFO] [stdout] --> src/core.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn le(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `great` is never used [INFO] [stdout] --> src/core.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn great(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ge` is never used [INFO] [stdout] --> src/core.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ge(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prn` is never used [INFO] [stdout] --> src/core.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn prn(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/core.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn list(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OsErr` is never constructed [INFO] [stdout] --> src/types.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_q` is never used [INFO] [stdout] --> src/core.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn list_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_q` is never used [INFO] [stdout] --> src/core.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn empty_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step5_tco.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_q` is never used [INFO] [stdout] --> src/core.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn count_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step7_quote.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step5_tco.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn EVAL(val: &MalType, env: &mut env::Env) -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/core.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn read_string(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slurp` is never used [INFO] [stdout] --> src/core.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn slurp(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step5_tco.rs:177:4 [INFO] [stdout] | [INFO] [stdout] 177 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom` is never used [INFO] [stdout] --> src/core.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn atom(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom_q` is never used [INFO] [stdout] --> src/core.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn atom_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step7_quote.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deref` is never used [INFO] [stdout] --> src/core.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn deref(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_b` is never used [INFO] [stdout] --> src/core.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn reset_b(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cons` is never used [INFO] [stdout] --> src/core.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn cons(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step7_quote.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn EVAL(val: &MalType, env: &mut env::Env) -> Result { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat` is never used [INFO] [stdout] --> src/core.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn concat(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step7_quote.rs:255:4 [INFO] [stdout] | [INFO] [stdout] 255 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step7_quote.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn EVAL(val: &MalType, env: &mut env::Env) -> Result { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step7_quote.rs:255:4 [INFO] [stdout] | [INFO] [stdout] 255 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data` and `outer` are never read [INFO] [stdout] --> src/env.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EnvStruct { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 10 | data: RefCell>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub outer: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnvStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub` is never used [INFO] [stdout] --> src/core.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sub(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mul` is never used [INFO] [stdout] --> src/core.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn mul(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/env.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Env(Rc); [INFO] [stdout] | --- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Env` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/core.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn div(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `equal` is never used [INFO] [stdout] --> src/core.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn equal(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `less` is never used [INFO] [stdout] --> src/core.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn less(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `le` is never used [INFO] [stdout] --> src/core.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn le(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `great` is never used [INFO] [stdout] --> src/core.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn great(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ge` is never used [INFO] [stdout] --> src/core.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ge(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prn` is never used [INFO] [stdout] --> src/core.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn prn(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/core.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn list(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_q` is never used [INFO] [stdout] --> src/core.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn list_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_q` is never used [INFO] [stdout] --> src/core.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn empty_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_q` is never used [INFO] [stdout] --> src/core.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn count_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/core.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn read_string(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step8_macros.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/env.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 18 | pub fn init() -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn new(outer: Option) -> Env { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn bind(outer: Option, binds: MalType, exprs: MalType) -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn find(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn get(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn set(&mut self, key: MalType, value: MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slurp` is never used [INFO] [stdout] --> src/core.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn slurp(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom` is never used [INFO] [stdout] --> src/core.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn atom(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pr_str` is never used [INFO] [stdout] --> src/printer.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn pr_str(val: &MalType) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fmt_str` is never used [INFO] [stdout] --> src/printer.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn fmt_str(val: &MalType) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fmt_seq` is never used [INFO] [stdout] --> src/printer.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn fmt_seq(seq: &Vec) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom_q` is never used [INFO] [stdout] --> src/core.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn atom_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deref` is never used [INFO] [stdout] --> src/core.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn deref(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Reader` is never constructed [INFO] [stdout] --> src/reader.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Reader { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_b` is never used [INFO] [stdout] --> src/core.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn reset_b(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step8_macros.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn EVAL(val: &MalType, env: &mut env::Env) -> Result { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cons` is never used [INFO] [stdout] --> src/core.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn cons(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `next`, and `peek` are never used [INFO] [stdout] --> src/reader.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl Reader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 21 | fn new(tokens: Vec) -> Reader { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn peek(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat` is never used [INFO] [stdout] --> src/core.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn concat(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_str` is never used [INFO] [stdout] --> src/reader.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn read_str(input: &String) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize` is never used [INFO] [stdout] --> src/reader.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn tokenize(input: &String) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_shorthand` is never used [INFO] [stdout] --> src/reader.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn read_shorthand(reader: &mut Reader, sym_name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `init`, `bind`, and `outer` are never used [INFO] [stdout] --> src/env.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 18 | pub fn init() -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn bind(outer: Option, binds: MalType, exprs: MalType) -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_form` is never used [INFO] [stdout] --> src/reader.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn read_form(reader: &mut Reader) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_list` is never used [INFO] [stdout] --> src/reader.rs:90:4 [INFO] [stdout] | [INFO] [stdout] 90 | fn read_list(reader: &mut Reader, end: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_atom` is never used [INFO] [stdout] --> src/reader.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn read_atom(reader: &mut Reader) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step8_macros.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/reader.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn read_string(reader: &mut Reader) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:18:33 [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ---- field in this variant ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Vector`, `Hash`, `MalFunc`, and `Atom` are never constructed [INFO] [stdout] --> src/types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Atom(Rc>), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/types.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 9 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | Int(i32), [INFO] [stdout] | ^^^ [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | Sym(String), [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Atom(Rc>), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ErrValue` and `OsErr` are never constructed [INFO] [stdout] --> src/types.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_string` is never used [INFO] [stdout] --> src/types.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error_string(s: String) -> MalErr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `atom` and `func` are never used [INFO] [stdout] --> src/types.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl MalType { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn atom(v: MalType) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn func(f: fn(args: MalArgs) -> MalRet) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ErrValue`, `ErrorMsg`, and `OsErr` are never constructed [INFO] [stdout] --> src/types.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step3_env.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step3_env.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn EVAL(val: &MalType, env: &mut env::Env) -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_msg` is never used [INFO] [stdout] --> src/types.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn error_msg(s: &str) -> MalErr { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step3_env.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_string` is never used [INFO] [stdout] --> src/types.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error_string(s: String) -> MalErr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `list`, `atom`, and `func` are never used [INFO] [stdout] --> src/types.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl MalType { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 69 | pub fn list(v: Vec) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn atom(v: MalType) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn func(f: fn(args: MalArgs) -> MalRet) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `outer` is never used [INFO] [stdout] --> src/env.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:18:33 [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ---- field in this variant ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_macro` and `meta` are never read [INFO] [stdout] --> src/types.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ------- fields in this variant [INFO] [stdout] ... [INFO] [stdout] 23 | is_macro: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 24 | meta: Rc, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Vector`, and `Hash` are never constructed [INFO] [stdout] --> src/types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step8_macros.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | -------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | ErrValue(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step8_macros.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn EVAL(val: &MalType, env: &mut env::Env) -> Result { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step8_macros.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OsErr` is never constructed [INFO] [stdout] --> src/types.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` 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 `outer` is never used [INFO] [stdout] --> src/env.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step4_if_fn_do.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step4_if_fn_do.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn EVAL(val: &MalType, env: &mut env::Env) -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:18:33 [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ---- field in this variant ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step4_if_fn_do.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_macro` and `meta` are never read [INFO] [stdout] --> src/types.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ------- fields in this variant [INFO] [stdout] ... [INFO] [stdout] 23 | is_macro: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 24 | meta: Rc, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Vector`, and `Hash` are never constructed [INFO] [stdout] --> src/types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | -------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | ErrValue(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/types.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 32 | ErrorMsg(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OsErr` is never constructed [INFO] [stdout] --> src/types.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step5_tco.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step5_tco.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn EVAL(val: &MalType, env: &mut env::Env) -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step5_tco.rs:177:4 [INFO] [stdout] | [INFO] [stdout] 177 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step6_file.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn READ() -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step6_file.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn EVAL(val: &MalType, env: &mut env::Env) -> Result { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step6_file.rs:215:4 [INFO] [stdout] | [INFO] [stdout] 215 | fn PRINT(val: &MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mal` (bin "step2_eval" test) due to 2 previous errors; 1 warning emitted [INFO] [stdout] warning: function `int_operation` is never used [INFO] [stdout] --> src/core.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn int_operation(args: MalArgs, op: fn(&i32, &i32) -> MalType) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/core.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn add(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub` is never used [INFO] [stdout] --> src/core.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sub(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mul` is never used [INFO] [stdout] --> src/core.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn mul(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `div` is never used [INFO] [stdout] --> src/core.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn div(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `equal` is never used [INFO] [stdout] --> src/core.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn equal(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `less` is never used [INFO] [stdout] --> src/core.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn less(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `le` is never used [INFO] [stdout] --> src/core.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn le(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `great` is never used [INFO] [stdout] --> src/core.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn great(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ge` is never used [INFO] [stdout] --> src/core.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ge(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prn` is never used [INFO] [stdout] --> src/core.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn prn(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list` is never used [INFO] [stdout] --> src/core.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn list(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_q` is never used [INFO] [stdout] --> src/core.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn list_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_q` is never used [INFO] [stdout] --> src/core.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn empty_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_q` is never used [INFO] [stdout] --> src/core.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn count_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_string` is never used [INFO] [stdout] --> src/core.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn read_string(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slurp` is never used [INFO] [stdout] --> src/core.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn slurp(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom` is never used [INFO] [stdout] --> src/core.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn atom(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atom_q` is never used [INFO] [stdout] --> src/core.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn atom_q(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deref` is never used [INFO] [stdout] --> src/core.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn deref(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reset_b` is never used [INFO] [stdout] --> src/core.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn reset_b(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cons` is never used [INFO] [stdout] --> src/core.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn cons(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat` is never used [INFO] [stdout] --> src/core.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn concat(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nth` is never used [INFO] [stdout] --> src/core.rs:201:8 [INFO] [stdout] | [INFO] [stdout] 201 | pub fn nth(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first` is never used [INFO] [stdout] --> src/core.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn first(args: MalArgs) -> MalRet { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data` and `outer` are never read [INFO] [stdout] --> src/env.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EnvStruct { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 10 | data: RefCell>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub outer: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnvStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/env.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Env(Rc); [INFO] [stdout] | --- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Env` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/env.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Env { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 18 | pub fn init() -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn new(outer: Option) -> Env { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn bind(outer: Option, binds: MalType, exprs: MalType) -> Env { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn find(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn get(&self, key: &MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn set(&mut self, key: MalType, value: MalType) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn outer(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/types.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, Rc), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | List(Rc>, ()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Vector`, `Hash`, `Func`, `MalFunc`, and `Atom` are never constructed [INFO] [stdout] --> src/types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum MalType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Vector(Rc>, Rc), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Hash(Rc>, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 18 | Func(fn(MalArgs) -> MalRet, Rc), [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | MalFunc { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Atom(Rc>), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ErrValue`, `ErrorMsg`, and `OsErr` are never constructed [INFO] [stdout] --> src/types.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum MalErr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 31 | ErrValue(MalType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | ErrorMsg(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 33 | OsErr(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MalErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_msg` is never used [INFO] [stdout] --> src/types.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn error_msg(s: &str) -> MalErr { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `error_string` is never used [INFO] [stdout] --> src/types.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn error_string(s: String) -> MalErr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `atom` and `func` are never used [INFO] [stdout] --> src/types.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl MalType { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn atom(v: MalType) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn func(f: fn(args: MalArgs) -> MalRet) -> MalType { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `READ` should have a snake case name [INFO] [stdout] --> src/step1_read_print.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn READ() -> String { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `read` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `EVAL` should have a snake case name [INFO] [stdout] --> src/step1_read_print.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn EVAL(input: String) -> Option { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `eval` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PRINT` should have a snake case name [INFO] [stdout] --> src/step1_read_print.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn PRINT(val: &types::MalType) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/step1_read_print.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | std::io::stdout().flush(); [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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 35 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0842e557a8513fbea0d7cd7ecbd5e0cdadc765cb1a1d862204389ed1cbf53b65", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0842e557a8513fbea0d7cd7ecbd5e0cdadc765cb1a1d862204389ed1cbf53b65", kill_on_drop: false }` [INFO] [stdout] 0842e557a8513fbea0d7cd7ecbd5e0cdadc765cb1a1d862204389ed1cbf53b65