[INFO] updating cached repository https://github.com/zesterer/bread [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/zesterer/bread [INFO] [stderr] 139da7c..9efac71 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9efac712e72213d649567bd9507b3472dd9a369c [INFO] checking zesterer/bread against try#8a749131e7beb72f6edacefd2bdcbed3d67b2112 for pr-72331 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzesterer%2Fbread" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/zesterer/bread on toolchain 8a749131e7beb72f6edacefd2bdcbed3d67b2112 [INFO] running `"/workspace/cargo-home/bin/cargo" "+8a749131e7beb72f6edacefd2bdcbed3d67b2112" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/zesterer/bread [INFO] finished tweaking git repo https://github.com/zesterer/bread [INFO] tweaked toml for git repo https://github.com/zesterer/bread written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/zesterer/bread already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+8a749131e7beb72f6edacefd2bdcbed3d67b2112" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+8a749131e7beb72f6edacefd2bdcbed3d67b2112" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0237dab77d2d1eac54cc9a6aa4e4196b85cfe62387ad81efa5d31f3ceafb4681 [INFO] running `"docker" "start" "-a" "0237dab77d2d1eac54cc9a6aa4e4196b85cfe62387ad81efa5d31f3ceafb4681"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Compiling memchr v2.3.0 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking unicode-segmentation v1.6.0 [INFO] [stderr] Checking parze v0.1.0 (https://github.com/zesterer/parze-new.git#d42e00db) [INFO] [stderr] Compiling im-rc v14.1.0 [INFO] [stderr] Checking thread-id v3.3.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking dirs-sys v0.3.4 [INFO] [stderr] Checking unreachable v0.1.1 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking rand_xoshiro v0.4.0 [INFO] [stderr] Checking thread_local v0.3.3 [INFO] [stderr] Checking nanbox v0.2.0 [INFO] [stderr] Checking state v0.4.1 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking bitmaps v2.0.0 [INFO] [stderr] Checking tinyset v0.4.2 [INFO] [stderr] Checking sized-chunks v0.5.1 [INFO] [stderr] Checking rustyline v6.0.0 [INFO] [stderr] Checking internment v0.3.12 [INFO] [stderr] Checking tao v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/hir/mod.rs:809:13 [INFO] [stderr] | [INFO] [stderr] 809 | Pat::Tuple(items) => Pat::Tuple(items [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mir.rs:400:13 [INFO] [stderr] | [INFO] [stderr] 400 | expr => todo!("{:?}", expr), [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mir.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | ty => todo!("{:?}", ty), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/vm/compile.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | expr => todo!("{:?}", expr), [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `global` [INFO] [stderr] --> src/main.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | for global in mir_prog.globals() { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:230:32 [INFO] [stderr] | [INFO] [stderr] 230 | .or(just('<').map(|sc| Token::Op(Op::Less))) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:231:32 [INFO] [stderr] | [INFO] [stderr] 231 | .or(just('>').map(|sc| Token::Op(Op::More))) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:232:32 [INFO] [stderr] | [INFO] [stderr] 232 | .or(just('!').map(|sc| Token::Op(Op::Not))) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:233:32 [INFO] [stderr] | [INFO] [stderr] 233 | .or(just(',').map(|sc| Token::Comma)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:234:32 [INFO] [stderr] | [INFO] [stderr] 234 | .or(just(':').map(|sc| Token::Colon)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:235:32 [INFO] [stderr] | [INFO] [stderr] 235 | .or(just('.').map(|sc| Token::Dot)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:236:32 [INFO] [stderr] | [INFO] [stderr] 236 | .or(just('?').map(|sc| Token::QuestionMark)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:237:32 [INFO] [stderr] | [INFO] [stderr] 237 | .or(just('|').map(|sc| Token::Pipe)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tokens` [INFO] [stderr] --> src/lex.rs:142:32 [INFO] [stderr] | [INFO] [stderr] 142 | Token::Tree(delim, tokens) => write!(f, "{}...{}", delim.left(), delim.right()), [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from_a` [INFO] [stderr] --> src/src.rs:133:26 [INFO] [stderr] | [INFO] [stderr] 133 | (Span::Range(from_a, until_a), Span::Range(from_b, until_b)) => [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from_b` [INFO] [stderr] --> src/src.rs:133:56 [INFO] [stderr] | [INFO] [stderr] 133 | (Span::Range(from_a, until_a), Span::Range(from_b, until_b)) => [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/src.rs:204:15 [INFO] [stderr] | [INFO] [stderr] 204 | fn single(index: usize, sym: &SrcNode) -> Self { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/error.rs:34:25 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn at(mut self, span: Span) -> Self { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `other` [INFO] [stderr] --> src/error.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn merge(mut self, mut other: Self) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thing` [INFO] [stderr] --> src/error.rs:79:27 [INFO] [stderr] | [INFO] [stderr] 79 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thing` [INFO] [stderr] --> src/error.rs:110:27 [INFO] [stderr] | [INFO] [stderr] 110 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end_col` [INFO] [stderr] --> src/error.rs:134:62 [INFO] [stderr] | [INFO] [stderr] 134 | if let Some(((start_line, start_col), (end_line, end_col))) = span_iter [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/error.rs:177:46 [INFO] [stderr] | [INFO] [stderr] 177 | ... if let Some((span, is_primary)) = span_iter [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `atom` [INFO] [stderr] --> src/ast.rs:203:21 [INFO] [stderr] | [INFO] [stderr] 203 | let atom = atom.link(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_atom` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `paren_ty_list` [INFO] [stderr] --> src/ast.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | let paren_ty_list = nested_parser( [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paren_ty_list` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/ast.rs:692:61 [INFO] [stderr] | [INFO] [stderr] 692 | .map_with_span(|(((name, generics), ty), body), span| Decl::Def(Def { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/ast.rs:706:53 [INFO] [stderr] | [INFO] [stderr] 706 | .map_with_span(|((name, generics), ty), span| Decl::TypeAlias(TypeAlias { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/ast.rs:719:58 [INFO] [stderr] | [INFO] [stderr] 719 | .map_with_span(|((name, generics), data_ty), span| Decl::Data(Data { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `module` [INFO] [stderr] --> src/ast.rs:670:13 [INFO] [stderr] | [INFO] [stderr] 670 | let module = module.link(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `iter` [INFO] [stderr] --> src/ty.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | let iter = match &**self { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `global_span` [INFO] [stderr] --> src/hir/mod.rs:228:48 [INFO] [stderr] | [INFO] [stderr] 228 | .unwrap_or_else(|| Ok(if let Some((global_span, generics, hint)) = self.globals.0.get(&ident) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:349:35 [INFO] [stderr] | [INFO] [stderr] 349 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:349:52 [INFO] [stderr] | [INFO] [stderr] 349 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:349:55 [INFO] [stderr] | [INFO] [stderr] 349 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:365:35 [INFO] [stderr] | [INFO] [stderr] 365 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:365:52 [INFO] [stderr] | [INFO] [stderr] 365 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:365:55 [INFO] [stderr] | [INFO] [stderr] 365 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:380:35 [INFO] [stderr] | [INFO] [stderr] 380 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:380:52 [INFO] [stderr] | [INFO] [stderr] 380 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:380:55 [INFO] [stderr] | [INFO] [stderr] 380 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:396:35 [INFO] [stderr] | [INFO] [stderr] 396 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Char), TypeInfo::Primitive(Primitive::Char))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:396:52 [INFO] [stderr] | [INFO] [stderr] 396 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Char), TypeInfo::Primitive(Primitive::Char))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:396:55 [INFO] [stderr] | [INFO] [stderr] 396 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Char), TypeInfo::Primitive(Primitive::Char))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:412:55 [INFO] [stderr] | [INFO] [stderr] 412 | ... Some(|this: &mut Self, a, b| { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ty` [INFO] [stderr] --> src/hir/infer.rs:521:21 [INFO] [stderr] | [INFO] [stderr] 521 | Unknown(ty) => return Err(ReconstructError::Unknown(id)), [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entry` [INFO] [stderr] --> src/mir.rs:308:13 [INFO] [stderr] | [INFO] [stderr] 308 | let entry = this.instantiate_def(prog, entry, Vec::new()); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/vm/compile.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | Literal::String(x) => todo!(), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn at(mut self, span: Span) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:39:18 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn merge(mut self, mut other: Self) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn merge(mut self, mut other: Self) -> Self { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hir/mod.rs:353:17 [INFO] [stderr] | [INFO] [stderr] 353 | let mut body = ast_def.body.to_hir(&data, &mut infer, &scope)?; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/hir/mod.rs:809:13 [INFO] [stderr] | [INFO] [stderr] 809 | Pat::Tuple(items) => Pat::Tuple(items [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mir.rs:400:13 [INFO] [stderr] | [INFO] [stderr] 400 | expr => todo!("{:?}", expr), [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mir.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | ty => todo!("{:?}", ty), [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/vm/compile.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | expr => todo!("{:?}", expr), [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `global` [INFO] [stderr] --> src/main.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | for global in mir_prog.globals() { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_global` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:230:32 [INFO] [stderr] | [INFO] [stderr] 230 | .or(just('<').map(|sc| Token::Op(Op::Less))) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:231:32 [INFO] [stderr] | [INFO] [stderr] 231 | .or(just('>').map(|sc| Token::Op(Op::More))) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:232:32 [INFO] [stderr] | [INFO] [stderr] 232 | .or(just('!').map(|sc| Token::Op(Op::Not))) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:233:32 [INFO] [stderr] | [INFO] [stderr] 233 | .or(just(',').map(|sc| Token::Comma)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:234:32 [INFO] [stderr] | [INFO] [stderr] 234 | .or(just(':').map(|sc| Token::Colon)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:235:32 [INFO] [stderr] | [INFO] [stderr] 235 | .or(just('.').map(|sc| Token::Dot)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:236:32 [INFO] [stderr] | [INFO] [stderr] 236 | .or(just('?').map(|sc| Token::QuestionMark)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sc` [INFO] [stderr] --> src/lex.rs:237:32 [INFO] [stderr] | [INFO] [stderr] 237 | .or(just('|').map(|sc| Token::Pipe)) [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tokens` [INFO] [stderr] --> src/lex.rs:142:32 [INFO] [stderr] | [INFO] [stderr] 142 | Token::Tree(delim, tokens) => write!(f, "{}...{}", delim.left(), delim.right()), [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from_a` [INFO] [stderr] --> src/src.rs:133:26 [INFO] [stderr] | [INFO] [stderr] 133 | (Span::Range(from_a, until_a), Span::Range(from_b, until_b)) => [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from_b` [INFO] [stderr] --> src/src.rs:133:56 [INFO] [stderr] | [INFO] [stderr] 133 | (Span::Range(from_a, until_a), Span::Range(from_b, until_b)) => [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/src.rs:204:15 [INFO] [stderr] | [INFO] [stderr] 204 | fn single(index: usize, sym: &SrcNode) -> Self { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/error.rs:34:25 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn at(mut self, span: Span) -> Self { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `other` [INFO] [stderr] --> src/error.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn merge(mut self, mut other: Self) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thing` [INFO] [stderr] --> src/error.rs:79:27 [INFO] [stderr] | [INFO] [stderr] 79 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thing` [INFO] [stderr] --> src/error.rs:110:27 [INFO] [stderr] | [INFO] [stderr] 110 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_thing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end_col` [INFO] [stderr] --> src/error.rs:134:62 [INFO] [stderr] | [INFO] [stderr] 134 | if let Some(((start_line, start_col), (end_line, end_col))) = span_iter [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_col` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/error.rs:177:46 [INFO] [stderr] | [INFO] [stderr] 177 | ... if let Some((span, is_primary)) = span_iter [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `atom` [INFO] [stderr] --> src/ast.rs:203:21 [INFO] [stderr] | [INFO] [stderr] 203 | let atom = atom.link(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_atom` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `paren_ty_list` [INFO] [stderr] --> src/ast.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | let paren_ty_list = nested_parser( [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paren_ty_list` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/ast.rs:692:61 [INFO] [stderr] | [INFO] [stderr] 692 | .map_with_span(|(((name, generics), ty), body), span| Decl::Def(Def { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/ast.rs:706:53 [INFO] [stderr] | [INFO] [stderr] 706 | .map_with_span(|((name, generics), ty), span| Decl::TypeAlias(TypeAlias { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/ast.rs:719:58 [INFO] [stderr] | [INFO] [stderr] 719 | .map_with_span(|((name, generics), data_ty), span| Decl::Data(Data { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `module` [INFO] [stderr] --> src/ast.rs:670:13 [INFO] [stderr] | [INFO] [stderr] 670 | let module = module.link(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `iter` [INFO] [stderr] --> src/ty.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | let iter = match &**self { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `global_span` [INFO] [stderr] --> src/hir/mod.rs:228:48 [INFO] [stderr] | [INFO] [stderr] 228 | .unwrap_or_else(|| Ok(if let Some((global_span, generics, hint)) = self.globals.0.get(&ident) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_global_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:349:35 [INFO] [stderr] | [INFO] [stderr] 349 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:349:52 [INFO] [stderr] | [INFO] [stderr] 349 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:349:55 [INFO] [stderr] | [INFO] [stderr] 349 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:365:35 [INFO] [stderr] | [INFO] [stderr] 365 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:365:52 [INFO] [stderr] | [INFO] [stderr] 365 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:365:55 [INFO] [stderr] | [INFO] [stderr] 365 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Number), TypeInfo::Primitive(Primitive::Number))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:380:35 [INFO] [stderr] | [INFO] [stderr] 380 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:380:52 [INFO] [stderr] | [INFO] [stderr] 380 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:380:55 [INFO] [stderr] | [INFO] [stderr] 380 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Boolean))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this` [INFO] [stderr] --> src/hir/infer.rs:396:35 [INFO] [stderr] | [INFO] [stderr] 396 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Char), TypeInfo::Primitive(Primitive::Char))) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_this` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/hir/infer.rs:396:52 [INFO] [stderr] | [INFO] [stderr] 396 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Char), TypeInfo::Primitive(Primitive::Char))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:396:55 [INFO] [stderr] | [INFO] [stderr] 396 | ... Some(|this: &mut Self, a, b| (TypeInfo::Primitive(Primitive::Boolean), TypeInfo::Primitive(Primitive::Char), TypeInfo::Primitive(Primitive::Char))) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/hir/infer.rs:412:55 [INFO] [stderr] | [INFO] [stderr] 412 | ... Some(|this: &mut Self, a, b| { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ty` [INFO] [stderr] --> src/hir/infer.rs:521:21 [INFO] [stderr] | [INFO] [stderr] 521 | Unknown(ty) => return Err(ReconstructError::Unknown(id)), [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_ty` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entry` [INFO] [stderr] --> src/mir.rs:308:13 [INFO] [stderr] | [INFO] [stderr] 308 | let entry = this.instantiate_def(prog, entry, Vec::new()); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/vm/compile.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | Literal::String(x) => todo!(), [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `number` [INFO] [stderr] --> src/hir/infer.rs:584:46 [INFO] [stderr] | [INFO] [stderr] 572 | let number = Primitive::Number; [INFO] [stderr] | ------ move occurs because `number` has type `ty::Primitive`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 575 | let a = ctx.insert(TypeInfo::Primitive(number), Span::none()); [INFO] [stderr] | ------ value moved here [INFO] [stderr] ... [INFO] [stderr] 584 | SrcNode::new(Type::Primitive(number), Span::none()), [INFO] [stderr] | ^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `boolean` [INFO] [stderr] --> src/hir/infer.rs:585:46 [INFO] [stderr] | [INFO] [stderr] 573 | let boolean = Primitive::Boolean; [INFO] [stderr] | ------- move occurs because `boolean` has type `ty::Primitive`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 578 | let d = ctx.insert(TypeInfo::Primitive(boolean), Span::none()); [INFO] [stderr] | ------- value moved here [INFO] [stderr] ... [INFO] [stderr] 585 | SrcNode::new(Type::Primitive(boolean), Span::none()), [INFO] [stderr] | ^^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] error[E0382]: use of moved value: `number` [INFO] [stderr] --> src/hir/infer.rs:606:53 [INFO] [stderr] | [INFO] [stderr] 595 | let number = Primitive::Number; [INFO] [stderr] | ------ move occurs because `number` has type `ty::Primitive`, which does not implement the `Copy` trait [INFO] [stderr] ... [INFO] [stderr] 599 | let c = ctx.insert(TypeInfo::Primitive(number), Span::none()); [INFO] [stderr] | ------ value moved here [INFO] [stderr] ... [INFO] [stderr] 606 | Type::List(SrcNode::new(Type::Primitive(number), Span::none())), [INFO] [stderr] | ^^^^^^ value used here after move [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/vm/builder.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn link(mut self, program: &mut Program) -> (CodeAddr, Vec<(CodeAddr, mir::DefId)>) { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn at(mut self, span: Span) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:39:18 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn merge(mut self, mut other: Self) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn merge(mut self, mut other: Self) -> Self { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | fn expected(mut self, thing: Self::Thing) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/vm/vm.rs:8:20 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn execute(mut self, prog: &Program) -> Value { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/vm/vm.rs:34:25 [INFO] [stderr] | [INFO] [stderr] 34 | let mut env = (0..n).map(|_| expr_stack.pop().unwrap()).collect(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors; 56 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0382`. [INFO] [stderr] error: could not compile `tao`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hir/mod.rs:353:17 [INFO] [stderr] | [INFO] [stderr] 353 | let mut body = ast_def.body.to_hir(&data, &mut infer, &scope)?; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/vm/builder.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn link(mut self, program: &mut Program) -> (CodeAddr, Vec<(CodeAddr, mir::DefId)>) { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/vm/vm.rs:8:20 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn execute(mut self, prog: &Program) -> Value { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/vm/vm.rs:34:25 [INFO] [stderr] | [INFO] [stderr] 34 | let mut env = (0..n).map(|_| expr_stack.pop().unwrap()).collect(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `start` [INFO] [stderr] --> src/src.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | pub const fn start() -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `prev` [INFO] [stderr] --> src/src.rs:43:18 [INFO] [stderr] | [INFO] [stderr] 43 | pub const fn prev(self) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `later_than` [INFO] [stderr] --> src/src.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn later_than(self, other: Self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `extend_to` [INFO] [stderr] --> src/src.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn extend_to(self, limit: Loc) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `homogenize` [INFO] [stderr] --> src/src.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn homogenize(self, other: Self) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `later_than` [INFO] [stderr] --> src/src.rs:131:12 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn later_than(self, other: Self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `earliest` [INFO] [stderr] --> src/src.rs:139:12 [INFO] [stderr] | [INFO] [stderr] 139 | pub fn earliest(self, other: Self) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `map_inner` [INFO] [stderr] --> src/node.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn map_inner(self, f: impl FnOnce(T) -> V) -> Node { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `as_ref` [INFO] [stderr] --> src/node.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn as_ref(&self) -> Node<&T, U> where U: Clone { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `attr_mut` [INFO] [stderr] --> src/node.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn attr_mut(&mut self) -> &mut U { &mut self.1 } [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `at` [INFO] [stderr] --> src/error.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn at(mut self, span: Span) -> Self { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `parts` [INFO] [stderr] --> src/ast.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn parts(&self) -> &[Ident] { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Constructor` [INFO] [stderr] --> src/ast.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | Constructor(SrcNode, SrcNode), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Sum` [INFO] [stderr] --> src/mir.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Sum(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 70 warnings emitted [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "0237dab77d2d1eac54cc9a6aa4e4196b85cfe62387ad81efa5d31f3ceafb4681"` [INFO] running `"docker" "rm" "-f" "0237dab77d2d1eac54cc9a6aa4e4196b85cfe62387ad81efa5d31f3ceafb4681"` [INFO] [stdout] 0237dab77d2d1eac54cc9a6aa4e4196b85cfe62387ad81efa5d31f3ceafb4681