[INFO] cloning repository https://github.com/todaymare/ballslang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/todaymare/ballslang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftodaymare%2Fballslang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftodaymare%2Fballslang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3745853026be8272839258d6bdff21f1c3e309db [INFO] checking todaymare/ballslang against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftodaymare%2Fballslang" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/todaymare/ballslang [INFO] finished tweaking git repo https://github.com/todaymare/ballslang [INFO] tweaked toml for git repo https://github.com/todaymare/ballslang written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/todaymare/ballslang on toolchain 54cf65b8d066c082e536455049b95943cf30378f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/todaymare/ballslang 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" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3880143cd3d1dd249dda6cdeff571c8dbabe0cd5a4314e7a723c6605875dd4bc [INFO] running `Command { std: "docker" "start" "-a" "3880143cd3d1dd249dda6cdeff571c8dbabe0cd5a4314e7a723c6605875dd4bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3880143cd3d1dd249dda6cdeff571c8dbabe0cd5a4314e7a723c6605875dd4bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3880143cd3d1dd249dda6cdeff571c8dbabe0cd5a4314e7a723c6605875dd4bc", kill_on_drop: false }` [INFO] [stdout] 3880143cd3d1dd249dda6cdeff571c8dbabe0cd5a4314e7a723c6605875dd4bc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0d2bb5312ddc5e979d73d058617ed0228073d9d32d6bfa4dede737bc79a70187 [INFO] running `Command { std: "docker" "start" "-a" "0d2bb5312ddc5e979d73d058617ed0228073d9d32d6bfa4dede737bc79a70187", kill_on_drop: false }` [INFO] [stderr] Checking ballslang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Force` and `Block` are never constructed [INFO] [stdout] --> src/ast.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | Force(Box, Span), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | Block(Vec, Span), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:170:11 [INFO] [stdout] | [INFO] [stdout] 170 | Named(String, Span), [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, 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] 170 - Named(String, Span), [INFO] [stdout] 170 + Named((), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | Generic(String, Vec, Span), [INFO] [stdout] | ------- ^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 171 - Generic(String, Vec, Span), [INFO] [stdout] 171 + Generic((), (), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | Function(Box, Box, Span), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 172 - Function(Box, Box, Span), [INFO] [stdout] 172 + Function((), (), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:173:11 [INFO] [stdout] | [INFO] [stdout] 173 | Tuple(Vec, Span), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, 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] 173 - Tuple(Vec, Span), [INFO] [stdout] 173 + Tuple((), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:174:10 [INFO] [stdout] | [INFO] [stdout] 174 | List(Box, Span), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, 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] 174 - List(Box, Span), [INFO] [stdout] 174 + List((), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `3` is never read [INFO] [stdout] --> src/ast.rs:180:48 [INFO] [stdout] | [INFO] [stdout] 180 | Let(Pattern, Option, Expr, Span), [INFO] [stdout] | --- field in this variant ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Decl` has derived impls for the traits `Clone` and `Debug`, 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] 180 - Let(Pattern, Option, Expr, Span), [INFO] [stdout] 180 + Let(Pattern, Option, Expr, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read [INFO] [stdout] --> src/ast.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | TypeDef(String, Vec, Vec, Span), [INFO] [stdout] | ------- ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 181 - TypeDef(String, Vec, Vec, Span), [INFO] [stdout] 181 + TypeDef((), (), (), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `fields`, and `span` are never read [INFO] [stdout] --> src/ast.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct Variant { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 188 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 189 | pub fields: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 190 | pub span: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Variant` 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: struct `TypeEnv` is never constructed [INFO] [stdout] --> src/env.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TypeEnv { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_parent`, `insert`, `get`, and `all_bindings` are never used [INFO] [stdout] --> src/env.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TypeEnv { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn with_parent(parent: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn insert(&mut self, name: String, scheme: Scheme) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, name: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn all_bindings(&self) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set` is never used [INFO] [stdout] --> src/env.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Env { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn set(&self, name: &str, value: Value) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BallsError` is never used [INFO] [stdout] --> src/error.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum BallsError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Infer` is never constructed [INFO] [stdout] --> src/infer.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Infer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/infer.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Infer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | fn fresh(&mut self) -> Type { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn instantiate(&mut self, scheme: &Scheme) -> Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn substitute_vars(&self, ty: &Type, vars: &HashMap) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn generalize(&self, env: &TypeEnv, ty: &Type) -> Scheme { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn unify(&mut self, t1: &Type, t2: &Type) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn occurs_check(&self, var: usize, ty: &Type) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn infer_expr(&mut self, env: &TypeEnv, expr: &Expr) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | fn infer_pattern(&mut self, env: &mut TypeEnv, pattern: &Pattern) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | fn bind_pattern(&mut self, env: &mut TypeEnv, pattern: &Pattern, ty: &Type) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 477 | pub fn finalize(&self, ty: &Type) -> Type { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/lexer.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct Lexer<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 96 | input: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> src/types.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scheme` is never constructed [INFO] [stdout] --> src/types.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct Scheme { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `mono` and `poly` are never used [INFO] [stdout] --> src/types.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 95 | impl Scheme { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 96 | pub fn mono(ty: Type) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn poly(vars: Vec, ty: Type) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Substitution` is never constructed [INFO] [stdout] --> src/types.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct Substitution { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `apply`, `apply_scheme`, and `compose` are never used [INFO] [stdout] --> src/types.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl Substitution { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 112 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn insert(&mut self, var: usize, ty: Type) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn apply(&self, ty: &Type) -> Type { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn apply_scheme(&self, scheme: &Scheme) -> Scheme { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn compose(&self, other: &Substitution) -> Substitution { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `free_vars` is never used [INFO] [stdout] --> src/types.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn free_vars(ty: &Type) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `free_vars_scheme` is never used [INFO] [stdout] --> src/types.rs:225:8 [INFO] [stdout] | [INFO] [stdout] 225 | pub fn free_vars_scheme(scheme: &Scheme) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Constructor` is never constructed [INFO] [stdout] --> src/value.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Value { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | Constructor(String, Vec), [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 `Force` and `Block` are never constructed [INFO] [stdout] --> src/ast.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | Force(Box, Span), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | Block(Vec, Span), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:170:11 [INFO] [stdout] | [INFO] [stdout] 170 | Named(String, Span), [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, 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] 170 - Named(String, Span), [INFO] [stdout] 170 + Named((), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | Generic(String, Vec, Span), [INFO] [stdout] | ------- ^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 171 - Generic(String, Vec, Span), [INFO] [stdout] 171 + Generic((), (), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | Function(Box, Box, Span), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 172 - Function(Box, Box, Span), [INFO] [stdout] 172 + Function((), (), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:173:11 [INFO] [stdout] | [INFO] [stdout] 173 | Tuple(Vec, Span), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, 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] 173 - Tuple(Vec, Span), [INFO] [stdout] 173 + Tuple((), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:174:10 [INFO] [stdout] | [INFO] [stdout] 174 | List(Box, Span), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `TypeAnnotation` has derived impls for the traits `Clone` and `Debug`, 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] 174 - List(Box, Span), [INFO] [stdout] 174 + List((), Span), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `3` is never read [INFO] [stdout] --> src/ast.rs:180:48 [INFO] [stdout] | [INFO] [stdout] 180 | Let(Pattern, Option, Expr, Span), [INFO] [stdout] | --- field in this variant ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Decl` has derived impls for the traits `Clone` and `Debug`, 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] 180 - Let(Pattern, Option, Expr, Span), [INFO] [stdout] 180 + Let(Pattern, Option, Expr, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read [INFO] [stdout] --> src/ast.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | TypeDef(String, Vec, Vec, Span), [INFO] [stdout] | ------- ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 181 - TypeDef(String, Vec, Vec, Span), [INFO] [stdout] 181 + TypeDef((), (), (), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `fields`, and `span` are never read [INFO] [stdout] --> src/ast.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct Variant { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 188 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 189 | pub fields: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 190 | pub span: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Variant` 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: method `set` is never used [INFO] [stdout] --> src/env.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Env { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn set(&self, name: &str, value: Value) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BallsError` is never used [INFO] [stdout] --> src/error.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum BallsError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `finalize` is never used [INFO] [stdout] --> src/infer.rs:477:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Infer { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 477 | pub fn finalize(&self, ty: &Type) -> Type { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/lexer.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct Lexer<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 96 | input: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Named` and `Forall` are never constructed [INFO] [stdout] --> src/types.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Type { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | Named(String, Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | Forall(Vec, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` 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: associated function `mono` is never used [INFO] [stdout] --> src/types.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 95 | impl Scheme { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 96 | pub fn mono(ty: Type) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `apply_scheme` and `compose` are never used [INFO] [stdout] --> src/types.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl Substitution { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn apply_scheme(&self, scheme: &Scheme) -> Scheme { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn compose(&self, other: &Substitution) -> Substitution { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Constructor` is never constructed [INFO] [stdout] --> src/value.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Value { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | Constructor(String, Vec), [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] running `Command { std: "docker" "inspect" "0d2bb5312ddc5e979d73d058617ed0228073d9d32d6bfa4dede737bc79a70187", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d2bb5312ddc5e979d73d058617ed0228073d9d32d6bfa4dede737bc79a70187", kill_on_drop: false }` [INFO] [stdout] 0d2bb5312ddc5e979d73d058617ed0228073d9d32d6bfa4dede737bc79a70187