[INFO] cloning repository https://github.com/sayaks/fraction-interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sayaks/fraction-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsayaks%2Ffraction-interpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsayaks%2Ffraction-interpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9f1ebb1090b73fbcbf5dc30093dc7e91f34a70ea [INFO] checking sayaks/fraction-interpreter against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsayaks%2Ffraction-interpreter" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sayaks/fraction-interpreter on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/sayaks/fraction-interpreter [INFO] finished tweaking git repo https://github.com/sayaks/fraction-interpreter [INFO] tweaked toml for git repo https://github.com/sayaks/fraction-interpreter written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/sayaks/fraction-interpreter 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded syn v0.15.30 [INFO] [stderr] Downloaded pest v2.1.0 [INFO] [stderr] Downloaded rpds v0.6.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 26ab595e897e07c5238553479058d6c2396be877328c06863e1b88ff977e7d0c [INFO] running `Command { std: "docker" "start" "-a" "26ab595e897e07c5238553479058d6c2396be877328c06863e1b88ff977e7d0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "26ab595e897e07c5238553479058d6c2396be877328c06863e1b88ff977e7d0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "26ab595e897e07c5238553479058d6c2396be877328c06863e1b88ff977e7d0c", kill_on_drop: false }` [INFO] [stdout] 26ab595e897e07c5238553479058d6c2396be877328c06863e1b88ff977e7d0c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 595ea982a9b4479eb44696db875e3ff36bb9810b6dde90cd61dbb34e73842337 [INFO] running `Command { std: "docker" "start" "-a" "595ea982a9b4479eb44696db875e3ff36bb9810b6dde90cd61dbb34e73842337", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v0.4.27 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v0.15.30 [INFO] [stderr] Compiling ucd-trie v0.1.1 [INFO] [stderr] Compiling maplit v1.0.1 [INFO] [stderr] Checking rpds v0.6.0 [INFO] [stderr] Checking pest v2.1.0 [INFO] [stderr] Compiling quote v0.6.11 [INFO] [stderr] Compiling pest_meta v2.1.0 [INFO] [stderr] Compiling pest_generator v2.1.0 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Checking fraction-interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/ast.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | pub func: &'a Fn (&List>) -> Result, RuntimeError>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 93 | pub func: &'a dyn Fn (&List>) -> Result, RuntimeError>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/ast.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | pub func: &'a Fn (&List>) -> Result, RuntimeError>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 93 | pub func: &'a dyn Fn (&List>) -> Result, RuntimeError>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/interpreter/parser.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 31 | / match assignment_type.as_rule() { [INFO] [stdout] 32 | | Rule::var_assign => unimplemented!(), [INFO] [stdout] 33 | | Rule::func_assign => unimplemented!(), [INFO] [stdout] 34 | | _ => unreachable!(), [INFO] [stdout] 35 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 36 | [INFO] [stdout] 37 | unimplemented!(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/interpreter/parser.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 31 | / match assignment_type.as_rule() { [INFO] [stdout] 32 | | Rule::var_assign => unimplemented!(), [INFO] [stdout] 33 | | Rule::func_assign => unimplemented!(), [INFO] [stdout] 34 | | _ => unreachable!(), [INFO] [stdout] 35 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 36 | [INFO] [stdout] 37 | unimplemented!(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pair` [INFO] [stdout] --> src/interpreter/parser.rs:40:26 [INFO] [stdout] | [INFO] [stdout] 40 | fn expression_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pair` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pair` [INFO] [stdout] --> src/interpreter/parser.rs:40:26 [INFO] [stdout] | [INFO] [stdout] 40 | fn expression_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pair` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Closure<'a>` is more private than the item `Value::Function::0` [INFO] [stdout] --> src/interpreter/ast.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | Function(Closure<'a>), [INFO] [stdout] | ^^^^^^^^^^^ field `Value::Function::0` is reachable at visibility `pub(interpreter)` [INFO] [stdout] | [INFO] [stdout] note: but type `Closure<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/ast.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | struct Closure<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Closure<'a>` is more private than the item `Value::Function::0` [INFO] [stdout] --> src/interpreter/ast.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | Function(Closure<'a>), [INFO] [stdout] | ^^^^^^^^^^^ field `Value::Function::0` is reachable at visibility `pub(interpreter)` [INFO] [stdout] | [INFO] [stdout] note: but type `Closure<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/ast.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | struct Closure<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UndefinedVariable`, `IncorrectNumberOfArgs`, `CannotCallValue`, `Unimplemented`, and `TypeError` are never constructed [INFO] [stdout] --> src/interpreter/ast.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum RuntimeError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 8 | UndefinedVariable(Name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | // expected, actual [INFO] [stdout] 10 | IncorrectNumberOfArgs(usize, usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | CannotCallValue(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | Unimplemented(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | TypeError(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent` and `mappings` are never read [INFO] [stdout] --> src/interpreter/ast.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Environment<'a> { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 19 | parent: Option>>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | mappings: HashMap>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, and `evaluate` are never used [INFO] [stdout] --> src/interpreter/ast.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> Environment<'a> { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 24 | pub fn new(parent: Option>>, defines: Vec<(&Name, &Value<'a>)>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn get(&self, name: &Name) -> Result, RuntimeError> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn evaluate(&self, expr: &'a Expression<'a>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `env`, `expr`, `argnames`, and `variadic` are never read [INFO] [stdout] --> src/interpreter/ast.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 64 | struct Closure<'a> { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 65 | env: Box<&'a Environment<'a>>, [INFO] [stdout] | ^^^ [INFO] [stdout] 66 | expr: Box<&'a Expression<'a>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 67 | argnames: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 68 | variadic: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Closure` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `call` is never used [INFO] [stdout] --> src/interpreter/ast.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 71 | impl<'a> Closure<'a> { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 72 | fn call(&'a self, args: &'a List>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `func` is never read [INFO] [stdout] --> src/interpreter/ast.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Builtin<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 92 | // TODO: make a constructor [INFO] [stdout] 93 | pub func: &'a Fn (&List>) -> Result, RuntimeError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Builtin` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Number`, `Glyph`, `List`, `Function`, and `Builtin` are never constructed [INFO] [stdout] --> src/interpreter/ast.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub enum Value<'a> { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 100 | Number(Number), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | Glyph(char), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 104 | List(List>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 105 | Function(Closure<'a>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 106 | Builtin(Builtin<'a>), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UndefinedVariable`, `IncorrectNumberOfArgs`, `CannotCallValue`, `Unimplemented`, and `TypeError` are never constructed [INFO] [stdout] --> src/interpreter/ast.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum RuntimeError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 8 | UndefinedVariable(Name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | // expected, actual [INFO] [stdout] 10 | IncorrectNumberOfArgs(usize, usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | CannotCallValue(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | Unimplemented(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | TypeError(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `try_call` is never used [INFO] [stdout] --> src/interpreter/ast.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 109 | impl<'a> Value<'a> { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 110 | fn try_call(&'a self, args: &'a List>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Atomic`, `Variable`, and `Application` are never constructed [INFO] [stdout] --> src/interpreter/ast.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub enum Expression<'a> { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 133 | Atomic(Value<'a>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 134 | Variable(Name), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | Application(Value<'a>, List>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Statement` is never used [INFO] [stdout] --> src/interpreter/ast.rs:140:10 [INFO] [stdout] | [INFO] [stdout] 140 | pub enum Statement<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Program` is never used [INFO] [stdout] --> src/interpreter/ast.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub type Program<'a> = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Integer` are never constructed [INFO] [stdout] --> src/interpreter/data_structures.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Number { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 5 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | Integer(i128), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Number` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_fraction_string` is never used [INFO] [stdout] --> src/interpreter/parser.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn parse_fraction_string<'a>(file: &str) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `statement_parser` is never used [INFO] [stdout] --> src/interpreter/parser.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn statement_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `parent` and `mappings` are never read [INFO] [stdout] --> src/interpreter/ast.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Environment<'a> { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 19 | parent: Option>>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | mappings: HashMap>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assignment_parser` is never used [INFO] [stdout] --> src/interpreter/parser.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn assignment_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expression_parser` is never used [INFO] [stdout] --> src/interpreter/parser.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn expression_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, and `evaluate` are never used [INFO] [stdout] --> src/interpreter/ast.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl<'a> Environment<'a> { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 24 | pub fn new(parent: Option>>, defines: Vec<(&Name, &Value<'a>)>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn get(&self, name: &Name) -> Result, RuntimeError> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn evaluate(&self, expr: &'a Expression<'a>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add2` is never used [INFO] [stdout] --> src/interpreter/builtins.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn add2<'a>(arg1: Value<'a>, arg2: &Value<'a>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/interpreter/builtins.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn add<'a>(args: &List>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ADD` is never used [INFO] [stdout] --> src/interpreter/builtins.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const ADD: Builtin<'static> = Builtin { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `env`, `expr`, `argnames`, and `variadic` are never read [INFO] [stdout] --> src/interpreter/ast.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 64 | struct Closure<'a> { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 65 | env: Box<&'a Environment<'a>>, [INFO] [stdout] | ^^^ [INFO] [stdout] 66 | expr: Box<&'a Expression<'a>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 67 | argnames: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 68 | variadic: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Closure` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `call` is never used [INFO] [stdout] --> src/interpreter/ast.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 71 | impl<'a> Closure<'a> { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 72 | fn call(&'a self, args: &'a List>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `func` is never read [INFO] [stdout] --> src/interpreter/ast.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Builtin<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 92 | // TODO: make a constructor [INFO] [stdout] 93 | pub func: &'a Fn (&List>) -> Result, RuntimeError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Builtin` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Number`, `Glyph`, `List`, `Function`, and `Builtin` are never constructed [INFO] [stdout] --> src/interpreter/ast.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub enum Value<'a> { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 100 | Number(Number), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | Glyph(char), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 104 | List(List>), [INFO] [stdout] | ^^^^ [INFO] [stdout] 105 | Function(Closure<'a>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 106 | Builtin(Builtin<'a>), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `try_call` is never used [INFO] [stdout] --> src/interpreter/ast.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 109 | impl<'a> Value<'a> { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 110 | fn try_call(&'a self, args: &'a List>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Atomic`, `Variable`, and `Application` are never constructed [INFO] [stdout] --> src/interpreter/ast.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub enum Expression<'a> { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 133 | Atomic(Value<'a>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 134 | Variable(Name), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | Application(Value<'a>, List>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Statement` is never used [INFO] [stdout] --> src/interpreter/ast.rs:140:10 [INFO] [stdout] | [INFO] [stdout] 140 | pub enum Statement<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Program` is never used [INFO] [stdout] --> src/interpreter/ast.rs:145:10 [INFO] [stdout] | [INFO] [stdout] 145 | pub type Program<'a> = List>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float` and `Integer` are never constructed [INFO] [stdout] --> src/interpreter/data_structures.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Number { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 5 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | Integer(i128), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Number` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_fraction_string` is never used [INFO] [stdout] --> src/interpreter/parser.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn parse_fraction_string<'a>(file: &str) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `statement_parser` is never used [INFO] [stdout] --> src/interpreter/parser.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn statement_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assignment_parser` is never used [INFO] [stdout] --> src/interpreter/parser.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn assignment_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expression_parser` is never used [INFO] [stdout] --> src/interpreter/parser.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn expression_parser<'a>(pair: Pair) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add2` is never used [INFO] [stdout] --> src/interpreter/builtins.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn add2<'a>(arg1: Value<'a>, arg2: &Value<'a>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/interpreter/builtins.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn add<'a>(args: &List>) -> Result, RuntimeError> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ADD` is never used [INFO] [stdout] --> src/interpreter/builtins.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const ADD: Builtin<'static> = Builtin { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.37s [INFO] running `Command { std: "docker" "inspect" "595ea982a9b4479eb44696db875e3ff36bb9810b6dde90cd61dbb34e73842337", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "595ea982a9b4479eb44696db875e3ff36bb9810b6dde90cd61dbb34e73842337", kill_on_drop: false }` [INFO] [stdout] 595ea982a9b4479eb44696db875e3ff36bb9810b6dde90cd61dbb34e73842337