[INFO] cloning repository https://github.com/cemreefe/dust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cemreefe/dust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcemreefe%2Fdust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcemreefe%2Fdust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c3133ed1e09113e954ad9d6332e9195f45893957
[INFO] checking cemreefe/dust against e5e97e3ef0ee95d34bea49cdac051ed1bbac01df for pr-158759-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcemreefe%2Fdust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cemreefe/dust
[INFO] finished tweaking git repo https://github.com/cemreefe/dust
[INFO] tweaked toml for git repo https://github.com/cemreefe/dust written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cemreefe/dust on toolchain e5e97e3ef0ee95d34bea49cdac051ed1bbac01df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cemreefe/dust 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" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "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-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e
[INFO] running `Command { std: "docker" "start" "e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking dust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `parse_comma_separated_idents` is never used
[INFO] [stdout]     --> src/parser/mod.rs:1152:8
[INFO] [stdout]      |
[INFO] [stdout]   23 | impl<'a> Parser<'a> {
[INFO] [stdout]      | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1152 |     fn parse_comma_separated_idents(&mut self) -> Result<Vec<String>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_primitive` is never used
[INFO] [stdout]   --> src/parser/ast.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Ty {
[INFO] [stdout]    | ------- method in this implementation
[INFO] [stdout] 12 |     pub fn is_primitive(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Param {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 30 |     pub col: usize,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Param` 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: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     BinOp {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 54 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 55 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:57:45
[INFO] [stdout]    |
[INFO] [stdout] 57 |     UnaryOp { op: UnaryOp, expr: Box<Expr>, line: usize, col: usize },
[INFO] [stdout]    |     ------- fields in this variant          ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     Call {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 62 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 63 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     FieldAccess {
[INFO] [stdout]    |     ----------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 68 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 69 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     Path {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 73 |         segments: Vec<String>,
[INFO] [stdout] 74 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 75 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     StructLit {
[INFO] [stdout]    |     --------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 82 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 83 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     If {
[INFO] [stdout]    |     -- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 90 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 91 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     Match {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 96 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 97 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Closure {
[INFO] [stdout]     |     ------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 105 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 106 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     IfLet {
[INFO] [stdout]     |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 115 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 116 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     Block {
[INFO] [stdout]     |     ----- fields in this variant
[INFO] [stdout] 120 |         stmts: Vec<Stmt>,
[INFO] [stdout] 121 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 122 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |     Return(Option<Box<Expr>>, usize, usize),
[INFO] [stdout]     |     ------                    ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 125 -     Return(Option<Box<Expr>>, usize, usize),
[INFO] [stdout] 125 +     Return(Option<Box<Expr>>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:128:20
[INFO] [stdout]     |
[INFO] [stdout] 128 |     Try(Box<Expr>, usize, usize),
[INFO] [stdout]     |     ---            ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 128 -     Try(Box<Expr>, usize, usize),
[INFO] [stdout] 128 +     Try(Box<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     Unwrap(Box<Expr>, usize, usize),
[INFO] [stdout]     |     ------            ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 130 -     Unwrap(Box<Expr>, usize, usize),
[INFO] [stdout] 130 +     Unwrap(Box<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Await(Box<Expr>, usize, usize),
[INFO] [stdout]     |     -----            ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 133 -     Await(Box<Expr>, usize, usize),
[INFO] [stdout] 133 +     Await(Box<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:136:26
[INFO] [stdout]     |
[INFO] [stdout] 136 |     Macro { raw: String, line: usize, col: usize },
[INFO] [stdout]     |     -----                ^^^^         ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 |     Turbofish { inner: Box<Expr>, type_args: String, line: usize, col: usize },
[INFO] [stdout]     |     --------- fields in this variant                 ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |     Index { obj: Box<Expr>, idx: Box<Expr>, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant            ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:145:37
[INFO] [stdout]     |
[INFO] [stdout] 145 |     Cast { expr: Box<Expr>, ty: Ty, line: usize, col: usize },
[INFO] [stdout]     |     ---- fields in this variant     ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:152:35
[INFO] [stdout]     |
[INFO] [stdout] 152 |     VecLit { items: Vec<VecItem>, line: usize, col: usize },
[INFO] [stdout]     |     ------ fields in this variant ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:155:52
[INFO] [stdout]     |
[INFO] [stdout] 155 |     VecRepeat { elem: Box<Expr>, count: Box<Expr>, line: usize, col: usize },
[INFO] [stdout]     |     --------- fields in this variant               ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Assign` is never constructed
[INFO] [stdout]    --> src/parser/ast.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum BinOp {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 170 |     Assign,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinOp` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:185:56
[INFO] [stdout]     |
[INFO] [stdout] 185 |     Let   { name: String, ty: Option<Ty>, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     --- fields in this variant                         ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:186:56
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Const { name: String, ty: Option<Ty>, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant                       ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:187:56
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Mut   { name: String, ty: Option<Ty>, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     --- fields in this variant                         ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:196:26
[INFO] [stdout]     |
[INFO] [stdout] 196 |     Return(Option<Expr>, usize, usize),
[INFO] [stdout]     |     ------               ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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] 196 -     Return(Option<Expr>, usize, usize),
[INFO] [stdout] 196 +     Return(Option<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     TryCatch {
[INFO] [stdout]     |     -------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 202 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 203 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |     For {
[INFO] [stdout]     |     --- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 210 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 211 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:214:59
[INFO] [stdout]     |
[INFO] [stdout] 214 |     While    { cond: Expr,               body: Vec<Stmt>, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant                          ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:215:61
[INFO] [stdout]     |
[INFO] [stdout] 215 |     WhileLet { pattern: Expr, value: Expr, body: Vec<Stmt>, line: usize, col: usize },
[INFO] [stdout]     |     -------- fields in this variant                         ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `0` and `1` are never read
[INFO] [stdout]    --> src/parser/ast.rs:217:11
[INFO] [stdout]     |
[INFO] [stdout] 217 |     Break(usize, usize),
[INFO] [stdout]     |     ----- ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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] 217 -     Break(usize, usize),
[INFO] [stdout] 217 +     Break((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/parser/ast.rs:218:14
[INFO] [stdout]     |
[INFO] [stdout] 218 |     Continue(usize, usize),
[INFO] [stdout]     |     -------- ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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] 218 -     Continue(usize, usize),
[INFO] [stdout] 218 +     Continue((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:221:25
[INFO] [stdout]     |
[INFO] [stdout] 221 |     Use { path: String, line: usize, col: usize },
[INFO] [stdout]     |     ---                 ^^^^         ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct Field {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 231 |     pub col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Field` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub struct Method {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 246 |     pub col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Method` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct Variant {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 255 |     pub col: usize,
[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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:261:40
[INFO] [stdout]     |
[INFO] [stdout] 261 |     Const { name: String, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant       ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |     Fn {
[INFO] [stdout]     |     -- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 270 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 271 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:281:9
[INFO] [stdout]     |
[INFO] [stdout] 273 |     Struct {
[INFO] [stdout]     |     ------ fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 281 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 282 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     Trait {
[INFO] [stdout]     |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 288 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 289 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 291 |     Enum {
[INFO] [stdout]     |     ---- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 296 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 297 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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 `needs_mut` is never used
[INFO] [stdout]    --> src/semantic/mod.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Ctx {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn needs_mut(&self, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maybe_insert_clone` is never used
[INFO] [stdout]    --> src/semantic/mod.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn maybe_insert_clone(expr: &mut Expr) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binding_needs_mut` is never used
[INFO] [stdout]    --> src/semantic/mod.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn binding_needs_mut(name: &str, stmts: &[Stmt]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_comma_separated_idents` is never used
[INFO] [stdout]     --> src/parser/mod.rs:1152:8
[INFO] [stdout]      |
[INFO] [stdout]   23 | impl<'a> Parser<'a> {
[INFO] [stdout]      | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1152 |     fn parse_comma_separated_idents(&mut self) -> Result<Vec<String>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_primitive` is never used
[INFO] [stdout]   --> src/parser/ast.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Ty {
[INFO] [stdout]    | ------- method in this implementation
[INFO] [stdout] 12 |     pub fn is_primitive(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Param {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 30 |     pub col: usize,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Param` 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: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     BinOp {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 54 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 55 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:57:45
[INFO] [stdout]    |
[INFO] [stdout] 57 |     UnaryOp { op: UnaryOp, expr: Box<Expr>, line: usize, col: usize },
[INFO] [stdout]    |     ------- fields in this variant          ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     Call {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 62 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 63 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     FieldAccess {
[INFO] [stdout]    |     ----------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 68 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 69 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     Path {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 73 |         segments: Vec<String>,
[INFO] [stdout] 74 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 75 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     StructLit {
[INFO] [stdout]    |     --------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 82 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 83 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     If {
[INFO] [stdout]    |     -- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 90 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 91 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]   --> src/parser/ast.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     Match {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 96 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 97 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Closure {
[INFO] [stdout]     |     ------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 105 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 106 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     IfLet {
[INFO] [stdout]     |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 115 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 116 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     Block {
[INFO] [stdout]     |     ----- fields in this variant
[INFO] [stdout] 120 |         stmts: Vec<Stmt>,
[INFO] [stdout] 121 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 122 |         col: usize,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |     Return(Option<Box<Expr>>, usize, usize),
[INFO] [stdout]     |     ------                    ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 125 -     Return(Option<Box<Expr>>, usize, usize),
[INFO] [stdout] 125 +     Return(Option<Box<Expr>>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:128:20
[INFO] [stdout]     |
[INFO] [stdout] 128 |     Try(Box<Expr>, usize, usize),
[INFO] [stdout]     |     ---            ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 128 -     Try(Box<Expr>, usize, usize),
[INFO] [stdout] 128 +     Try(Box<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     Unwrap(Box<Expr>, usize, usize),
[INFO] [stdout]     |     ------            ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 130 -     Unwrap(Box<Expr>, usize, usize),
[INFO] [stdout] 130 +     Unwrap(Box<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Await(Box<Expr>, usize, usize),
[INFO] [stdout]     |     -----            ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 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] 133 -     Await(Box<Expr>, usize, usize),
[INFO] [stdout] 133 +     Await(Box<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:136:26
[INFO] [stdout]     |
[INFO] [stdout] 136 |     Macro { raw: String, line: usize, col: usize },
[INFO] [stdout]     |     -----                ^^^^         ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 |     Turbofish { inner: Box<Expr>, type_args: String, line: usize, col: usize },
[INFO] [stdout]     |     --------- fields in this variant                 ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |     Index { obj: Box<Expr>, idx: Box<Expr>, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant            ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:145:37
[INFO] [stdout]     |
[INFO] [stdout] 145 |     Cast { expr: Box<Expr>, ty: Ty, line: usize, col: usize },
[INFO] [stdout]     |     ---- fields in this variant     ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:152:35
[INFO] [stdout]     |
[INFO] [stdout] 152 |     VecLit { items: Vec<VecItem>, line: usize, col: usize },
[INFO] [stdout]     |     ------ fields in this variant ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:155:52
[INFO] [stdout]     |
[INFO] [stdout] 155 |     VecRepeat { elem: Box<Expr>, count: Box<Expr>, line: usize, col: usize },
[INFO] [stdout]     |     --------- fields in this variant               ^^^^         ^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Assign` is never constructed
[INFO] [stdout]    --> src/parser/ast.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum BinOp {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 170 |     Assign,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinOp` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:185:56
[INFO] [stdout]     |
[INFO] [stdout] 185 |     Let   { name: String, ty: Option<Ty>, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     --- fields in this variant                         ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:186:56
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Const { name: String, ty: Option<Ty>, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant                       ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:187:56
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Mut   { name: String, ty: Option<Ty>, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     --- fields in this variant                         ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `1` and `2` are never read
[INFO] [stdout]    --> src/parser/ast.rs:196:26
[INFO] [stdout]     |
[INFO] [stdout] 196 |     Return(Option<Expr>, usize, usize),
[INFO] [stdout]     |     ------               ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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] 196 -     Return(Option<Expr>, usize, usize),
[INFO] [stdout] 196 +     Return(Option<Expr>, (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     TryCatch {
[INFO] [stdout]     |     -------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 202 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 203 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |     For {
[INFO] [stdout]     |     --- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 210 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 211 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:214:59
[INFO] [stdout]     |
[INFO] [stdout] 214 |     While    { cond: Expr,               body: Vec<Stmt>, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant                          ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:215:61
[INFO] [stdout]     |
[INFO] [stdout] 215 |     WhileLet { pattern: Expr, value: Expr, body: Vec<Stmt>, line: usize, col: usize },
[INFO] [stdout]     |     -------- fields in this variant                         ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `0` and `1` are never read
[INFO] [stdout]    --> src/parser/ast.rs:217:11
[INFO] [stdout]     |
[INFO] [stdout] 217 |     Break(usize, usize),
[INFO] [stdout]     |     ----- ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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] 217 -     Break(usize, usize),
[INFO] [stdout] 217 +     Break((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/parser/ast.rs:218:14
[INFO] [stdout]     |
[INFO] [stdout] 218 |     Continue(usize, usize),
[INFO] [stdout]     |     -------- ^^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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] 218 -     Continue(usize, usize),
[INFO] [stdout] 218 +     Continue((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:221:25
[INFO] [stdout]     |
[INFO] [stdout] 221 |     Use { path: String, line: usize, col: usize },
[INFO] [stdout]     |     ---                 ^^^^         ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct Field {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 231 |     pub col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Field` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub struct Method {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 246 |     pub col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Method` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct Variant {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 255 |     pub col: usize,
[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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:261:40
[INFO] [stdout]     |
[INFO] [stdout] 261 |     Const { name: String, value: Expr, line: usize, col: usize },
[INFO] [stdout]     |     ----- fields in this variant       ^^^^         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |     Fn {
[INFO] [stdout]     |     -- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 270 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 271 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:281:9
[INFO] [stdout]     |
[INFO] [stdout] 273 |     Struct {
[INFO] [stdout]     |     ------ fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 281 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 282 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     Trait {
[INFO] [stdout]     |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 288 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 289 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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: fields `line` and `col` are never read
[INFO] [stdout]    --> src/parser/ast.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 291 |     Enum {
[INFO] [stdout]     |     ---- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 296 |         line: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 297 |         col: usize,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Item` 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 `needs_mut` is never used
[INFO] [stdout]    --> src/semantic/mod.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Ctx {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn needs_mut(&self, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maybe_insert_clone` is never used
[INFO] [stdout]    --> src/semantic/mod.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn maybe_insert_clone(expr: &mut Expr) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binding_needs_mut` is never used
[INFO] [stdout]    --> src/semantic/mod.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn binding_needs_mut(name: &str, stmts: &[Stmt]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.12s
[INFO] running `Command { std: "docker" "inspect" "e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e", kill_on_drop: false }`
[INFO] [stdout] e5f727fa91c3a9552fe59cc9f18d5362936da69224ca7f9d5a08c1ef11307b6e
